远程桌面工具的选择,往往伴随着对隐私、安全和可控性的权衡。TeamViewer 和 AnyDesk 固然方便,但闭源和潜在的商业限制让许多技术爱好者望而却步。有没有一款工具,既能开箱即用,又能让你完全掌控自己的数据流?
RustDesk 给出了肯定的答案。这个用 Rust 编写的开源远程桌面解决方案,正以其简洁、安全和高度可定制的特性,吸引着越来越多的用户和贡献者。

为什么选择 RustDesk?
RustDesk 的核心优势在于其架构设计。它默认使用项目方提供的公共中继服务器,让你无需任何配置即可开始远程连接。但真正的亮点在于,你可以随时摆脱对第三方服务器的依赖。
你可以选择搭建自己的 RustDesk 服务器,甚至基于其开源协议,编写定制化的中继服务。这意味着所有的连接数据——屏幕图像、键盘鼠标指令、文件传输——其流转路径完全由你决定。对于注重内网安全或数据隐私的企业和个人,这提供了闭源软件难以企及的控制力。
快速开始:下载与安装
上手 RustDesk 极其简单。项目提供了跨平台的客户端,从 Windows、macOS、Linux 到移动端均有覆盖。
最直接的获取方式是从 GitHub Releases 页面下载预编译的二进制文件。对于追求最新特性的用户,还可以选择 Nightly 构建版本。

Linux 用户则可以通过 Flathub 或 F-Droid 仓库方便地安装。
# 例如,通过 Flathub 安装(支持 Flatpak 的发行版)
flatpak install flathub com.rustdesk.RustDesk
安装完成后,运行 RustDesk。你会看到一个简洁的界面,包含你的设备 ID 和临时密码。将 ID 和密码提供给远程伙伴,他们就能直接连接过来。整个过程无需注册账号,也无需登录任何中心化服务。
进阶部署:搭建私有中继服务器
使用公共服务器虽然方便,但自建服务器才能充分发挥 RustDesk 的潜力。自建服务器能带来更低的延迟、更高的带宽控制权,以及彻底的数据私密性。
RustDesk 服务器端也完全开源。部署的核心是两个服务:hbbs(ID 注册/中继服务器)和 hbbr(数据中继服务器)。通常它们可以运行在同一台机器上。
假设你有一台公网 IP 为 1.2.3.4 的 VPS,以下是部署的关键步骤:
- 从发布页面下载服务器端程序(如
rustdesk-server-linux-amd64.zip)。 - 解压后,你会得到
hbbs和hbbr可执行文件。 - 在服务器上运行这两个程序。首次运行前,你可能需要在防火墙中开放相关端口(默认 TCP 21115-21119, 21116;UDP 21116)。
# 在服务器上运行
./hbbs -r <your_relay_server_ip>
./hbbr
客户端需要配置以使用你的私有服务器。在 RustDesk 客户端的设置中,找到“网络”选项,填入你的服务器地址。
| 设置项 | 值 | 说明 |
|---|---|---|
| ID 服务器 | 1.2.3.4 |
填写你的 hbbs 服务器公网 IP 或域名 |
| 中继服务器 | 1.2.3.4 |
同上,或填写 hbbr 的独立地址 |
| API 服务器 | (可选) | 用于高级功能,如 Web 控制台 |
配置完成后,客户端生成的所有连接 ID 都将注册到你的私有服务器上,所有流量也将通过你的服务器中继,实现完全自托管。
从源码构建:深入项目核心
对于开发者或希望深度定制的用户,从源码构建 RustDesk 是必经之路。项目主要使用 Rust 编写,GUI 部分早期采用 Sciter,现已转向 Flutter。构建过程需要准备好 Rust 工具链和 C++ 编译环境。
一个关键的依赖是 vcpkg,用于管理 C++ 库。以下是在 Ubuntu 类系统上准备环境和构建的概要流程:
# 安装系统依赖 (以 Ubuntu 为例)
sudo apt install -y g++ git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build
# 安装 Rust 工具链
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
# 设置 vcpkg 并安装库
git clone https://github.com/microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.sh
export VCPKG_ROOT=$(pwd)
./vcpkg install libvpx libyuv opus aom
cd ..
# 克隆并构建 RustDesk
git clone --recurse-submodules https://github.com/rustdesk/rustdesk
cd rustdesk
# 若构建 Sciter 版本,需手动下载 GUI 库
cargo build --release
构建成功后,可执行文件将生成在 target/release/ 目录下。项目也提供了 Docker 构建方式,能更好地隔离环境,确保依赖一致性。
不止于远程控制
RustDesk 的基础远程桌面功能已经相当完善,包括声音传输、文件传输和远程命令行访问。但它的潜力不止于此。通过其提供的 TCP 隧道功能,你可以在远程连接的基础上,安全地转发其他网络服务。
例如,你可以通过 RustDesk 连接到家中的电脑,然后利用隧道功能访问该电脑内网中的 NAS 管理页面或某个开发服务的端口。这为混合办公和远程设备管理提供了极大的灵活性。
选择 RustDesk,不仅是选择了一个工具,更是选择了一种理念:对个人数据的掌控权,对技术栈的透明度,以及参与一个全球协作项目的机会。它用 Rust 语言保证了内存安全与高性能,用开源协议赋予了用户终极的自由。下一次当你需要远程协助或管理设备时,不妨试试这个由社区驱动、为你掌控的解决方案。
开发必备:API 全流程管理神器 Apifox
介绍完上文的内容,我想额外介绍一个对开发者同样重要的效率工具 —— Apifox。作为一个集 API 文档、API 调试、API 设计、API 测试、API Mock、自动化测试等功能于一体的 API 管理工具,Apifox 可以说是开发者提升效率的必备工具之一。
如果你正在开发项目需要进行接口调试,不妨试试 Apifox。注册过程非常简单,你可以直接在这里注册使用。

注册成功后可以先看看官方提供的示例项目,这些案例都是经过精心设计的,能帮助你快速了解 Apifox 的主要功能。
使用 Apifox 的一大优势是它完全兼容 Postman 和 Swagger 数据格式,如果你之前使用过这些工具,数据导入会非常方便。而且它的界面设计非常友好,即使是第一次接触的新手也能很快上手,快去试试吧!
