RustDesk是一款可以完全由用户定义的远程桌面软件。您可以使用RustDesk服务器自建中继服务器,先尝试打洞加密直连,不行再由服务器转发。安全问题。。。最好自己搭建服务端,官方原来1.0之后不准备开源了,不过最近开源版本又更新1.1.11,测试连接超快。
RustDesk服务器开源地址:https://github.com/rustdesk/rustdesk-server
RustDesk服务器官方文档:https://rustdesk.com/docs/en/self-host/
RustDesk服务器Docker:https://hub.docker.com/r/rustdesk/rustdesk-server
2024.9.26更新:@裙下孤魂 重新制作,根据新版特性增加UI配置选项和用户管理(多语言)。
注意:2024.9.26后安装的1.1.11 以及之后的 .12因为 用户管理 重构,所以套件更新过程会删除旧版.11的用户数据库。
矿神群晖SPK套件源内安装
矿神群晖SPK套件源 提供各类国内常用的DSM6、DSM7套件,目前上架DSM7套件:Aria2、ffmpeg、Jellyfin、qBittorrent、Syncthing、Transmission等等,持续更新....
套件截图
2024.9.26更新,增加用户管理界面,默认用户名/密码:admin
2024.9.26更新,增加用户管理界面,默认用户名/密码:admin
2024.9.26更新,增加用户管理界面,默认用户名/密码:admin
新增支持Web-Client,网页远程连接设备
网页客户端地址:http://群晖IP:21114/webclient/#/ (以下是我内网演示的)
如果无法启用Web-Client功能,估计是从1.1.12-1及之前版本升级的,修补增加:先停用套件!
sed -i '/^lang: "zh-CN"/a app:\n web-client: 1' /var/packages/RustDeskServer/target/conf/config.yaml
使用教程
支持RustDesk官方客户端下载地址,最新@裙下孤魂 制作版本:123云盘下载
支持Windows、MacOS、安卓、iOS,Ubuntu、Debian、Fedora、Centos8、Manjaro、Suse等各种linux系统
服务器套件安装完毕后,你还需要设置公网IP的端口映射,其它远程设备才能连接打洞的。。。
打开每个每个每个服务端设置为自己的服务器 IP:端口 即可,下图为填写示例:
新版支持用户登陆,集成用户管理
用户注册
v1.1.12-11新增用户注册,地址:http://群晖IP:21114/_admin/#/register
安全原因默认禁用,需要修改配置文件register: true,(-11之前升级的需要自己修改增加配置参数)
一键开启用户注册脚本:先停用套件!
#v1.1.12-11及之后!之后!之后!的一键开启
sed -i 's/register: false/register: true/g' /var/packages/RustDeskServer/target/conf/config.yaml
#v1.1.12-11之前!之前!之前!的一键添加开启
sed -i '/^lang: "zh-CN"/a app:\n register: true' /var/packages/RustDeskServer/target/conf/config.yaml
RustDesk PC客户端更换ID
右键另存bat脚本,在电脑上运行:RustDesk_ID_Changer.bat
来自项目:https://github.com/abdullah-erturk/RustDesk-ID-Changer
关于新API的https连接
目前测试API协议选择 https 后对外映射 21114 是无法登陆的,报ssl错误。
目前解决方案:API选择 http ,使用群晖的反代为 https 再对外映射:
更多配置项
配置文件路径:/var/packages/RustDeskServer/target/conf/config.yaml
示例:来自v1.1.12-11
lang: "zh-CN"
app:
web-client: 1 # 1:启用 0:禁用
register: false #是否开启注册
gin:
api-addr: "0.0.0.0:21114"
mode: "release" #release,debug,test
resources-path: 'resources' #对外静态文件目录
trust-proxy: ""
gorm:
type: "sqlite"
max-idle-conns: 10
max-open-conns: 100
mysql:
username: "root"
password: ""
socket: "/run/mysqld/mysqld.sock"
addr: ""
dbname: "rustdesk"
rustdesk:
id-server: "127.0.0.1:21116"
relay-server: "127.0.0.1:21117"
api-server: "http://127.0.0.1:21114"
key: ""
key-file: "/var/packages/RustDeskServer/target/data/id_ed25519.pub"
personal: 1
logger:
path: "/var/packages/RustDeskServer/target/logs/log.txt"
level: "error" #trace,debug,info,warn,error,fatal
report-caller: true
proxy:
enable: false
host: ""
redis:
addr: "127.0.0.1:6379"
password: ""
db: 0
cache:
type: "file"
file-dir: "/var/packages/RustDeskServer/target/runtime/cache"
redis-addr: "127.0.0.1:6379"
redis-pwd: ""
redis-db: 0
oss:
access-key-id: ""
access-key-secret: ""
host: ""
callback-url: ""
expire-time: 30
max-byte: 10240
jwt:
private-key: "/var/packages/RustDeskServer/target/conf/jwt_pri.pem"
expire-duration: 360000
关于key加密验证的说明(新版UI已支持直接修改)
↓↓↓↓↓↓↓↓↓以下内容已过时!!!注意1.1.11及之后客户端连接必须要填key!!!注意:修改了默认key才需要勾选保存!
RustDesk服务端1.1.5版本会自动生成加密key,公钥位于套件目录:
/var/packages/RustDeskServer/target/data/id_ed25519.pub
如果要更改密钥,请删除文件id_ed25519和id_ed25519.pub,重启套件会自动重新生成。
客户端不填公钥key则不会进行加密连接,如果要禁止没有密钥的用户建立非加密连接,需要启动时添加参数:-k _
对于群晖服务端套件,修改:/var/packages/RustDeskServer/scripts/start-stop-status 第80行:
LANG=C cd "$PACKAGE_BASE" && (nohup "$HBBR_BIN" -p $HBBR_PORT -k _ > "$HBBR_LOG" 2>&1 &) && (nohup "$HBBS_BIN" -r 127.0.0.1 -p $HBBS_PORT -k _ > "$HBBS_LOG" 2>&1 &)
这样如果只知道服务器地址没填公钥key的话客户端就不允许连接,如下图:
捐赠开发者
本文章打赏将积累转捐赠给@裙下孤魂,谢谢各位的支持!