摘要:在远程办公和运维日益普及的今天,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. 客户端配置

服务端搭建好后,配置客户端非常简单。

  1. 下载并安装 RustDesk 客户端。

  2. 点击 ID 旁边的 菜单按钮 (三个点) -> 网络 -> ID/中继服务器

  3. 填写信息:

    • ID 服务器:填入你的服务器 IP。

    • 中继服务器:填入你的服务器 IP(通常与ID服务器相同)。

    • Key:填入上一步获取的 .pub 公钥内容。

配置完成后,状态栏显示“就绪”,即可享受丝滑的远程控制体验!


5. 竞品对比:RustDesk vs TeamViewer vs AnyDesk

维度 TeamViewer AnyDesk RustDesk (自建)
费用 昂贵,个人版有商业检测 免费版有限制,专业版收费 完全免费 (仅需服务器成本)
数据隐私 第三方服务器 第三方服务器 私有化部署,数据握在自己手里
连接速度 取决于官方节点状况 晚高峰经常卡顿 取决于你的云服务器带宽
安装包大小 较大 小巧 极小
配置难度 简单 简单 略高 (需自建服务器)

6. 总结与建议

RustDesk 是目前市面上最优秀的开源远程桌面解决方案之一。它完美平衡了易用性和可控性。

  • 如果你是普通用户:直接使用官方提供的免费公共服务器即可满足偶尔的远程需求。

  • 如果你是极客或企业用户:强烈建议按照本文教程进行自建部署,你将获得不输于商业软件的稳定性和安全性。

拥抱开源,掌控数据,从使用 RustDesk 开始!


参考链接


希望这篇文章能对大家有所帮助!如果你觉得好用,别忘了去 GitHub 上给作者点个 Star 🌟。

如果有任何搭建问题,欢迎在评论区留言交流

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐