开源的远程桌面软件RustDesk
本文是应网友
figo的要求写的
什么是 RustDesk ?
RustDesk是一款开源的远程桌面软件,开箱即用,无需任何配置。您完全掌控数据,不用担心安全问题。可以使用官方的注册/中继服务器, 或者自己架设。
今天我们要做的就是通过自建服务器,然后从远程访问家里的电脑,之所以要自建,是因为 RustDesk 提供的免费公共服务器比较少

安装
在群晖上以 Docker 方式安装。
在注册表中搜索 rustdesk ,选择第一个 rustdesk/rustdesk-server,双击直接下载。

本文起草于
2021年11月,当时只有一个版本,所以不需要选择。现在已经支持x86和arm64v8平台,x86选latest即可。

【注意】:后面无论是
hbbs还是hbbr都是基于这个镜像安装
安装 hbbs
hbbs 指的是 RustDesk ID/Rendezvous server,也就是 RustDesk 注册服务器。
默认情况下,hbbs 监听 21115(tcp),21116(tcp/udp),21118(tcp)。其中:
21115是hbbs用作NAT类型测试;21116/UDP是hbbs用作ID注册与心跳服务;21116/TCP是hbbs用作TCP打洞与连接服务;21118是为了支持网页客户端,注意是WebSocket协议,不是http协议;
因为没找到网页客户端,不知道怎么用
21118端口,所以后面的端口映射没打开该端口,需要的话可以添加在tcp协议中;
容器名称
默认为 rustdesk-rustdesk-server1,为了方便区分,重命名为 rd-hbbs,这不是必须的操作

卷
在 docker 文件夹中,创建一个新文件夹,并将其命名为 rustdesk,然后在其中建两个子文件夹,分别是 hbbs 和 hbbr

| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/rustdesk/hbbs |
/root |
存放文件,包括 key 文件 |

网络
勾选 使用与 Docker Host 相同的网络

环境
命令中输入 hbbs -r <relay-server-ip[:port]>
其中:
relay-server-ip为群晖主机IP;port默认为21117, 没改的话可以不填;
所以我们只要在 命令 中输入 hbbs -r 192.168.0.197 即可

安装 hbbr
hbbr 指的是 RustDesk relay server ,也就是 RustDesk 中继服务器。
默认情况下,hbbr 监听 21117(tcp), 21119(tcp)。其中:
21117是hbbr用作中继服务;21119是为了支持网页客户端,注意是WebSocket协议,不是http协议;
因为没找到网页客户端,不知道怎么用
21119端口,所以后面的端口映射没打开该端口,需要的话可以添加在tcp协议中;
容器名称
默认为 rustdesk-rustdesk-server1,为了方便区分,重命名为 rd-hbbr,这不是必须的操作

卷
前面已经建好了文件夹,这里直接使用 就行
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/rustdesk/hbbr |
/root |
存放文件 |

网络
勾选 使用与 Docker Host 相同的网络

环境
命令 行中输入 hbbr 即可

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 restdesk 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 restdesk 和 子目录 |
不出意外的话,两个容器应该都正常启动了

运行
在运行客户端之前,还有少许网络上的设置,不管你是用 frp 还是 ddns ,要做的就是将相应的端口打开
frp 设置
老苏用的是 frp,需要在 frpc.ini 中增加下面👇这段:
1 | [range:rd_tcp] |
保存之后,重启 frpc 容器。
ddns 设置
老苏没有公网 IP ,所以没机会使用过 ddns,但从原理上看,跟局域网使用的原理一致,只是不过是将局域网 IP 换成了域名,需要在路由器放行下面👇的端口:
21115-21117,协议tcp21116,协议udp
客户端填写 ID 服务器 时,同样也是 域名:21116
客户端
在 https://rustdesk.com/zh/ 可以下载对应平台的客户端

找到 ID/中级服务器

填入前面 frpc 中的设置
另外两个地址可以不填,
RustDesk会自动推导(如果没有特别设定的话)

在 File Station 中找到 /docker/restdesk/hbbs 目录,其中 id_ed25519.pub 就是我们需要的 key

可以下载之后用文本编辑器打开,也可以直接用命令行打开
1 | # 打开公钥文件 |
将 key 复制到客户端中

确认之后,网络会重新连接

如果设置没问题,很快就 就绪 了

测试
老苏又装了一台 android 客户端,用来做控制端,设置和 PC 端是一样的,只要输入 ID 服务器 和 Key 即可

输入要控制的 PC 端的 ID

连上之后需要输入密码,密码可以在 PC 端 ID 的下方获取到

连接成功后,PC 端的右上角有提示

速度还可以,感觉比向日葵快

各平台的详细使用手册,可以去官网看中文的使用手册:https://rustdesk.com/docs/zh-cn/manual/
老苏觉得 RustDesk 作为一款远程桌面控制软件,完全可以取代 TeamViewer 和 向日葵。
参考文档
GitHub - rustdesk/rustdesk: The best open source remote desktop software
地址:https://github.com/rustdesk/rustdeskrustdesk/rustdesk-server: RustDesk Server Program
地址:https://github.com/rustdesk/rustdesk-serverRustDesk | 最好的开源远程桌面软件
地址:https://rustdesk.com/zh/群晖 :: RustDesk文档
地址:https://rustdesk.com/docs/zh-cn/self-host/synogy/