Syncthing
関連記事
Syncthing はオープンソースのファイル同期クライアント・サーバーアプリケーションです。Go で書かれており、Block Exchange Protocol を実装しています。Syncthing ノード間のトランジットは全て暗号化され、全てのノードは暗号証明書によって一意に識別されます。
インストール
Syncthing は syncthing または syncthing-gtk パッケージでインストールできます。後者のパッケージには inotify による同期、デスクトップ通知、Nautilus や Nemo、Caja との投稿などの機能が追加されています。
インストールしたら、ターミナルから手動で syncthing バイナリを実行するか、パッケージに含まれている syncthing.service
を使って systemd/ユーザーインスタンスで起動してください:
$ systemctl --user start syncthing.service
もしくは、必要であれば syncthing@.service
を利用することもできます。この場合アクティブなユーザーセッションを必要としません。
systemd サービスは特定のユーザーで起動する必要があります。サービスに関する詳細は Autostart-syncthing with systemd を見て下さい。
syncthing を起動したら、デフォルトで localhost port 8384 からウェブインターフェイスを使うことができます。syncthing を手動で起動したときは、ブラウザで管理ページを開いて下さい。
設定
インストールしたら Syncthing はすぐに使うことができます。ウェブインターフェイスから新しいサーバーやフォルダを追加できます。シンプルなネットワークをセットアップする方法は Syncthing's getting started を読んで下さい。
最初の起動時に、~/Sync
にデフォルトリポジトリが作成されます。ウェブ管理インターフェイスで確認できます。右側が追加したノードのリストで、左側がリポジトリ(他のノードと共有するフォルダ)のリストになります。
新しくノードを追加するには、ノードのリストの下方にある "Add Node" をクリックして下さい。ノードの Node ID (他のマシンで Edit > Show ID
をクリックすることで確認できます) と名前、アドレスの入力を求められます。アドレスに "dynamic" と指定すると、syncthing アナウンスサーバーによって自動的にノード間でアドレスが交換されます。Node ID についてもっとよく知りたい場合は、適当な syncthing documentation page を読んで下さい。
設定を保存すると、syncthing サーバーを再起動するように表示されます。再起動することで変更が適用されます。
次に、デフォルトノードの設定を変更するか (名前をクリックして Edit
)、データを共有する新しいノードを作成します。データを共有したいノードにチェックを入れれば、アクセスできるようになります。
Inotify を使う
Inotify (inode notify) はファイルシステムの変更を検出してアプリケーションに変更を報告する Linux カーネルのサブシステムです。Syncthing は Inotify をサポートしていませんが、Syncthing REST API と対話する公式の拡張モジュールが存在します。Inotify を利用することで毎分ごとに再スキャンすることがなくなります。フォルダの再スキャン間隔は自動的に増えていき再スキャンを出来るだけしないようになります。Syncthing-inotify は syncthing-inotify パッケージでインストールできます。Syncthing を systemd で管理している場合、syncthing-inotify.service
は自動的に起動・停止します。
リレーの実行
バージョン 0.12 から Syncthing は2つのデバイスを直接接続できない場合に、リレーを使って接続することができるようになりました。リレーのデフォルトセットが存在するため何も設定しなくても実行できます。リレー接続は基本的に、エンドツーエンドで暗号化されるため、接続の中身を盗聴することは不可能になっています [1]。リレーを実行するには AUR から syncthing-relaysrv-gitAUR をインストールして、syncthing-relaysrv.service
サービスを起動・有効化してください。
syncthing-relaysrv-gitAUR パッケージに関する詳細は Syncthing のフォーラム にあります。
デフォルトではリレーは Syncthing のリレープール に参加して誰でも利用できる状態になります。コマンドラインフラグを使うことでレートの制限などのオプションが設定できます (syncthing-relaysrv -help
を確認してください)。コマンドラインフラグを編集するには syncthing-relaysrv.service
のドロップインスニペットを作成して ExecStart
ディレクティブを置き換えて下さい:
/etc/systemd/system/syncthing-relaysrv.service.d/override.conf
[Service] ExecStart= ExecStart=/usr/bin/syncthing-relaysrv FLAGS
トラフィックの統計はポート 22070 で閲覧できます。例: http://5.9.90.188:22070/status 。
トラブルシューティング
Debugging syncthing を見て下さい。