RustDesk
远程桌面软件,开箱即用,无需任何配置。您完全掌控数据,不用担心安全问题。
Docker-Compose
创建 docker-compose.yml 文件
command: hbbs -r desk.rahn.top:21117 desk.rahn.top 修改为反向代理的域名
hbbs 是一个服务,它运行在 Docker 容器中,并且可以通过多个端口进行访问。该服务的作用是提供远程桌面的功能,可以让用户通过网络连接到远程计算机并控制其操作。hbbs 服务使用了最新版本的rustdesk/rustdesk-server镜像,并且在容器内有一个数据卷(./hbbs),以保存数据和配置文件。此外,该服务依赖于另一个名为 hbbr 的服务。
hbbr 也是一个运行在 Docker 容器中的服务,它提供了 hbbs 所需的支持服务。hbbr 服务同样使用最新版本的 rustdesk/rustdesk-server 镜像,并且在容器内有一个数据卷(./hbbr),以保存数据和配置文件。该服务使用命令 hbbr 启动,并且可以通过多个端口进行访问。如果出现故障,hbbr 和 hbbs 服务都将自动重启。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| version: '3'
networks: rustdesk-net: external: false
services: hbbs: container_name: hbbs ports: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21118:21118 image: rustdesk/rustdesk-server:latest command: hbbs -r desk.rahn.top:21117 volumes: - ./hbbs:/root networks: - rustdesk-net depends_on: - hbbr restart: unless-stopped
hbbr: container_name: hbbr ports: - 21117:21117 - 21119:21119 image: rustdesk/rustdesk-server:latest command: hbbr volumes: - ./hbbr:/root networks: - rustdesk-net restart: unless-stopped
|
打开 21115 21116 21117 21118 21119 端口
1 2 3 4 5 6
| ufw allow 21115/tcp ufw allow 21116/udp ufw allow 21116/tcp ufw allow 21117/tcp ufw allow 21118/tcp ufw allow 21119/tcp
|
允许通过 IP 访问
直接写 IP 地址,不需要加上端口号
在本地客户端打开 允许IP直接访问
访问也可以是加密的形式
加密通信
1 2 3
| cd /hbbs cat id_ed25519.pub z9MtgU7HdltmURkatkcDkJDuW4Tk93NufAhZeWKT02U=
|

一键脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| #! /bin/bash
red(){ echo -e "\033[31m\033[01m$1\033[0m" } green(){ echo -e "\033[32m\033[01m$1\033[0m" } yellow(){ echo -e "\033[33m\033[01m$1\033[0m" }
function rustdesk_install(){ if nc -z localhost 21115 && nc -z localhost 21116 && nc -z localhost 21117 && nc -z localhost 21118 && nc -z localhost 21119; then echo " 21115 21116 21117 21118 21119 中的端口已经被占用,请检查相关进程" exit 1 fi if docker ps -a --format "{{.Names}}" | grep -q "hbbs" && docker ps -a --format "{{.Names}}" | grep -q "hbbr"; then echo " hbbs hbbr 容器名已经被占用" exit 1 fi if [ ! -d /root/docker/RustDesk ]; then mkdir -p /root/docker/RustDesk fi cd /root/docker/RustDesk if [ -f "docker-compose.yml" ]; then rm docker-compose.yml fi cat <<EOF > docker-compose.yml version: '3'
networks: rustdesk-net: external: false
services: hbbs: container_name: hbbs ports: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21118:21118 image: rustdesk/rustdesk-server:latest command: hbbs -r https://rustdesk.rahn.top volumes: - ./hbbs:/root networks: - rustdesk-net depends_on: - hbbr restart: unless-stopped
hbbr: container_name: hbbr ports: - 21117:21117 - 21119:21119 image: rustdesk/rustdesk-server:latest command: hbbr volumes: - ./hbbr:/root networks: - rustdesk-net restart: unless-stopped EOF docker-compose up -d ufw allow 21115/tcp ufw allow 21116/udp ufw allow 21116/tcp ufw allow 21117/tcp ufw allow 21118/tcp ufw allow 21119/tcp yellow "-----------------------------------------------" green " Web 端口:21117" echo green " Docker IP = $(ip addr show docker0 | grep 'inet\b' | awk '{print $2}' | cut -d '/' -f1):21117" echo green " Web 网址 = http://$(ifconfig $(ifconfig | grep -oP 'enp\w+') | grep 'inet ' | awk '{print $2}'):21117" echo green " ID 服务器 = https://rustdesk.rahn.top" echo cd /root/docker/RustDesk/hbbs green " Key = $(cat id_ed25519.pub)" echo green " RustDesk 安装完毕!" yellow "-----------------------------------------------" } rustdesk_install
|
内网穿透
在 RustDesk 软件中,nasrustdesk.rahn.top 填写在中继服务中
1 2 3 4 5 6
| [rustdesk] type = tcp local_ip = 127.0.0.1 local_port = 21117 remote_port = 7019 custom_domains = nasrustdesk.rahn.top
|
官方:https://rustdesk.com/zh/
Docker: https://hub.docker.com/r/rustdesk/rustdesk-server