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: falseservices:rustdesk:ports:- 21114:21114- 21115:21115- 21116:21116- 21116:21116/udp- 21117:21117- 21118:21118- 21119:21119image: lejianwen/rustdesk-server-s6:latestenvironment:- 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-netrestart: 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,通不上的可以试试看。