Relay 服务器

使用 LAN relay,或部署自己的公共 relay 服务器。

概览

Relay 服务器负责将你的 iPhone 连接到 agent。默认情况下两端都使用官方公共 relay coding.btelo.com。我们推荐继续使用官方 relay — 它部署在全球 3 台服务器上,无论你在哪里都能使用,即便离开家庭网络也没问题。为了最大化隐私,你也可以自己运行 relay,部署在 LAN 或公共服务器上。

LAN Relay

如果你对隐私要求极高,希望流量完全保留在本地网络内,可以使用 LAN relay。注意 LAN relay 仅在 iPhone 与电脑处于同一网络时可用 — 日常使用仍推荐官方 relay。

在 TUI 中按 w(切换 Relay)并选择 Local Relay (LAN)。Agent 会自动启动本地 relay 服务器并连接过去。随后按 r 刷新二维码,并在 iPhone 上重新扫描,通过 LAN relay 重新连接。

自托管公共 Relay

这与 LAN relay 本质相同,只是部署在公共服务器上,因此在任何网络下都能工作。

在你的 VPS 上安装 Btelo Coding,然后以 relay 模式运行:

curl -fsSL https://coding.btelo.com/install.sh | sh
vibe-remote relay

Relay 监听 24384 端口(TCP)。

通过反向代理启用 HTTPS

生产环境建议将 relay 放在带 TLS 的反向代理之后:

server {
    listen 443 ssl;
    server_name relay.example.com;

    ssl_certificate     /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://127.0.0.1:24384;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

然后将 agent 和 iOS app 配置为使用 https://relay.example.com

自托管 Relay 的限制

Apple Push 通知在自托管 relay 上不可用。 推送通知需要与官方 Btelo Coding app 绑定的 APNs 凭证(Apple 开发者密钥),自托管 relay 无法获取这些凭证。因此当 iOS app 处于后台时,你不会收到任务完成的推送通知 — app 只会在你打开时更新。

其它所有功能在自托管 relay 上都正常工作。