Syncthing

提供: ArchWiki
2015年12月18日 (金) 20:42時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

関連記事

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 を手動で起動したときは、ブラウザで管理ページを開いて下さい。

ノート: In syncthing releases before 0.11 (or when you have updated from 0.10) the web interface is available at port 8080. Since port 8080 often conflicts with web development utilities the default port has been changed to port 8384 ('ST' in ASCII). Custom port number can be configured under "GUI Listen Addresses" in the settings, configuration from versions prior to 0.11 were not adjusted automatically.
ヒント: You can run multiple copies of syncthing, but only one instance per user as syncthing locks the database to it. Check logs for errors related to locked database.

設定

インストールしたら 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 を見て下さい。