同期
1 つのペアリングコードで、ライブラリ、視聴の続き、設定を同期します。データはあなたの端末で暗号化されます。アカウントは不要です。
ホスト型同期は 14 日間無料、その後は 1 世帯あたり 19 ユーロ 一度きりです。または自分のサーバーを無料で動かせます。
ペアリングコード(例)
7Q4MXK2H9CV3ZDTA8N5R
5 文字ずつ 4 組、合わせて 20 文字。設定はこれだけです。
ペアリングコード
1 つのコードを最初の端末で作り、他の端末に入力します。秘密はこれだけで、端末の外に出ることはありません。
-
同期を有効にすると Lumen がコードを作ります。他の端末に入力すれば、つながります。
-
打ち間違いは許容されます。I と L は 1、O は 0 として読み、区切り文字は無視されます。
-
コードは伏せて表示され、隣に「表示」と「コピー」が並びます。表示されるのは同期が有効な間だけです。
-
同期を無効にすると、その端末はコードを忘れます。もう一度つなぐには再入力してください。
同期されるもの
2 台目を 1 台目のように感じさせる、4 つのもの。
-
ライブラリ: 保存したタイトル、続きから視聴、視聴済みの記録。
-
視聴の続き: 各エピソードや映画のどこまで見たか。
-
アドオン: どれをインストールし、どう設定しているか。
-
プレーヤー設定: 字幕の言語、音声プリセット、再生の選択。
端末に残るもの
ペアリングコード、ウィンドウの大きさと位置、診断ログ、そしてオフライン視聴用にダウンロードしたものすべて。
リレーサーバーから見えるもの
各端末はコードから鍵を導き、送る前にすべての行を暗号化します。リレーサーバーは受け取ったものを保存するだけで、中身は一切読みません。
あなたの端末では
- entity
- watch
- key
- tt1254207:1:3
- value
- {"positionSecs":2537,…}
リレーサーバーが保存するもの
- space
- 9f3c…7b21
- entity
- x
- row
- c81a…04ef
- payload
- base64 ciphertext
- updated
- 1788462601007
領域の識別子も行の識別子も、あなたの端末しか持たない鍵から導かれます。そのためリレーサーバーは、その行がどの作品のものか知ることも、別の場所へ移すことも、端末に気づかれずに日付を変えることもできません。接続してきた端末のネットワークアドレスは、リクエストの間だけ保持され、それ以上は残りません。
当方が運用するリレーサーバーは sync.lumen.movie で動いています。別の場所を指定するまで、端末はここを使います。
同期の方法を選ぶ
当方のホスト型サーバーを使うか、自分のものを動かすか。どちらも同じ暗号化と同じペアリングコードを使います。
-
当方のリレーサーバー(sync.lumen.movie): 1 世帯あたり 14 日間無料、その後は Lumen Pass、その世帯につき 19 ユーロ 一度きり。
-
自分のリレーサーバー: 無料、ずっと、Pass も上限もなし。プログラムはアプリと並べてインストールされます。
-
どちらでも同じです。暗号化も、ペアリングコードも、同期される内容も変わりません。
-
お試し期間が終わると、止まるのは同期だけです。端末内の変更は保持され、Pass を有効にすればそのまま送られます。
サーバーは Lumen にお任せください。
運用も保守も必要なリレーサーバーを持たずに、プライベート同期の便利さをそのまま。1 つの Pass が世帯内のすべての個人の端末をカバーします。19 ユーロ、一度きりです。
Lumen Pass を見る自分のリレーサーバーを動かす
リレーサーバーが保存するものはすべて暗号化されています。つまり自分で動かすと、誰がバイト列を持つかは変わりますが、誰が読めるかは変わりません。
-
リレーサーバーを起動する
Lumen はアプリと並べて lumen-relay.exe を %LOCALAPPDATA%\Programs\Lumen にインストールします。端末から届くマシンで実行してください。ポート 7345 で待ち受け、データは隣の lumen-relay.db に保持します。
lumen-relay.exe --port 7345 -
TLS の内側に置く
リバースプロキシで TLS を終端します。経路は 2 つしかないので、それ以外はすべて 404 を返して構いません。当方が使っている Caddy の設定はこちらです:
sync.example.com { encode gzip handle /v1/health { reverse_proxy 127.0.0.1:7345 } handle /v1/sync { reverse_proxy 127.0.0.1:7345 } handle { respond 404 } } -
端末の向き先を変える
各端末で: 設定、デバイス間の同期、詳細設定、リレーのアドレス。自分のサーバーの https アドレスを入力します。リセットすると内蔵のものに戻ります。
curl https://sync.example.com/v1/healthhealth の経路は ok を返します。
Docker
Linux 向けの出来合いのイメージを公開しました。amd64 と arm64 の両方に対応しているので、Raspberry Pi や NAS でもサーバーと同じように動きます。中身は空のベースイメージに置いた静的バイナリひとつだけで、ダウンロードは約 3 MB、パッチを当て続けるべき OS は入っていません。
docker run -d --name lumen-relay -p 7345:7345 \
-v lumen-relay-data:/data \
elduinar/lumen-self-host-relay
リレーは平文の HTTP を話します。自分のネットワークの外から届く前に、上と同じ TLS プロキシの後ろに置いてください。データは lumen-relay-data ボリュームに残ります。
組み込みの上限
| リクエスト本文 | 4 MiB |
|---|---|
| 1 リクエストあたりの行数 | 2000 |
| 1 行の内容 | 256 KiB |
| 1 領域あたりの行数 | 50 000 |
その領域にすでにある行の更新は常に通ります。領域ごとの上限に数えられるのは新しい行だけです。