你的下一个远程软件何必是XXX

随着Codex之类的agent兴起以后,大家突然开始发现远程让电脑干活是件很酷的事。然而远程控制类软件其实早已兴起了:微软自家的remote desktop,teamviewer,向日葵,anydesk,rustdesk,UU远程,甚至包括sunshine和moonlight的串流。其实之前我比较常用的是向日葵,结果某天向日葵提醒我免费时长已到,因此我就触发了想自己搭建一个Rustdesk远程中继服务器的想法。你的下一个远程软件何必是XXX。

1 Rustdesk简介(DeepSeek生成)

RustDesk 是一款用 Rust 语言编写的开源远程桌面软件,旨在成为 TeamViewerAnyDesk 等商业软件的开源替代品。

它的核心优势在于开源、安全高度的自主可控。你可以免费使用,也可以选择将服务端部署在自己的服务器上,实现数据的完全自主掌控。目前,RustDesk在GitHub上已获得超过11.3万的Star,全球有超过3000万的客户端下载量。

✨ 核心特点与功能

  • 跨平台支持:客户端支持 Windows、macOS、Linux、iOS、Android 甚至 Web 端。
  • 安全与性能:支持 P2P 直连和基于 NaCl 的端到端加密。它优化了编解码器,即使在一般网络条件下也能提供低延迟和清晰的图像质量。
  • 数据自主可控:这是其最大亮点。你可以选择自建服务器(Self-hosting),所有流量都经过你自己的服务器,无需依赖第三方。
  • 功能丰富:内置文件传输剪贴板同步功能,支持多显示器自定义画面质量
  • 开箱即用:即使不配置自建服务器,也可直接使用官方提供的公共服务器,实现“开箱即用”。
  • 轻量便捷:无需管理员权限即可运行,部分系统甚至无需安装。

🚀 部署与版本

RustDesk 提供灵活的部署选项:

  • 开源版 (OSS):完全免费,适合个人或小团队使用。
  • 专业版 (Pro):需付费购买,提供更多企业级功能,如Web控制台、单点登录(SSO)和更精细的访问控制。

你可以使用 Docker 等工具非常便捷地完成自建服务器的部署。

总结来说,作为开源知名远程软件的Rustdesk应该能完美契合我的要求。其他详细的信息欢迎去官网了解。

Rustdesk官网

2 Rustdesk中继服务器搭建

我自己有服务器且由于之前搭建网易云音乐API已经安装过PM2了。这里就不赘述如何安装PM2了。详情可以看之前的博客。如果熟悉docker的也可以docker安装。

LLM增强的网易云API部署用于鸿蒙原生音乐app: Melotopia

首先我下载了对应的Rustdesk服务器安装包。

然后放到你服务器里喜欢放的路径解压即可。随后定位到路径执行以下命令用PM2安装Rustdesk server。注意一般得有这俩文件。

1
2
3
4
pm2 start hbbs --  -k _
pm2 start hbbr -- -k _
pm2 save
pm2 startup

确认安装,执行以下命令即可。

1
pm2 list

看到在运行的hbbr和hbbs就说明安装完成了。

同时这会在根目录文件夹下生成一个密钥文件,这是用来存储在客户端连接的关键key。

后续需要去阿里云服务器官网的防火墙设置安全组,对几个端口进行放行。

RustDesk 服务需要使用以下端口:

端口 协议 用途
21115 TCP 用于 NAT 类型测试
21116 TCP 用于 ID 注册与心跳连接
21116 UDP 用于 ID 注册与心跳连接 (必须开放)
21117 TCP 用于中继服务 (Relay)
21118 TCP 用于支持 Web 客户端
21119 TCP 用于支持 Web 客户端

在设置完以上以后,你的中继服务器就搭好了,后续只需要配置客户端即可。

3 Rustdesk客户端配置

打开Rustdesk客户端。点击设置,然后点击网络,首先解锁权限就可以点击ID/中继服务器了。

点开以后,进行配置,ID服务器是你服务器的ip地址加上:再加上21116,中继服务器则是ip地址:21117。key就是上面安装时生成的pub文件的一串字母+数字组合成的密钥。不明确的话,可以通过下面的代码显示。

1
cat xxx.pub

4 鸿蒙原生rustdesk

另外还是因为手机是鸿蒙版,之前rustdesk只有安卓的客户端,但缺少鸿蒙端原生app。但非常开心的是目前鸿蒙生态逐渐丰富(尤其最近有鸿蒙的三款新PC发布),有大量的app做了鸿蒙移植(希望未来也能成为开发者的一份子)。其中就包括了鸿蒙版的rustdesk: StarRustDesk。

StarRustDesk

甚至已经有一位B站up主移植了N个软件(包括QGIS,blender,inkscape,freeCAD,libreoffice,zotero等)。

参考链接: