RustDesk,工具如其名,基于高效的 Rust 语言构建的开源远程桌面工具。
优势:
- 轻量:不论服务端还是客户端、不论哪个平台,软件小巧、功能完备。
- 全平台支持:支持 Android、Linux、Windows 任意双向控制,iOS 单向控制。
- 安全可控:软件开源,服务端自建,通信加密。
- 带宽高效:仅需 2-3M 即可流畅 1080P,支持 TCP 打洞端对端 P2P 连接。
RustDesk 官网:https://rustdesk.com/zh/
GitHub:https://github.com/rustdesk/rustdesk
搭建教程#
首先我们需要准备一台拥有公网 IP 的服务器,服务器这里我推荐伍六七云:https://www.vps567.com 香港 2H2G5M 服务器 20 / 月,还有高防 CDN 加速只需 18 / 月起。
然后安装好 Docker 环境:Docker 一键安装脚本
并且放行端口:21115-21119
如果你不想使用默认端口,可以在安装过程中修改映射的端口。
Docker 拉取#
sudo docker image pull rustdesk/rustdesk-server
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
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
Docker Compose 拉取#
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- <hbbs_port>:21116 # 自定义 hbbs 映射端口
- <hbbs_port>:21116/udp # 自定义 hbbs 映射端口
image: rustdesk/rustdesk-server
command: hbbs
volumes:
- <mount_path>:/root # 自定义挂载目录
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
deploy:
resources:
limits:
memory: 64M
hbbr:
container_name: hbbr
ports:
- <hbbr_port>:21117 # 自定义 hbbr 映射端口
image: rustdesk/rustdesk-server
command: hbbr
volumes:
- <mount_path>:/root # 自定义挂载目录
networks:
- rustdesk-net
restart: unless-stopped
deploy:
resources:
limits:
memory: 64M
注意:–net=host
仅适用于 Linux,它让 hbbs/hbbr
可以看到对方真实的 ip, 而不是固定的容器ip (172.17.0.1)
。 如果–net=host
运行正常,-p 选项就不起作用了,可以去掉。
如果您在非 Linux 系统上遇到无法连接的问题,请去掉 –net=host。
然后我们需要在主控端和被控端的设置中,在 ID / 中继服务器 输入我们的服务器 IP
这里还有一个 Key 用于加密连接,hbbs 在第一次运行时,会自动产生一对加密私钥和公钥(分别位于运行目录下的 id_ed25519 和 id_ed25519.pub 文件中),其主要用途是为了通讯加密。
cat ./id_ed25519.pub
如果要更改 key,请删除 id_ed25519 和 id_ed25519.pub 文件并重新启动 hbbs/hbbr,hbbs 将会产生新的密钥对。