本文へスキップ
Arion

同期リレーのセルフホスト

リレーを自分のハードウェアで動かせば、暗号文さえ手元に置いておけます。

リレーは開発中で、まだリリースはありません。このページでは、前もって計画できるように設計を説明します。

リレーの役割

リレーは認証付きの暗号化レコードと、その順序を決めるリビジョンを保存し、あなたのほかのデバイスに渡します。音声を処理することはなく、平文を見ることもありません。

デバイスは暗号化した変更をまとめて送り、不透明なカーソルで受け取り、リレーを通じて登録や失効を行います。

一つのコア、二つのアカウントモード

ホスト型とセルフホストは同じコアで動きます。コアが知っているのはデバイス、エンベロープ、リビジョン、カーソルで、アカウントは知りません。その手前にアカウントゲートがあり、二つのモードがあります。

noop(セルフホストの既定):アカウントはありません。すべてのリクエストは登録済みデバイスの署名で認証されます。

oidc:OpenID Connect の発行者によるベアラートークンも求め、発行者、オーディエンス、有効期限、同期の利用権を検証し、トークンの発行者とサブジェクトをテナントに対応付けます。デバイスの署名も引き続き必要です。AstraFoundry のホスト型リレーはこのモードで動き、自分の ID プロバイダーを指定することもできます。

運用者に見えるもの

時刻、IP アドレス、デバイスとグループのルーティング識別子、暗号文のサイズです。内容は見えません。リレーのデータベースのバックアップにも暗号文しか含まれません。

動かし方

リレーは専用の PostgreSQL データベースを使う Go のサービスです。コンテナイメージ、設定リファレンス、運用手順は最初のリリースとともに公開します。

リポジトリでリレーの進捗を見る

サーバーを運用したくない場合は

AstraFoundry が同じリレーをホスト型サービスとして運用します。

ホスト型同期のウェイトリストに登録