最近Dropboxや、BitTorrent Syncのようなファイル同期ソフトが大流行しています。「Syncthing」もそのようなファイル共有ソフトの一つ。中央サーバーを持たない分散型のファイル同期ソフトで、BitTorrent Syncと似ていますが、完全なオープンソース(MITライセンス)で開発されているところが大きな特徴です(GitHub)。
Windows / Mac / Linux /FreeBSD / Solaris といった各種OS向けのクライアントがすでに準備されているので、すぐに試すことができます。さっそくMac版を動かして同期させてみました。
Syncthingの使用方法
「Getting Started」が公式ドキュメントです。最初に目を通すことをオススメします。
ダウンロード
まず「releases」から実行ファイルをダウンロードします。今回はMacの最新版「syncthing-darwin-amd64-v0.6.6.tar.gz」をダウンロードしました。
1台目のセットアップ
中身を展開し、ターミナルから「./syncthing」を実行します。
ブラウザでWeb GUIが表示されます。画面右側の「Edit」をクリックして、Node IDをメモしておきます。
2台目のセットアップ
1台目と同様にファイルをダウンロードしてsyncthingを実行し、Web GUIを表示します。
「Add」をクリックして、1台目のNode IDを入力します。
これで終わり…かとおもいきや、1台目に2台目のIDを手動で追加する必要もあるみたいです。1台目にもどって2台目のNode IDを「Add」してください。
同期の完成
「In Sync」と表示されたら接続成功です。1台目、2台目のMacの「~/Sync」以下のファイルが自動的に同期されます。同一LAN内ならこれでOKですが、それ以外の場合、ポート22000が外部に解放されている必要があります。
もし、Disconnectと表示されて、うまく同期できない場合、ノード設定画面(Edit Node)のAddressを、「dynamic」から「192.168.0.19:22000」のように手動設定に変更してみるとうまくいくかもしれません(実際にdynamicだとうまくいかず、2台目のAddressを変更してうまくいきました。IPアドレスは変更してください)。
なお、各種設定ファイルは「~/.syncthing/config.xml」に保存されています。
まとめ
まだまだ荒削りな部分が多そうですが、オープンソースで開発されていることが意義深いと思います。「Block Exchange Protocol」というプロトコルを使ってファイルを同期しているそうなので技術的な部分に興味がある人にとっても参考になるのではないでしょうか。
今後に期待したいファイル同期ソフトだと思います。