RustDesk API本项目使用 Go 实现了 RustDesk 的 API,并包含了 Web Admin 和 Web 客户端。RustDesk是一个远程桌面软件,提供了自托管的解决方案,官方API是收费的,这次咱们用到的是Github开源的第三方API源码。
✅特性
PC端API
支持
github
,google
和OIDC
登录,支持
web后台
授权登录支持
LDAP
(AD和OpenLDAP已测试), 如果API Server配置了LDAP个人版API
登录
地址簿
群组
授权登录
i18n
Web Admin
用户管理
设备管理
地址簿管理
标签管理
群组管理
Oauth 管理
配置LDAP, 配置文件或者环境变量
登录日志
链接日志
文件传输日志
快速使用web client
i18n
通过 web client 分享给游客
server控制
Web Client
自动获取API server
自动获取ID服务器和KEY
自动获取地址簿
游客通过临时分享链接直接远程到设备
v2 Preview
CLI
- 重置管理员密码
Docker部署
飞牛 Compose方式部署代码
1️⃣我们需要先创建一个路径,这个路径储存我们的docker-Compose.yml的文件和配置文件
2️⃣打开Docker,Compose新增项目->输入项目名称->设置路径->上传或者创建docker-
compose.yml把下面代码复制进去,点击完成直至构建完成
🐳Docker compose
networks:
rustdesk-net:
external: false
services:
rustdesk:
ports:
- 21114:21114
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: lejianwen/rustdesk-server-s6:latest
environment:
- RELAY=反代21117的域名:端口
- ENCRYPTED_ONLY=1
- MUST_LOGIN=N # 是否必须登录才能远程
- TZ=Asia/Shanghai
- RUSTDESK_API_RUSTDESK_ID_SERVER=反代21116的域名:端口
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=反代21117的域名:端口
- RUSTDESK_API_RUSTDESK_API_SERVER=反代21114的域名:端口
- RUSTDESK_API_RUSTDESK_WS_HOST=反代21114的域名:端口
- RUSTDESK_API_KEY_FILE=/data/id_ed25519.pub
- RUSTDESK_API_JWT_KEY= # jwt 为空不启用
- RUSTDESK_API_JWT_EXPIRE_DURATION= # jwt 为空不启用
volumes:
- ./data/rustdesk/server:/data
- ./data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped
注意: 一定要仔细看注释,看注释,修改对应的域名,先跳到文章后面( 外网访问
)看看怎么使用lucky反代再回来部署,不然无法使用web网页端远程。
给大家看看我配置好的截图
API后台使用
http://IP:21114
后台管理
以上地址访问API后台, 可以进行添加用户,设备管理等操作!
默认管理员用户名为:admin
通过容器日志获取管理员密码,自己查看日志往下翻,找到如下图的内容就是密码
登录后可以修改一下用户名和密码
2. 客户端使用
配置21114端口的API后,客户端登录即可同步登录账号的信息。
外网访问
外网访问需要有公网,我家是ipv6,所以需要配合域名使用,通过lucky进行DDNS然后再反向代理,通过域名配置客户端,并且进行访问。
如果不使用网页端远程只反代21114、21116、21117端口就行
如果需要web网页端远程就需要反代21118端口和21119端口,注意,21118和21119端口反代的前端域名要与21114使用的一样,并且反代的前端地址一定要带详细地址,必须要按照我说的来,不然网页远程不了,会报错,具体设置如下
21118端口:(前端:21114地址/ws/id)
21119端口 : (前端:21114地址/ws/relay )
看图已经很明了了,如果还不懂,就私信问我吧,这里弄好了再返回到上面配置compose部署代码,部署就行了。
配置客户端
配置客户端之前先去容器查看日志获取key
下载安装客户端
去官网下载对应设备的客户端,我以Windows为例
无法访问github的朋友公众号回复: 远程 获取Windows版网盘下载地址,我会持续更新
# 下载地址 https://github.com/rustdesk/rustdesk/releases
控制端和受控端都需要安装RustDesk,双击下载的exe文件打开就是这个界面,需要点击左边的安装才能完全安装完成
配置ID/中继服务器
1️⃣点击右上角设置
2️⃣选择网络,点击解锁网络设置
3️⃣控制端和受控端都需要设置ID/中继服务器
ID服务器: 填入21116端口反代的域名不加端口
中继服务器 : 填入21117端口 反代的域名 不加端口
API服务器 : 填入21114端口 反代的域名:端口
key : 前面日志里面获取的key
✅ 前面两个开头不要加https或http也不要加端口,切记千万不要加端口,否则连接不上,API需要加https或http
💥再次重申ipv6通过lucky反向代理的朋友,ID、中继服务器域名前面不要加https/http,域名后面也不要加端口,API服务器需要加https/http和端口
,参考 如下图
使用方法
使用方法和向日葵、ToDesk一样,知道ID和密码就能远程连接,也可以通过登录账号后同步自己的设备,设置自定义密码直接连接
登录成功
底部出现“就绪”才算成功,如果提示(提示未就绪,请检查网络连接)请检查前面第三步重申的内容
如果登录账号后看不到设备,点击设置->常规,停止服务,再开启服务就行了
网页端
网页端远程访问,最直接的就是访问下面的地址,点击 右上角三个点点,网络配置一下中继服务器,和pc端方法一样,然后登录账号或者直接输入对方的ID远程
21114端口反向代理域名/webclient2/
或者直接访问21114端口反向代理的域名,登录到后台,点击我的设备-> Web Clien 快速访问
APP客户端
APP配置如下
总结
这篇文章部署教程算是详细的了,没有缺斤少两,教程其实很简单,只要你认真看完,百分百能实现web管理、web远程,不会有任何问题,我已经这样使用很久了,使用op软路由拨号的,总是会有问题通讯不上特别是有V4公网的,直接使用DDNS吧,别反代,我是小米路由器,开启了DMZ,通不上的可以试试看。