文章摘要
GoodBoyboyGPT
这篇博文介绍了使用开源程序搭建远程桌面的方法,包括服务端部署、客户端和网页端设置以及相关的 API 服务器。文章提供了详细步骤和命令,并附有参考链接。
此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结

前言

在网上没事瞎逛的时候突然发现了这个开源程序,想到QQ的垃圾远程桌面瞬间就想自己搭建一个了

而且支持自建中转服务器,没有条件的也可以使用官方的服务器,均支持p2p

开始

部署服务端

https://github.com/rustdesk/rustdesk-server

我这里用的Linux服务器,所以我采用比较方便的docker搭建

首先pull镜像

1
sudo docker image pull rustdesk/rustdesk-server

然后创建容器

这里根据官方文档来开放端口

默认情况下,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)

如果你想选择自己的端口,使用 “-h” 选项查看帮助。

这里你可以选择使用host方式也可以选择bridge方式,我这里使用的是bridge方式

1
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21117:21117 -v /rustdesk:/root -td rustdesk/rustdesk-server hbbs -k _

这里我对命令做了修改,下面是官方的命令

1
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>

上面的-r参数就是中继服务器的端口,不设定的话就默认是21117

从官方文档上来看–net=host 仅适用于 Linux,它让 hbbs/hbbr 可以看到对方真实的ip, 而不是固定的容器ip (172.17.0.1)。 如果–net=host运行正常,-p选项就不起作用了, 可以去掉。

还有上面我自己命令中的-k _ 参数是禁止没有key的用户建立非加密连接

rustdesk我目前还没看到有鉴权部分,也就是说所有人都可以用。。。

加上上面参数的话没有key的用户就无法使用,算是一种变相鉴权吧

注:Key是公钥文件id_ed25519.pub中的内容,不是私钥!!!

hbbs在第一次运行时,会自动产生一对加密私钥和公钥(分别位于运行目录下的id_ed25519和id_ed25519.pub文件中)

如果要更改key,请删除 id_ed25519 和 id_ed25519.pub 文件并重新启动 hbbs/hbbr,hbbs将会产生新的密钥对。

客户端

客户端就简单很多了

https://github.com/rustdesk/rustdesk

下载合适自己的客户端,在设置里填写完ID注册服务器,中继服务器还有KEY就行了

web端

详见官方文档

https://rustdesk.com/docs/en/dev/build/web/

API服务器

这个不是必需的,详见

https://www.52pojie.cn/thread-1708319-1-1.html

https://www.52pojie.cn/thread-1792530-1-1.html

参考

https://rustdesk.com/docs/zh-cn/self-host/

https://rustdesk.com/docs/en/dev/build/web/

https://www.52pojie.cn/thread-1708319-1-1.html

https://github.com/rustdesk/rustdesk-server

https://github.com/rustdesk/rustdesk

https://www.52pojie.cn/thread-1792530-1-1.html