YadoriLink

ローカルファースト · ピアツーピア · オープンソース

ファイル内容を中央ストレージに置かない、フォルダー同期。

YadoriLink は、あなたのデバイス同士、そして共有相手との間でフォルダーを同期します。ファイルは暗号化されたトンネルでデバイス間を直接移動します。サービスが知るのは「あなたが誰か」「誰と共有しているか」まで — ファイルの中身は決して知りません。

pre-1.0 — 活発に開発中 · Rust · Linux / macOS / Windows

調整プレーン アカウント · デバイス ID · 共有メンバーシップ — ファイル内容は扱わない — ID のみ ID のみ ノート PC ~/work/design デスクトップ ~/work/design ファイル内容 — 直接・暗号化・ピアツーピア リレーは直接接続できない場合のフォールバック。平文は見えない設計
この分離が設計そのもの — ファイル内容はデバイス間に留まり、サービスが知るのは「誰が誰か」だけ。
01

YadoriLink を選ぶ理由

ファイルは最短経路で届く

内容はあなたのデバイスからデバイスへ直接移動します。他人のストレージを経由しません。リレーが挟まるのは直接つながらない時だけで、そのリレーも中身を読めません。

誰にも中身は読めない — 運営者にも

ホストサービスが知っているのは「あなたが誰か」「どのデバイスがどのフォルダーを共有しているか」だけ。ファイル内容はそもそもサーバーに届かないので、サーバー侵害や開示要求、詮索好きな運営者にも読めるものがありません。

どのOSでも同じ同期

macOS でも Windows でも Linux でも、同じエンジンが同じ判断をします。OS が違うせいで 2 台のマシンがコンフリクトの解決結果で食い違う、ということが起きません。

何でも自動化できる

アプリでできることはすべてスクリプトからもできます。cron からフォルダーをリンクする、CI で状態を確認する、NAS 上でヘッドレスに動かす。普段は GUI、必要な時に CLI。

信用せず、確かめられる

ファイル、鍵、ワイヤープロトコルに触れるコードはすべてオープンソース。読んで、ビルドして、自分で監査できます。

LAN でもインターネットでも、同じトンネル

デバイス間は WireGuard プロトコルの暗号化トンネルで接続します。ペアリング済みのデバイス同士なら、同一ネットワーク上ではローカルブロードキャスト / mDNS で相互発見し、インターネットに出ずに同期。インターネット越しでも、同じトンネルが経路を変えるだけです。

データロストに対するテスト

同期エンジンは決定論的シミュレーションテスト — シード付きカオスラン+データ喪失検出オラクル — で検証しています。編集が黙って消えることは、同期ツールで唯一許されないバグだからです。

02

何が違うのか

ピアツーピア同期自体は新しいものではありません。Syncthing や Resilio Sync は中央クラウドにファイル内容を置かずにフォルダーを同期しますし、Dropbox はアカウントや共有の管理をとても簡単にします。YadoriLink が目指すのは、その組み合わせです。

DropboxSyncthingYadoriLink
簡単なアカウント・招待・共有管理
ファイル内容がサーバーに保存されない
同期・転送・暗号化スタックがオープンソース
03

設計上のトレードオフ

クラウドコピー無し
共有内の全デバイスがオフラインの間、同期はどれかが戻るまで待ちます。ファイルを持つ「第三の場所」が無いことは、目的であると同時に制約でもあります。
帯域はあなたのもの
初回同期は実データがデバイス間を移動します。速度を決めるのはデータセンターではなく、あなたのデバイスの回線です。
04

現在の状態

YadoriLink は pre-1.0 です。動くもの、足りないもの:

05

はじめる

1. ダウンロードしてインストール — ビルド済みパッケージを GitHub Releases(nightly)で配布しています:

これらはテストと早期フィードバックのためのビルドです。Windows ビルドは未署名のため SmartScreen の警告が出ます。macOS ビルドは未署名・未公証です。チェックサム(SHA256SUMS)を成果物と一緒に配布しています。

2. アプリを開いてサインイン — セットアップウィザードが、Google サインイン → デバイス登録 → 共有の作成または招待コードで参加 → 最初のフォルダー選択まで案内します。もう 1 台にも同じようにインストールしてサインインすれば、同期が始まります。

ターミナル派なら、同じセットアップはコマンド 5 つです(インストーラーが yadorilink を PATH に配置します):

$ yadorilink login
$ yadorilink device register --name "my-device"
$ yadorilink share create my-share
$ yadorilink link ~/some/folder my-share
$ yadorilink status

ソースからビルドする場合は cargo build --workspace --release — 詳細は README を参照してください。