mirror of
https://github.com/lejianwen/rustdesk-api.git
synced 2025-12-01 17:43:16 +00:00
c827a4e3350aa4c11a671adab39352d42e54526b
RustDesk API
本项目使用 Go 实现了 RustDesk 的 API,并包含了 Web UI 和 Web 客户端。RustDesk 是一个远程桌面软件,提供了自托管的解决方案。
使用前准备
Rustdesk
- PC客户端使用的是 1.3.0,经测试 1.2.6+ 都可以
- server端必须指定key,不能用自带的生成的key,否则可能链接不上或者超时
hbbs -r <relay-server-ip[:port]> -k 123456789
hbbr -k 123456789
功能
API 服务: 基本实现了PC端基础的接口。
Web UI: 使用前后端分离,提供用户友好的管理界面,主要用来管理和展示。
前端代码在rustdesk-api-web
后台访问地址是http://<your server>:21114/_admin/初次安装管理员为用户名密码为admin admin,请即时更改密码
Web 客户端:
自动化文档: 使用 Swag 生成 API 文档,方便开发者理解和使用 API。
安装与运行
相关配置
- 参考
conf/config.yaml配置文件,修改相关配置。如果gorm.type是sqlite,则不需要配置mysql相关配置。
gin:
api-addr: "0.0.0.0:21114"
mode: "release"
resources-path: 'resources'
gorm:
type: "sqlite"
max-idle-conns: 10
max-open-conns: 100
mysql:
username: "root"
password: "111111"
addr: "192.168.1.66:3308"
dbname: "rustdesk"
rustdesk:
id-server: "192.168.1.66:21116"
relay-server: "192.168.1.66:21117"
api-server: "http://192.168.1.66:21114"
key: "123456789"
安装步骤
docker运行
- 直接docker运行
docker run -d --name rustdesk-api -p 21114:21114 -v /data/rustdesk/api:/app/data lejianwen/rustdesk-api
- 使用
docker compose,根据rustdesk提供的示例加上自己的rustdesk-api
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116 # 自定义 hbbs 映射端口
- 21116:21116/udp # 自定义 hbbs 映射端口
- 21118:21118 # web client 需要
image: rustdesk/rustdesk-server
command: hbbs -r <relay-server-ip[:port]> -k 123456789 # 填入个人域名或 IP + hbbr 暴露端口
volumes:
- /data/rustdesk/hbbs:/root # 自定义挂载目录
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
deploy:
resources:
limits:
memory: 64M
hbbr:
container_name: hbbr
ports:
- 21117:21117 # 自定义 hbbr 映射端口
image: rustdesk/rustdesk-server
command: hbbr -k 123456789
#command: hbbr
volumes:
- /data/rustdesk/hbbr:/root # 自定义挂载目录
networks:
- rustdesk-net
restart: unless-stopped
deploy:
resources:
limits:
memory: 64M
rustdesk-api:
container_name: rustdesk-api
ports:
- 21114:21114
image: lejianwen/rustdesk-api
volumes:
- /data/rustdesk/api:/app/data #将数据库挂载出来方便备份
networks:
- rustdesk-net
restart: unless-stopped
下载release直接运行
下载地址release
源码安装
-
克隆仓库
git clone https://github.com/lejianwen/rustdesk-api.git cd rustdesk-api -
安装依赖
go mod tidy #安装swag,如果不需要生成文档,可以不安装 go install github.com/swaggo/swag/cmd/swag@latest -
编译后台前端,前端代码在rustdesk-api-web中
cd resources mkdir -p admin git clone https://github.com/lejianwen/rustdesk-api-web cd rustdesk-api-web npm install npm run build cp -ar dist/* ../admin/ -
运行
#直接运行 go run cmd/apimain.go #或者使用generate_api.go生成api并运行 go generate generate_api.go -
编译,如果想自己编译,先cd到项目根目录,然后windows下直接运行
build.bat,linux下运行build.sh,编译后会在release目录下生成对应的可执行文件。直接运行编译后的可执行文件即可。 -
打开浏览器访问
http://<your server>:21114/_admin/,默认用户名密码为admin,请及时更改密码。
Languages
Go
98%
HTML
1.2%
Shell
0.6%
Batchfile
0.2%







