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部署
1️⃣我们需要先创建一个路径,这个路径储存我们的docker-Compose.yml的文件和配置文件

2️⃣打开Docker,Compose新增项目->输入项目名称->设置路径->上传或者创建docker-
compose.yml把下面代码复制进去,点击完成直至构建完成

🐳Docker compose
注意: 一定要仔细看注释,看注释,修改对应的域名,先跳到文章后面( 外网访问
)看看怎么使用lucky反代再回来部署,不然无法使用web网页端远程。
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
给大家看看我配置好的截图

API后台使用
http://IP:21114
后台管理
以上地址访问API后台, 可以进行添加用户,设备管理等操作!
- 默认管理员用户名为:admin
 
- 通过容器日志获取管理员密码,自己查看日志往下翻,找到如下图的内容就是密码
 

登录后可以修改一下用户名和密码

2. 客户端使用
配置21114端口的API后,客户端登录即可同步登录账号的信息。
外网访问
外网访问需要有公网,我家是ipv6,所以需要配合域名使用,通过lucky进行DDNS然后再反向代理,通过域名配置客户端,并且进行访问。
配置lucky之前教程发过,不会的朋友直接看教程,如果不使用网页端远程只反代21114、21116、21117端口就行,教程看之前文章,包括配置https访问。
 从域名托管到 HTTPS,Lucky 动态 DDNS 搞定外网访问!
另外我是小米路由器,开启了DMZ,有通讯不上的试一试

如果需要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,通不上的可以试试看。