Lorca文档

中继

中继是你的设备之间存放密文的信箱。一个可执行文件就能自己运行。

中继在你的设备之间存储并转发加密的数据块。只有一台设备时完全不需要中继。要配对第二台电脑或手机,才需要一个。

因为一切都在上传前加密,你对中继的信任只需要到“它能保持在线”为止。

让 Lorca 使用某个中继

在第一台设备上设置 设置 › 高级 › 中继 URL,或者为命令行设置 LORCA_RELAY_URL 环境变量。之后配对的设备会从配对码里得知这个地址。

自己运行

中继是单个可执行文件 lorca-relay,内置 SQLite:

lorca-relay --bind 0.0.0.0:8787 --db lorca-relay.db

用 Caddy 或 nginx 这类反向代理为它加上 HTTPS(WebSocket 升级必须能通过),并加上 --trust-proxy,让限流看到真实的客户端地址。

选项作用
--bind监听的地址和端口。
--dbSQLite 文件路径,或 postgres:// URL。
LORCA_RELAY_SECRET用来签发会话令牌。设置它,令牌才能在重启后继续有效。
--quota-bytes每个身份的存储上限,默认 5 GiB。0 表示不限。
--concurrent-uploads同时处理的超过 1 MiB 的附件数量(默认 3),用来限制附件占用的内存。
--files-dir附件密文存放的位置。默认是数据库旁边的一个文件夹。
--s3-bucket、--s3-endpoint改为把附件存到 S3、R2 或 MinIO。
--min-protocol拒绝使用更旧中继协议的 Lorca 版本,这些版本的应用会提示更新。
--inactive-days账户在这么多天内没有任何活动就会被删除(默认 365,0 表示永不删除)。各设备上的本地数据不受影响。
LORCA_RELAY_METRICS_TOKEN设置后,携带此 Bearer 令牌即可从 GET /metrics 读取 Prometheus 格式的指标。
--ip-per-minute、--identity-per-second限流。

Postgres

使用 postgres:// URL,可以让多个中继进程共用一个数据库,实现无间断部署。它们必须共用 LORCA_RELAY_SECRET,并把附件存在 S3 兼容的存储桶里。

推送通知

要给手机应用发推送,需要给中继配置 APNs 密钥(--apns-key、--apns-key-id、--apns-team-id)或 Firebase 服务账号(--fcm-service-account)。每个密钥既可以是文件路径,也可以直接是密钥内容,所以在没有磁盘存放文件的环境里,可以用 LORCA_RELAY_APNS_KEY 和 LORCA_RELAY_FCM_SERVICE_ACCOUNT 变量直接传入。不配置的话其他功能照常,只是手机收不到推送。

监控

设置 LORCA_RELAY_METRICS_TOKEN 后,抓取方携带该 Bearer 令牌访问 GET /metrics,即可得到 Prometheus 文本格式的指标:身份和设备数量、各类数据块的数量与字节数、打开的同步连接、按路由和状态码统计的请求、被限流的请求、推送的成功与失败,以及清理任务删除的内容。中继无法读取自己存储的内容,所以这些数字就是全部可观察的信息。

限制

每个附件最大 100 MiB,以加密的二进制数据传输。中继允许文件密文包含额外的 40 字节加密封装;消息及其他非文件数据块的密文最大 4 MiB。

本页目录