今天就来推荐一款开源替代品 ——Rust desk
1. 介绍
一个非常好用的远程桌面软件。
1.1 特点
咕咕这边简单在网上抄搜集了一些特点,供大家参考:
用 Rust 编写
开箱即用,不需要复杂的配置
你可以完全控制你的数据,而不用担心安全问题
你可以使用官方的 rendezvous/relay 服务器,也可以建立你自己的 rendezvous/relay 服务器。
当然我们今天就是和大家分享一下如何搭建。
2. 项目展示
GitHub 原项目地址(感谢作者的付出):https://github.com/rustdesk/rustdesk(23.2k star)
Docker 镜像地址:https://hub.docker.com/r/rustdesk/rustdesk-server/tags
官网地址:https://rustdesk.com
文档地址:https://rustdesk.com/docs/zh-cn/self-host/
直接丢几个图片:
3. 搭建环境
服务器:
腾讯香港轻量应用服务器 24 元 / 月 VPS 一台展示用的服务器是 Netcup 特价款,本期搭建用的是 斯巴达的服务器,(最好是选非大陆的服务器)(腾讯轻量购买链接) Hetzner 注册免费得 25 欧试用金有效期一个月系统:Debian 10(DD 脚本 非必需 DD 用原来的系统也 OK)
安装好 Docker、Docker-compose(相关脚本)
【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(安装地址)【非必需】安装好 Nginx Proxy Manager(相关教程)
服务器要求:
硬件要求很低,最低配置的云服务器就可以了,CPU 和内存要求都是最小的。关于网络大小,如果 TCP 打洞直连失败,就要耗费中继流量,一个中继连接的流量在 30k-3M 每秒之间(1920x1080 屏幕),取决于清晰度设置和画面变化。如果只是办公需求,平均在 100K/s。
4. 搭建视频
【好玩儿的Docker项目】开箱即用!TeamViewer、向日葵的替代品,20分钟自建一个开源远程桌面服务!
YouTube:https://youtu.be/xQ19DLW4kok
哔哩哔哩【高清版本可以点击去吐槽到 B 站观看】:https://www.bilibili.com/video/BV1or4y1M7UQ/
5. 搭建方式
5.1 搭建
服务器初始设置,参考
【Docker 系列】不用宝塔面板,小白一样可以玩转 VPS 服务器!
注意:VPS 的内存如果过小,建议设置一下 SWAP,一般为内存的 1-1.5 倍即可,可以让系统运行更流畅!
设置 SWAP 可以用脚本:
|
选择 18,然后输入你想要扩容的数值即可。
|
创建一下安装的目录:
|
docker-compose.yml 填入以下内容:
YAML
复制成功
|
没问题的话,ctrl+x 退出,按 y 保存,enter 确认。
打开防火墙的端口 21115、21116、21117、21118、21119
默认情况下,hbbs 监听
21115(tcp),21116(tcp/udp),21118(tcp),hbbr 监听21117(tcp),21119(tcp)。务必在防火墙开启这几个端口, ** 请注意
21116同时要开启TCP和UDP**。其中
21115是 hbbs 用作 NAT 类型测试,21116/UDP是 hbbs 用作 ID 注册与心跳服务,21116/TCP是 hbbs 用作 TCP 打洞与连接服务,21117是 hbbr 用作中继服务,21118和21119是为了支持网页客户端。如果您不需要网页客户端
(21118,21119)支持,对应端口可以不开。
TCP(21115, 21116, 21117, 21118, 21119)
UDP(21116)
云后台也要打开这些端口。
查看端口是否被占用(以 21115 为例),输入:
BASH
|
如果出现:
BASH
|
运行:
BASH
|
如果端口没有被占用,我们接着可以运行:
BASH
|
注意:
1、不知道服务器 IP,可以直接在命令行输入:
curl ip.sb,会显示当前服务器的 IP。2、遇到访问不了的情况,请在宝塔面板的防火墙和服务商的后台防火墙里打开对应端口。
5.2 更新
BASH
|
利用 Docker-compose 搭建的应用,更新非常容易~
5.3 卸载
BASH
|
6. 使用教程
6.1 安装和配置
见咕咕鸽的视频
点击 ID 右侧的菜单按钮如下,选择 “ID / 中继服务器”。
在 ID 服务器输入框中(被控端 + 主控端)输入 hbbs 主机或 ip 地址,另外两个地址可以不填,RustDesk 会自动推导(如果没有特别设定),中继服务器指的是 hbbr(21116)端口。
例如:
例如:
BASH
|
或者
BASH
|
6.1.1 功能展示
6.1.2 传输文件
6.2 几个小问题
6.2.1 加密通话
默认是不加密的。我们可以通过设置 Key,来加密通话。
以下来自官方文档:
hbbs 在第一次运行时,会自动产生一对加密私钥和公钥(分别位于运行目录下的 id_ed25519 和 id_ed25519.pub 文件中),其主要用途是为了通讯加密。
如果您在上一步骤中没有填写 Key:(公钥文件 id_ed25519.pub 中的内容),不影响连接,但是连接无法加密。
|
如果您禁止没有 key 的用户建立非加密连接,请在运行 hbbs 和 hbbr 的时候添加 -k _ 参数,例如:
YAML
|
实测加上
-k _参数后,会导致无法连接,不确定是不是 BUG,有解决的小伙伴欢迎在评论区留言交流!
如果要更改 key,请删除 id_ed25519 和 id_ed25519.pub 文件并重新启动 hbbs/hbbr,hbbs 将会产生新的密钥对。
6.2.2 把配置放在可执行文件名里 (Windows only)
把 rustdesk.exe 修改为 rustdesk-host=<host-ip-or-name>,key=<public-key-string>.exe, 例如: rustdesk-host=192.168.1.137,key=xfdsfsd32=32.exe,你可以在 About 窗口看到配置结果,如下图所示。
host 和 key 都需要添加,缺少一个就不好使。
如果密钥中有无效字符而不能用于文件名,请删除
id_ed25519文件并重新启动 hbbs/hbbr,id_ed25519.pub文件将被重新生成,请重复操作直到获得有效字符。
Menu | About Page |
|---|---|
7. 结尾
祝大家用得开心,有问题可以去 GitHub 提 Issues,也可以在评论区互相交流探讨。
同时,有能力给项目做贡献的同学,也欢迎积极加入到项目中来,贡献自己的一份力量!


















评论区