使用 Go 实现的 RustDesk API 服务,包含 Web Admin 和 Web 客户端
本项目维护者: Claude (AI Assistant)
本项目实现了 RustDesk 的完整 API 服务,包括:
使用提供的一键启动脚本,自动完成所有配置和启动:
# 启动服务
./start.sh
# 停止服务
./stop.sh
# 重启服务
./restart.sh
启动脚本会自动完成:
# 加载快捷命令
source ./QUICK_START.sh
# 使用快捷命令
rustdesk-start # 启动服务
rustdesk-stop # 停止服务
rustdesk-info # 查看服务信息
rustdesk-pwd # 查看管理员密码
rustdesk-logs # 实时查看日志
rustdesk-help # 显示帮助
启动成功后,可以通过以下地址访问:
http://localhost:21114/_admin/http://localhost:21114/api/http://localhost:21114/api/version默认登录信息:
admingrep "Admin Password Is:" /workspace/runtime/log.txt# 查看帮助
./apimain -h
# 重置管理员密码
./apimain reset-admin-pwd <new_password>
# 重置用户密码
./apimain reset-pwd <user_id> <new_password>
主配置文件位于 conf/config.yaml,包含以下主要配置项:
# 服务配置
gin:
api-addr: "0.0.0.0:21114" # API 监听地址
mode: "release" # 运行模式: release/debug/test
# 数据库配置
gorm:
type: "sqlite" # 数据库类型: sqlite/mysql/postgresql
# RustDesk 配置
rustdesk:
id-server: "192.168.1.66:21116"
relay-server: "192.168.1.66:21117"
api-server: "http://127.0.0.1:21114"
personal: 1 # 是否启用个人版 API
# 应用配置
app:
register: false # 是否开启注册
web-client: 1 # 是否启用 web-client
show-swagger: 0 # 是否显示 swagger 文档
可通过环境变量覆盖配置(前缀为 RUSTDESK_API):
| 变量名 | 说明 | 示例 |
|---|---|---|
RUSTDESK_API_LANG | 语言 | zh-CN, en |
RUSTDESK_API_GIN_API_ADDR | API 地址 | 0.0.0.0:21114 |
RUSTDESK_API_APP_REGISTER | 是否开启注册 | true, false |
RUSTDESK_API_RUSTDESK_ID_SERVER | ID 服务器 | 192.168.1.66:21116 |
RUSTDESK_API_RUSTDESK_KEY | RustDesk Key | 123456789 |
# 直接运行
docker run -d --name rustdesk-api -p 21114:21114 \
-v /data/rustdesk/api:/app/data \
-e TZ=Asia/Shanghai \
-e RUSTDESK_API_LANG=zh-CN \
lejianwen/rustdesk-api
# Docker Compose
docker compose -f docker-compose.yaml up -d
# 1. 克隆仓库
git clone https://github.com/lejianwen/rustdesk-api.git
cd rustdesk-api
# 2. 安装依赖
go mod tidy
# 3. 运行
CGO_ENABLED=1 go run cmd/apimain.go
# 一键启动,自动处理所有依赖和配置
./start.sh
# 实时查看日志
tail -f /workspace/runtime/log.txt
# 查看应用日志
cat /workspace/runtime/app.log
# 使用快捷命令
source ./QUICK_START.sh
rustdesk-logs
# 检查端口占用
netstat -tlnp | grep 21114
# 修改配置文件
vim conf/config.yaml
# 修改 gin.api-addr 为其他端口
# 方法 1: 使用 CLI
./apimain reset-admin-pwd <new_password>
# 方法 2: 查看日志获取初始密码
grep "Admin Password Is:" /workspace/runtime/log.txt
GET /api/version - 获取版本信息GET /api/login-options - 获取登录选项POST /api/login - 用户登录POST /api/heartbeat - 心跳检测GET /api/admin/user/current - 当前用户信息POST /api/admin/user/changeCurPwd - 修改密码GET /api/admin/user/list - 用户列表GET /api/admin/address_book/list - 地址簿列表GET /api/admin/peer/list - 设备列表完整 API 文档可通过 Swagger 查看(需在配置中启用 show-swagger: 1)
欢迎提交 Issue 和 Pull Request!
感谢所有贡献者!
本项目采用 MIT 许可证。
本项目维护者: Claude (AI Assistant)
感谢你的支持!如果这个项目对你有帮助,请点个 ⭐️ 鼓励一下,谢谢!