开源推荐--RustDesk:基于Rust的远程桌面神器,彻底告别TeamViewer/AnyDesk!
摘要:本文介绍了开源远程桌面软件RustDesk,它解决了TeamViewer和AnyDesk的商业检测、连接速度慢等问题。RustDesk采用Rust编写,具有内存安全、高性能等优势,支持跨平台和端到端加密。文章详细演示了如何用Docker在5分钟内搭建私有服务器,包括端口配置和客户端连接方法。与商业软件相比,RustDesk具有完全免费、数据私有化等优势,特别适合开发者和企业用户。最后提供了G
摘要:在远程办公和运维日益普及的今天,TeamViewer和AnyDesk的商业检测和连接限制让许多用户感到头疼。本文将深入介绍一款基于Rust编写的开源远程桌面软件——RustDesk。它不仅轻量、安全,更支持自建服务器,让你完全掌控自己的数据和连接速度。
1. 为什么我们需要RustDesk?
作为一名开发者或运维工程师,你是否遇到过以下痛点:
-
TeamViewer 突然弹出“检测到商业用途”,连接被迫中断。
-
AnyDesk 免费版连接速度慢,高峰期卡顿严重。
-
担心第三方服务器的数据安全问题,不想让屏幕画面经过别人的服务器。
RustDesk 就是为了解决这些问题而生的。
核心特性
-
完全开源:基于 AGPL-3.0 协议,代码透明,安全可控。
-
跨平台支持:Windows, macOS, Linux, iOS, Android, Web,几乎覆盖所有主流平台。
-
端到端加密:采用 NaCl 库进行端到端加密,保障数据传输安全。
-
开箱即用:无需繁琐配置,类似 TeamViewer 的 ID/密码连接模式。
-
支持自建服务器(Killer Feature):这是它最大的亮点,你可以用一台低配云服务器搭建专属的中继网络,享受毫秒级的低延迟。
2. 技术视角:为什么是 Rust?
RustDesk 之所以命名为 RustDesk,是因为其核心逻辑主要使用 Rust 语言编写。
-
内存安全:Rust 的所有权机制从编译层面杜绝了空指针、数据竞争等内存安全问题,这对于需要高稳定性的远程控制软件至关重要。
-
高性能:Rust 拥有媲美 C++ 的性能,且运行时开销极低,这使得 RustDesk 的客户端非常轻量,启动速度极快。
-
Sciter UI:早期的 UI 采用 Sciter,现在新版逐渐转向 Flutter/Tauri,旨在提供更现代化的原生体验。
3. 实战教程:5分钟搭建专属 RustDesk 服务器
虽然 RustDesk 提供了免费的公共服务器,但为了极致的稳定性和速度,强烈建议使用 Docker 自建服务器。
3.1 准备工作
-
一台拥有公网 IP 的云服务器(配置要求极低,1核1G即可)。
-
服务器已安装 Docker 和 Docker Compose。
-
开放防火墙端口:
-
TCP: 21115, 21116, 21117, 21118, 21119
-
UDP: 21116
-
3.2 编写 docker-compose.yml
在服务器上创建一个目录,新建 docker-compose.yml 文件:
YAML
version: '3'
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs -r <你的服务器IP>:21117
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
注意:请将
<你的服务器IP>替换为你实际的公网 IP 地址。
3.3 启动服务
在目录下执行以下命令:
Bash
docker-compose up -d
启动成功后,在当前目录的 data 文件夹下会生成一个 .pub 文件(例如 id_ed25519.pub)。这个是你的公钥,客户端连接时需要填入。
查看公钥内容:
Bash
cat ./data/id_ed25519.pub
3.4 端口解释(硬核知识)
-
hbbs (ID Server): 21115(NAT类型测试), 21116/UDP(ID注册与心跳), 21116/TCP(TCP打洞), 21118(Web服务).
-
hbbr (Relay Server): 21117(中继服务), 21119(支持Web客户端).
4. 客户端配置
服务端搭建好后,配置客户端非常简单。
-
下载并安装 RustDesk 客户端。
-
点击 ID 旁边的 菜单按钮 (三个点) -> 网络 -> ID/中继服务器。
-
填写信息:
-
ID 服务器:填入你的服务器 IP。
-
中继服务器:填入你的服务器 IP(通常与ID服务器相同)。
-
Key:填入上一步获取的
.pub公钥内容。
-
配置完成后,状态栏显示“就绪”,即可享受丝滑的远程控制体验!
5. 竞品对比:RustDesk vs TeamViewer vs AnyDesk
| 维度 | TeamViewer | AnyDesk | RustDesk (自建) |
| 费用 | 昂贵,个人版有商业检测 | 免费版有限制,专业版收费 | 完全免费 (仅需服务器成本) |
| 数据隐私 | 第三方服务器 | 第三方服务器 | 私有化部署,数据握在自己手里 |
| 连接速度 | 取决于官方节点状况 | 晚高峰经常卡顿 | 取决于你的云服务器带宽 |
| 安装包大小 | 较大 | 小巧 | 极小 |
| 配置难度 | 简单 | 简单 | 略高 (需自建服务器) |
6. 总结与建议
RustDesk 是目前市面上最优秀的开源远程桌面解决方案之一。它完美平衡了易用性和可控性。
-
如果你是普通用户:直接使用官方提供的免费公共服务器即可满足偶尔的远程需求。
-
如果你是极客或企业用户:强烈建议按照本文教程进行自建部署,你将获得不输于商业软件的稳定性和安全性。
拥抱开源,掌控数据,从使用 RustDesk 开始!
参考链接:
GitHub 项目地址: https://github.com/rustdesk/rustdesk
希望这篇文章能对大家有所帮助!如果你觉得好用,别忘了去 GitHub 上给作者点个 Star 🌟。
如果有任何搭建问题,欢迎在评论区留言交流
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)