chrome拡張ファイルシステムのバックアップ・リストアツール
google chromeのfile apiで作成したファイルは、基本的にサンドボックスの外に持ち出すことができません。とはいうものの、開発中の拡張間でファイルを移動したり、拡張は削除したいけれどファイルは残したいなど通常ファイルのように扱いたい状況はたまによくあります。ググっもそれらしい記事は見つからず、結局自分で制作することに・・・
やり方はいくつかあると思いますが、最も簡単と思われる「file apiでファイルを読み込んで外部に送信」する方法で作成しました。具体的にはローカルにバックアップ用のサーバを立て、ファイル名とbase64エンコードしたデータを合わせてhttp postします。逆にhttp getでリストアすることもできます。
今回はnode.jsにも初挑戦し、サーバ・クライアントともにjavascriptとなっているので不十分なところがあれば修正して使ってください。このツールにnode.js本体は含まれていませんが、公式サイトからnode.exeをダウンロードして同じフォルダに置くだけで使用可能です。
使い方
1.展開したツールと同じフォルダにnode.exeを設置する
2.コマンドプロンプトでサーバを起動
>node crxfs_backup_server.js
3.chrome拡張の設定ファイルmanifest.jsonのpermissionsに「http://127.0.0.1/*」を追加する
4.optionページやbackgroundページでcrxfs_backup_client.jsを読み込み、開発コンソールで
>CrxfsBackupClient.postAll(); //バックアップ
>CrxfsBackupClient.getAll(); //リストア
ダウンロード: crxfs_backup_tool.zip