RustDesk 客户端构建器:把服务器和品牌配置直接做进安装包

Administrator 6 阅读

自建 RustDesk 服务端以后,客户端仍有不少重复工作:填写服务器地址和 Key、换图标、改应用名、调整默认权限,再分别为不同平台编译。配置少时可以手工做,版本和平台一多,就很容易漏项。

我在开源项目 RDGen 的基础上做了一个中文增强版。它把这些参数集中到网页表单里,提交后调用 GitHub Actions 构建,完成后再回到网页下载成品。

RustDesk 客户端构建器界面
RustDesk 客户端构建器界面

构建器能配置什么

基础信息包括 RustDesk 版本、Windows 64 位和 32 位、Linux、Android、macOS 等目标平台。每个平台都有独立的构建记录和下载结果,也可以一次选择多个平台。

客户端可以预置 ID 服务器、Relay、API、Key 和门户地址,也能修改应用名、文件名、公司名、Android 包名、图标、Logo 与隐私屏幕图片。权限、认证方式、预设密码、画质、帧率、主题和界面显示项也都能在表单里设置。

配置可以保存为 JSON,下次直接载入。高级模式还允许填写 RustDesk 的 default-settingsoverride-settings。部分涉及修改上游源码的选项会受 RustDesk 版本影响,正式分发前应先用一个 Windows 64 位版本验证,不能只看构建成功。

怎么使用

打开自己部署的构建器后,先选择 RustDesk 版本和目标平台。第一次测试建议只选 Windows 64 位,并尽量保持默认设置。

接着填写自建服务器信息,再按需要调整名称、图标、权限和认证方式。提交前页面会显示配置摘要。确认后开始构建,可以在等待页查看各平台状态;构建完成后,从结果页下载对应安装包。

服务器 Key 会被做进客户端,这是 RustDesk 自托管客户端的正常配置方式。GitHub 令牌、回调令牌和压缩包密码则只属于构建系统,不能填写到普通客户端配置里,也不要放进截图或公开日志。

自己部署构建器

需要一台 Linux 主机、Docker Compose、一个带 HTTPS 的域名,以及你自己的 GitHub 仓库。先 fork bryangerlach/rdgen,也可以直接使用这个中文增强版仓库

为仓库启用 GitHub Actions,再创建一个只允许访问该仓库的 fine-grained token。权限保持在构建所需的最小范围,包括 Actions 与 Workflows 的读写权限、Contents 只读权限。

在服务器上克隆项目并准备环境变量:

git clone https://github.com/fangxinbuzaijia/rdgen.git
cd rdgen
cp .env.example .env
openssl rand -hex 64
openssl rand -hex 64
openssl rand -hex 64

把三次生成的随机值分别填入 SECRET_KEYZIP_PASSWORDCALLBACK_TOKEN。然后填写自己的 GitHub 用户名、仓库名、fine-grained token、公开访问地址、允许的主机名和 CSRF 信任来源。示例文件里的域名只是模板,部署时要全部换成自己的值。

在 GitHub 仓库的 Actions secrets 中设置 GENURLZIP_PASSWORD。其中 ZIP_PASSWORD 必须和服务器 .env 中的值一致。最后启动服务:

docker compose up -d --build

默认可以把容器端口映射到宿主机的 8022,再通过 Nginx、Caddy 或 1Panel 反向代理到 HTTPS 域名。构建产物可能比较大,反向代理的请求体上限需要相应调高。

上线前先做一次最小验证

第一次不要急着打开全部高级选项。只选 Windows 64 位,不填真实服务器地址和 Key,提交一份最小配置,确认 GitHub Actions 能启动、状态能回传、网页能下载成品。链路跑通后,再逐项加入服务器配置、品牌素材和源码补丁。

构建系统保存了 GitHub token 和回调密钥,必须放在 HTTPS 后面,并限制管理入口的访问。生成的客户端也可能含有你的服务器地址和公钥,公开分发前要检查安装包和配置是否符合预期。

中文增强版源码:fangxinbuzaijia/rdgen 上游项目:bryangerlach/rdgen