自建远程协助软件rustdesk实现远程桌面远程控制软件
远程协助软件rustdesk 实现远程桌面 远程控制软件, 平替向日葵, ToDesk, 腾讯会议, Zoom, Mikogo等等
有什么用
远程协助, 远程桌面, 远程控制的需求, 再也不用被绑定手机号码然后慢慢推去收费的狭小通道了.
有了rustdesk工具(服务端和客户端), 可以实现多个设备间的互相控制(远程协作), 远程控制, 传输文件等等目前市面上的远程软件功能, 比如: 花生壳, Todesk, Tencent Meeting等等
怎么用
部署服务器
如果您目前没有云服务器, 可以考虑:
家宽申请出工网IP(适合折腾, 费时, 技术知识要有),
或者购买云服务器(长久 稳定 省事的方案); 实在都不想弄的话需要认识我, 我可以共享我的一部分服务器资源(资源有限, 且用且珍惜)
从网上找找网友分享的rustdesk服务器端
编译客户端
纯纯的仅需要计算机软件知识, 或者找人收费编译一下
如果您不怕每次使用时的麻烦, 那就也可以使用rustdesk默认编译出来的可执行文件(每次需要远程那端配合输入服务器的一些信息…. 对于小白用户不友好, 步骤冗余)
如果您需要相关的协助, 请联系闲鱼下单:

相关内容
部署rustdesk服务端
尝试自建服务器
docker-compose 自建ID和relay服务器
1 | services: |
1 | [src/common.rs:147] Private/public key written to id_ed25519/id_ed25519.pub |
TODO: 故障: 转发后, 无法连接到本地服务器的21116 和 21117.
解决过程:
重启以后, 依旧失效, 无法连接到117明明是开放着的21117; 其他端口设置了转发就有成功的… 为何就是改的这几个端口死活就是无法链接呢?
1 | carlzeng@MacBookPro ~ % nc -vz 111.193.104.114 11117 |
原来又是运营商搞的鬼; 当路由器端完成了转发后, 其实流量数据包是在运营商那端被丢弃的, 导致(tcp) failed: Connection refused.
切换到小的端口值号时候, 可以正常连接了服务器节点.
安装安卓默认版本, 统一网络下连接顺利
故障: 移动网络中的安卓, 无法连接到id服务器(切换端口到116, 117以后可以连接到RustDesk网络, 就绪. 偶尔断开)
当手机的网络属于‘中国移动’的网络时, 无法从MAC连接进行远程协助.(即便是状态显示就绪; 很快又跳成未就绪, 请检查网络连接)
本小结有参考并阅读了:
下一步:
How to modify the client default server address in the code
自己搭建服务器,但是每次发给别人都需要去改服务器地址,修改代码的那个位置,可以默认服务器ip,以后发给别人都可以不用添加服务器地址?
https://github.com/rustdesk/rustdesk/discussions/2236
Sciter.JS - HTML/CSS/JS embeddable engine.
编译rustdesk服务端 [可选] [进阶]
如果您需要有特殊需求的rustdesk服务端, 请考虑自行修改源码后编译出来, 然后在重新部署一个服务器端
待进一步实践需求
编译rustdesk客户端
通过上面的docker部署rustdesk服务端, 让rustdesk的运行有了底层的服务基础; 下一步要处理的就是客户端, 客户端运行在各个系统平台上, 比如: 苹果电脑, Windows电脑, Android手机, 苹果手机, 平板电脑(如何各种安卓的平板), 安卓电视, 安卓的机顶盒等等
客户端其主要几类的操作系统有: Linux, Mac, Windows, Android, Debian. 基本涵盖了主要几类大众常用的软硬件平台.
为何需要自行编译客户端?
由于rustdesk太好用, 导致有一些非法分子来利用rustdesk进行诱导性的‘远程协助’; 直接下载rustdesk官方的客户端(默认连接特定的官方服务器)已经无法使用(因为官方的服务器地址出于某些非技术性原因被ban了). 就需要通过配置rustdesk的ID服务器等信息, 让客户端都去连接自建的服务器(也就是上文中详细讲述的docker自建rustdeskID和relay服务器)
如何自行编译rustdesk客户端?
理论步骤: 从源头的rustdesk 以及其嵌套的子项目 libs/hbb_cmmon. clone, 并修改代码中的ID服务器地址和Key信息; 如果您的ISP封锁了您公网IP的默认端口11116, 11117, 11118, 11119的话, 您可以修改切换一些其他的端口.
其他的修改, 可以根据个人的需求来展开实现;
修改的步骤如下:
- 根据您自建的rustdesk服务器具体情况, 修改配置文件/libs/hbb_common/src/config/rs的103行- 109行.

git comment 和 push 把修改的最新代码提交到github进行编译
当然也可以通过本地计算机进行编译, 过程比较繁琐; 不是资深开发头脑思维的, 不建议采用该本机编译方案
完成上面2步骤以后; 就是设置github的action来进行 云编译; 让github在远程服务器完成最新代码的编译工作, 最终生成各个平台的可执行文件; 有了rustdesk客户端后就可以发给远程协助的对方, 进行远程协助操作.
设置当前Github项目Settings 》 Actions 〉 Genernal 》 Actions permissions
- 选择Allow all actions and reusable workflows
Settings 》 Actions 〉 Genernal 》Workflow permissions
- 选择Read and write permissions
- 勾选Allow GitHub Actions to create and approve pull requests
分别都保存
开启当前Github项目Actions
- Enable Workflows
手动运行 Flutter Tag Build

使用Flutter Tag Build的好处是, 运行1个小时多后; 可以在项目的Releases, 下载到Tag的 Assets可以找到安卓手机的APK安装文件, windows的exe运行文件, Mac苹果电脑的dmg安装文件, Debian的deb安装包.
其他修改及编译
其他的需求, 比如: 如何简化每次输入密码的过程? 如何让客户端(老人用手机或机顶盒等)傻瓜式完成确认? 即可快速获得远程协助的能力.
如果您需要相关的协助, 请联系闲鱼下单:

灵感来源
远程协助 国内用ToDesk 国外用RustDesk