最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址

为什么要自己编译客户端?

RustDesk 自建服务器后,官方客户端默认连接官方服务器,每次都要手动填写 ID/中继服务器地址。团队使用太麻烦,小白用户容易填错。

今天把完整流程整理出来,照着做就行。

一、Fork 两个仓库

需要克隆两个项目:

仓库
作用
rustdesk/rustdesk
客户端主程序
rustdesk/hbb_common
公共基础库(存放服务器配置)


# rustdesk
客户端https://github.com/rustdesk/rustdesk
# hbb_common
公共基础库https://github.com/rustdesk/hbb_common
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图1)
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图2)
把代码Fork到自己的仓库,去掉仅copy the master 分支,克隆所有分支代码。
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图3)

Fork 完成后,你的账号下会有两个仓库。


二、修改服务器配置

核心步骤:把自建服务器地址和公钥写进源码。

1. 进入 hbb_common 仓库

切换到main 分支,找到文件 src/config.rs,修改两处常量:


// 修改前pub const RENDEZVOUS_SERVERS: &[&str] = &[”rs-ny.rustdesk.com”];
pub const RS_PUB_KEY: &str = ”OeVuKk5nlHiXp+APNn0Y3pC1Iwpwn44JGqrQCsWqmBw=”;
// 修改后(替换成你自己的)
pub const RENDEZVOUS_SERVERS: &[&str] = &[”你的服务器地址”];
pub const RS_PUB_KEY: &str = ”你的公钥”;
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图4)
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图5)

重要:新版本已不支持环境变量注入,必须直接改源码常量。

2. 提交更改

修改完成后,提交到 hbb_common 的 main 分支。

最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图6)


三、修改 rustdesk 主仓库

1. 切换到 master 分支

进入你 Fork 的 rustdesk 仓库,切换到 master 分支。

最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图7)

2. 修改 submodule 指向

编辑 .gitmodules 文件,把 hbb_common 的 URL 改成你自己的:


[submodule ”libs/hbb_common”]
    path = libs/hbb_common
    url = https://github.com/你的用户名/hbb_common
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图8)

3. 添加 Workflow 权限

编辑 .github/workflows/flutter-tag.yml,在文件添加:

permissions:
  contents: write
  actions: write
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图9)
点击Save保存。
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图10)

四、配置 GitHub Actions 权限

进入 rustdesk 仓库:Settings → Actions → General

1.找到Workflow permissions,选择:

2.Read and write permissions

最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图11)

五、更新 Submodule 指针(关键!)

这是最容易出错的步骤。rustdesk 主仓库记录的 submodule 提交指针还停在官方旧版本,必须更新到你的新提交。

在本地执行以下命令:

# 1. 浅克隆主仓库(只拉最新1个提交,速度快)
git clone --depth 1  
# 2. 进入项目目录
cd rustdesk
# 3. 初始化子模块g
it submodule update --init libs/hbb_common
# 4. 进入子模块目录
cd libs/hbb_common
# 5. 拉取远端
main 分支git fetch origin main
# 6. 强制切换到
main 分支(关键步骤)git checkout main
# 7. 返回主仓库根目录
cd ../..
# 8. 将子模块变更加入暂存区
git add libs/hbb_common
# 9. 提交更改 备注更新子模块git commit -m ”Update hbb_common submodule to custom build”
# 10. 推送到 GitHubgit push origin refs/heads/master:refs/heads/maste
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图12)

说明:子模块默认锁定某个 commit 哈希,让它指向你修改后的最新代码。


六、触发自动编译

回到 GitHub,进入 rustdesk 仓库的Actions页面。

找到flutter-tag Build ,点击Run workflow。

最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图13)

点击绿色Run workflow按钮,等待 30-60 分钟自动编译。

最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图14)

编译过程中可以点击记录进入详情页查看实时状态。

最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图15)
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图16)

七、下载编译好的客户端

编译完成后,进入仓库的Releases页面,可以看到各个平台的客户端:

  • Windows 安装包
  • Linux AppImage / deb / rpm
  • Android APK....
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图17)
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图18)
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图19)


八、验证客户端

下载安装后打开客户端:

  • 首页状态直接显示 就绪
  • 设置里的 ID/中继服务器配置为 空

说明服务端信息已经编译进客户端,无需手动配置。

最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图20)
最新版RustDesk 自编译客户端|GitHub 一键构建,内置私有服务端地址(图21)


总结

通过 GitHub Actions 编译 RustDesk 客户端,核心就是三步:

  1. Fork 仓库并修改服务器配置
  2. 更新 submodule 指针
  3. 触发 Actions 自动编译

如果觉得有用,欢迎点赞、收藏、关注!有问题欢迎留言交流。

感谢 RustDesk 开源项目提供的优秀远程桌面方案!

感谢 "勿悔"朋友对本文的支持~


 声明:本文仅供技术交流学习使用,请勿用于非法用途。


赏
  • 支付宝二维码 支付宝
  • 微信二维码 微信

本文地址: https://www.99zc.com/Study/105.html

版权声明:本文为原创文章,版权归  淡定个人博客 所有,欢迎分享本文,转载请保留出处!

相关文章
加载中~