前言/Chatter

终于是更出一篇博客了,现在是凌晨三点,这个项目差不多搞了两天,起因是最近突然开始注重隐私和安全,国内的一些远控软件不是收费就是延迟巨高(或高峰期延迟高),于是最终选择了这套方案,本文仅适用于Windows,顺带一提,Gemini比国内AI好用多了(个人主观感觉)

正文

Tailscale

前往Tailscale官网下载应用并登录应用,它会自动给你分配一个唯一的ip,这就是你服务器的ip了

Docker本地部署服务端

下载与安装

前往Docker官网下载Docker Desktop,下载好后确保你的电脑开启了工作文件夹客户端适用于Linux的Windows子系统虚拟机平台功能,否则Docker Desktop安装无法进行

本地部署

a

打开Docker->settings->Docker Engine,修改为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://daocloud.io",
"https://huecker.io",
"https://timeweb.cloud",
"https://noohub.net"
]
}

这是为了拉取镜像使下载更顺利

b

打开Windows Defender防火墙的高级设置,新添入站规则
类型:端口
协议:TCP,特定本地端口:21115-21119
操作:允许连接
配置全选
名称:RustDeskServer_TCP
新填一个入站
类型:端口
协议:TCP,特定本地端口:21114
操作:允许连接
配置全选
名称:RustDesk-API
再新添一个入站
类型:端口
协议:UDP,特定本地端口
操作:允许连接
配置全选
名称:RustDeskServer_UDP

c

选择一个文件夹作为根目录新建docker-compose.yml文件,在文件中添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
version: '3'

services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs -r 你的Tailscale的ip:21117 -k _
volumes:
- ./data:/root
network_mode: "host"
restart: always

hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: always

打开终端运行

1
docker-compose up -d

d

(关于为什么会有c步骤,因为这篇博客是我回忆着写的,主要记录过程,至于什么时候将cd步合并,恕我技术不行,等以后有机会再优化吧)
将docker-compose.yml中内容修改为

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
services:
rustdesk-server:
container_name: rustdesk-server
image: lejianwen/rustdesk-server-s6:latest
ports:
- "21114:21114"
- "21115:21115"
- "21116:21116"
- "21116:21116/udp"
- "21117:21117"
- "21118:21118"
- "21119:21119"
environment:
- TZ=Asia/Shanghai
- RELAY=Tailscale:21117 #你的Tailscale的ip,以下标记Tailscale的同理
- ENCRYPT_PORT=21116
- KEY_REQUIRED=true
- KEY=你的真实key #位于根目录的data文件夹中的xxx.pub里
- RUSTDESK_API_JWT_KEY=apikey #你想要设置的lejianwen/rustdesk-api key
- RUSTDESK_API_RUSTDESK_ID_SERVER=Tailscale:21116 #Tailscale
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=Tailscale:21117 #Tailscale
- RUSTDESK_API_RUSTDESK_API_SERVER=http://Tailscale:21114 #Tailscale
- RUSTDESK_API_RUSTDESK_KEY=你的真实key
- HOST=0.0.0.0
volumes:
- ./data:/root
- ./api_data:/app/data
restart: unless-stopped

打开终端运行

1
docker-compose up -d

e

浏览器进入http://你的Tailscale的ip:21114http://127.0.0.1:21114这就是你的api后台
用户名默认admin,获取密码需在终端输入

1
docker logs rustdesk-api

在输出的日志中寻找类似 Admin password: XXXXXXXX 的字样即为你的初始密码
需要注意的是在后台添加账户时用户名中如果出现大写字母会在第一次保存后变为小写字母,需重新编辑一次即可生效,账户密码貌似只能通过重置密码设定

RustDesk客户端

前往RustDesk官网下载应用,安装好后打开设置选择网络
ID服务器:你的Tailscale的ip
中继服务器:同上
API服务器:http://你的Tailscale的ip:21114
Key:即为xxxx.pub中的key
需要注意的是,如果你在RustDesk服务端部署过程中打开了RustDesk客户端(如果还未启动服务那可能无影响),则客户端会与服务端争夺21116端口导致客户端无法连入服务,这时需要将客户端退出并重启服务端

结语

此项目还未完成,目前只能实现未登录账户时连接设备,登录后无法连接,项目还在缓慢推进,等以后有机会再看看能不能彻底完成吧
现在都五点了wc,我写这些东西花了两个小时,作业还没写呜呜:<