返回首页

自建中继

RemoScreen 连接服务部署指南

本指南介绍如何部署 RemoScreen 中继连接服务。套件包含 Linux 中继程序、初始化工具、配置模板和部署手册。安装包是否可下载,以应用中的下载状态为准。

下载中继套件

按服务器架构选择。套件里有 SHA256SUMS,下载后先核对,再解压。

Linux x86_64 Linux ARM64(测试中)

中继连接服务的用途

设备优先直接连接;无法直连时,中继服务转发已授权连接的画面、声音和操作数据。将自己的中继服务器添加到 Mac 和 iPad 的“连接服务”,即可作为备用连接通道。本手册的下载、配置和启动步骤均用于中继服务。

下载与准备

按服务器架构选择 Linux x86_64 或 ARM64 套件。交付文件应包含 remoscreen-service、remoscreen-setup、配置模板、本手册、版本与源码标识、SHA256SUMS。下载后先核对发布页提供的校验和,再解压到新的版本目录,保留上一版本。

准备 Linux 服务器、可解析到它的域名,以及与域名一致的有效 HTTPS 证书。为服务创建独立的低权限运行用户和持久数据目录。服务程序应有执行权限;状态目录仅运行用户可访问,生成的密钥文件应为 0600。

下面示例使用 connect.example.com、HTTPS 8443 和中继 TCP 9443。它们只是新服务器上的示例,请先确认所用端口、域名、防火墙及云安全组。已有服务占用端口时,应先规划反向代理或独立监听地址,不要覆盖现有服务。

初始化备用中继

在服务运行用户下执行初始化工具。把示例域名改成实际地址,把数据目录改成该用户拥有的独立目录:

./remoscreen-setup -directory /var/lib/remoscreen/relay \
  -role relay -name RemoScreen \
  -control-url https://connect.example.com:8443/v2/control \
  -relay-host connect.example.com -relay-tcp-port 9443

初始化会生成服务身份、客户端访问密钥和所需配置。重复初始化必须沿用 relay 参数与原地址;工具不会覆盖现有身份。不要为了更新程序而删除数据目录或重新生成密钥。

启动备用中继

将证书路径替换为运行用户可读的实际 PEM 文件,使用前一步的同一个数据目录:

./remoscreen-service -service-role=relay \
  -control-listen=:8443 \
  -control-tls-certificate=/etc/remoscreen/fullchain.pem \
  -control-tls-key=/etc/remoscreen/privkey.pem \
  -service-info-config=/var/lib/remoscreen/relay/service-info.json \
  -relay-control-config=/var/lib/remoscreen/relay/relay-control.json \
  -relay-access-keys=/var/lib/remoscreen/relay/relay-access-keys.json \
  -control-revocation-store=/var/lib/remoscreen/relay/revocations.json \
  -control-primary-lock=/var/lib/remoscreen/relay/primary.lock \
  -account-deletion-journal=/var/lib/remoscreen/relay/deletion-journal.json \
  -usage-ledger-store=/var/lib/remoscreen/relay/usage.jsonl \
  -public-host=connect.example.com -tcp-relay-listen=:9443 \
  -tcp-require-local-control-allocation=true \
  -relay-node-id=self-hosted -relay-region=self-hosted \
  -require-commercial-subscription=false

先前台检查启动结果,再交给 Linux 服务管理器管理。服务单元须使用独立用户、绝对程序路径、相同参数、私有数据目录,以及失败重启策略。证书续期后重启服务以加载新证书。

添加到 Mac 和 iPad

在服务器本地读取私有的 client-connection.json,取得服务地址和客户端访问密钥。通过可信渠道提供给需要接入的用户。在每台设备的“连接服务”中选择“添加服务器”,填入地址与访问密钥,检查服务身份后保存。

可导入的客户端配置应由应用的“导出配置”功能产生。client-connection.json 是管理员读取的初始化结果,不要把它误当作应用配置导入文件。不要发送 service-info.json、relay-control.json、TLS 私钥或完整服务器数据目录。

连接优先尝试直连,允许中继且直连不可用时才使用此备用服务。

部署后检查

从另一网络检查 HTTPS 证书与 /v2/service-info 的签名服务身份,再在应用内执行服务器连接检查。使用已有授权的设备,在直连不可用的测试网络中连接,确认实际使用该中继服务器;检查服务日志,确认请求正常且没有证书或访问密钥错误。

仅进程运行或健康页返回成功不代表完整可用。检查实际远程画面、键盘鼠标、文件传输和断线恢复;同时核对服务器上报版本与交付版本一致。

更新、回退和卸载

更新前备份服务配置、完整持久数据和上一版本程序,记录当前版本。停止对应服务后切换到新版本,保留原数据目录与身份,再重复部署后的检查。失败时停止新版本、恢复上一版本与相匹配的备份;涉及数据格式迁移时遵循该版本迁移说明。

卸载先停用并移除对应服务单元,再由管理员明确决定是否删除程序与数据。默认保留持久数据和备份;不得连带清理其他服务或应用数据。