1. catfist

    No comment

    catfist
Changes in body
Source | HTML | Preview
@@ -1,80 +1,79 @@
Windows前提。
## OneTabの中身をクロスブラウザで同期したい
- [Sync OneTab tabs on Chrome across different PC's \- Super User](https://superuser.com/questions/630975/sync-onetab-tabs-on-chrome-across-different-pcs)
- [Chrome ⇔ kinzaのインポート・エクスポートについて / 新機能や改善の要望 / Kinza 要望やバグ報告](https://bbs.kinza.jp/viewtopic.php?id=206)
KinzaはChromiumブラウザであるため、Chrome用の拡張がそのまま利用できる。従って、拡張の保持するデータは基本的に共通形式のはずである。
今回は、メインブラウザがKinzaであり、もともとChromeではOneTabを利用していなかったため、KinzaのデータをChromeにインポートする形になる。
複数ブラウザ間でOneTabの情報を同期し、かつバックアップするため、データ本体をDropboxに置いて、各ブラウザからシンボリックリンクで参照する。
## やりかた
Chrome/Kinzaの両方にOneTabをインストールする。
Chrome/Kinzaの拡張機能タブで「デベロッパーモード」にチェック。OneTabの拡張機能IDを確認する。「chlffgpmiacpedhhbkiomidkjlcfhogd」であることがわかる。
![スクリーンショット](http://i.imgur.com/wh2HpQz.png)
ChromeとKinzaを終了する。(Chromeアプリも含む)
OneTabのデータは、各ブラウザのLocal Storageディレクトリに格納されている。
c:\Users\<ユーザ名>\AppData\Local\Google\Chrome\User Data\Default\Local Storage
c:\Users\<ユーザ名>\AppData\Local\Kinza\User Data\Default\Local Storage
それぞれに、以下のファイルがあることを確認。
chrome-extension_chphlpgkkbolifaimnlloiipkdnihall_0.localstorage-journal
chrome-extension_chphlpgkkbolifaimnlloiipkdnihall_0.localstorage
Dropboxにsync\OneTab\Chromeフォルダを作成。そこにKinzaのほうから上記2ファイルを移動する。
Dropbox\sync\OneTab\Chromeから各ブラウザのUser Dataディレクトリにシンボリックリンクを貼る。
今回はMSYS2から行った。
```shell-session
$ cd "/c/Users/<ユーザ名>/AppData/Local/Google/Chrome/User Data/Default/Local Storage"
$ ln -s /c/Users/<ユーザ名>/Dropbox/sync/OneTab/Chrome/chrome-extension_chphlpgkkbolifaimnlloiipkdnihall_0.localstorage "$(pwd)"/chrome-extension_chphlpgkkbolifaimnlloiipkdnihall_0.localstorage
$ ln -s /c/Users/<ユーザ名>/Dropbox/sync/OneTab/Chrome/chrome-extension_chphlpgkkbolifaimnlloiipkdnihall_0.localstorage-journal "$(pwd)"/chrome-extension_chphlpgkkbolifaimnlloiipkdnihall_0.localstorage-journal
$ cd "/c/Users/<ユーザ名>/AppData/Local/Kinza/User Data/Default/Local Storage"
$ ln -s /c/Users/<ユーザ名>/Dropbox/sync/OneTab/Chrome/chrome-extension_chphlpgkkbolifaimnlloiipkdnihall_0.localstorage "$(pwd)"/chrome-extension_chphlpgkkbolifaimnlloiipkdnihall_0.localstorage
$ ln -s /c/Users/<ユーザ名>/Dropbox/sync/OneTab/Chrome/chrome-extension_chphlpgkkbolifaimnlloiipkdnihall_0.localstorage-journal "$(pwd)"/chrome-extension_chphlpgkkbolifaimnlloiipkdnihall_0.localstorage-journal
```
[Link Shell Extension](http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html)とか[kobake/lnhdr: リンク作成シェル拡張 \(Link Creation Shell Extension\)](https://github.com/kobake/lnhdr)を使うと簡単だと思われる。
Chrome/Kinzaを起動してOneTabの内容を確認したところ、同期できていた。
## Firefoxと同期?
やりたかったがむりぽ。
Firefoxの場合、データが以下のパスに格納されている。
C:\Users\<ユーザ名>\AppData\Roaming\Mozilla\Firefox\Profiles\5gg9n3ed.default\storage\permanent\indexeddb+++extension-at-one-tab-dot-com\idb\1832832054obnaet.sqlite
[OneTab Help - Firefox Restore](https://www.one-tab.com/firefoxRestore)だと
> 2. Log into your online backup provider or other backup system, and see if it has backed up the following
> file:
> C:\Users\Username\AppData\Roaming\Mozilla\Firefox\Profiles\Profile Folder\jetpack\extension@one-tab.com\simple-storage\store.json
とか書いてあるのだがこれは情報が古い。(参照:[Firefox のアドオン OneTab のデータ消失に備えるために Dropbox でバージョン管理 \| すぐに忘れる脳みそのためのメモ](http://jutememo.blogspot.jp/2015/06/firefox-onetab-dropbox.html))
-ともあれ、データ形式が異なるため、Firefox⇔Chrome(Chromium)間の同期は不可能な模様。Import/Exportであれば、フツーにOneTabの機能でできる。
+ともあれ、データ形式が異なるため、Firefox⇔Chrome(Chromium)間の同期は不可能な模様。
+Firefox⇔Chrome(Chromium)間のImport/Exportであれば、フツーにOneTabの機能でできる。
-とりあえずDropboxでバックアップだけしておいた。
-
-同様に、このファイルをDropbox/sync/Firefoxに移動して、シンボリックリンクを張る。
+とりあえずDropboxでバックアップだけしておきたいので、同様に、このファイルをDropbox/sync/Firefoxに移動して、シンボリックリンクを張る。
```shell-session
$ cd /c/Users/<ユーザ名>/AppData/Roaming/Mozilla/Firefox/Profiles/5gg9n3ed.default/storage/permanent/indexeddb+++extension-at-one-tab-dot-com/idb
$ ln -s /c/Users/<ユーザ名>/Dropbox/sync/OneTab/Firefox/1832832054obnaet.sqlite "$(pwd)"/1832832054obnaet.sqlite
```