同步
用一个配对码,让媒体库、观看进度和设置保持一致。数据在你的设备上加密。无需账号。
托管同步免费试用 14 天,之后每个家庭 19 欧元一次性付清。也可以免费运行你自己的服务器。
配对码(示例)
7Q4MXK2H9CV3ZDTA8N5R
二十个字符,分成四组,每组五个。设置就这么多。
配对码
一个配对码,在第一台设备上生成,再输入到其他设备。它是唯一的秘密,永远不会离开你的设备。
-
开启同步,Lumen 就会生成配对码。在其他设备上输入,它们就连上了。
-
输错也没关系:I 和 L 按 1 读,O 按 0 读,分隔符不影响结果。
-
配对码默认隐藏显示,旁边有「显示」和「复制」,而且只在同步开启时可见。
-
关闭同步,设备就会忘记这个码。想重新连上,再输入一次即可。
哪些内容会同步
四样东西,让第二台设备用起来就像第一台。
-
媒体库:收藏的条目、继续观看、哪些已看完。
-
观看进度:每一集和每部电影看到了哪里。
-
插件:安装了哪些,以及它们的配置。
-
播放器设置:字幕语言、音频预设、播放选项。
哪些内容留在设备上
配对码、窗口的大小和位置、诊断日志,以及你为离线观看下载的所有内容。
中继服务器能看到什么
每台设备都从配对码推导出密钥,并在发送前加密每一条记录。中继服务器只保存收到的内容,一个字也读不了。
在你的设备上
- 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 的中继服务器:每个家庭免费 14 天,之后需要 Lumen Pass,该家庭 19 欧元一次性付清。
-
你自己的中继服务器:永久免费,不需要 Pass,也没有上限。程序会与应用一起安装。
-
两种方式完全一样。加密方式、配对码,以及同步的内容都不会改变。
-
试用结束后,暂停的只有同步。本地的改动会保留,一旦 Pass 生效就会发送出去。
运行你自己的中继服务器
中继服务器保存的一切都是加密的,所以自己来跑,改变的是谁持有这些字节,而不是谁能读懂它们。
-
启动中继服务器
Lumen 会把 lumen-relay.exe 与应用一起安装到 %LOCALAPPDATA%\Programs\Lumen。把它跑在你的设备能访问到的机器上;它监听 7345 端口,数据就放在同目录的 lumen-relay.db 里。
lumen-relay.exe --port 7345 -
放到 TLS 后面
在反向代理上终止 TLS。总共只有两条路由,其余一律返回 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 都支持,所以树莓派或 NAS 跑起来和服务器一样好。它只是一个放在空白基础镜像上的静态程序:下载约 3 MB,里面没有需要持续打补丁的操作系统。
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 |
|---|---|
| 每次请求的记录数 | 2000 |
| 单条记录的内容 | 256 KiB |
| 每个空间的记录数 | 50 000 |
对空间中已有记录的更新始终会通过;只有新增的记录才计入每个空间的上限。