kingmo888 / rustdesk-api-server

基于Django的RustDesk Api&Web Server,除了支持api所有功能,还支持web注册、管理、展示等。已支持到最新1.2.3版本。
491 stars 114 forks source link

rustdesk-api-server

请使用客户端最新版本1.2.3

The English explanation is available by clicking here.

一个 python 实现的 Rustdesk API 接口,支持 WebUI 管理

主页面

功能特点

后台主页: Admin Main

安装

方法1:开箱即用

仅支持Windows,请前往 release 下载,无需安装环境,直接运行启动.bat即可。 截图:

window直接运行版

方法2:代码运行

# 将代码克隆到本地
git clone https://github.com/kingmo888/rustdesk-api-server.git
# 进入目录
cd rustdesk-api-server
# 安装依赖
pip install -r requirements.txt
# 确保依赖安装正确后,执行:
# 端口号请自行修改,建议保留21114为Rustdesk API默认端口
python manage.py runserver 0.0.0.0:21114

此时即可使用 http://本机IP:端口 的形式来访问。

注意:如果 CentOS 配置时,Django4 会因为系统的 sqlite3 版本过低而出问题,请修改依赖库中的文件。路径:xxxx/Lib/site-packages/django/db/backends/sqlite3/base.py (根据情况自行查找包所在地址),修改内容:

# from sqlite3 import dbapi2 as Database   #(注释掉这行)
from pysqlite3 import dbapi2 as Database # 启用pysqlite3

方法3:Docker 运行

Docker方法1:自行构建

git clone https://github.com/kingmo888/rustdesk-api-server.git
cd rustdesk-api-server
docker compose --compatibility up --build -d

感谢热心网友 @ferocknew 提供。

Docker方法2:预构建运行

docker run 命令:

docker run -d \
  --name rustdesk-api-server \
  -p 21114:21114 \
  -e CSRF_TRUSTED_ORIGINS=http://yourdomain.com:21114 \ #防跨域信任来源,可选
  -e ID_SERVER=yourdomain.com \ #Web控制端使用的ID服务器
  -v /yourpath/db:/rustdesk-api-server/db \ #修改/yourpath/db为你宿主机数据库挂载目录
  -v /etc/timezone:/etc/timezone:ro \
  -v /etc/localtime:/etc/localtime:ro \
  --network bridge \
  --restart unless-stopped \
  ghcr.io/kingmo888/rustdesk-api-server:latest

docker-compose 方式:

version: "3.8"
services:
  rustdesk-api-server:
    container_name: rustdesk-api-server
    image: ghcr.io/kingmo888/rustdesk-api-server:latest
    environment:
      - CSRF_TRUSTED_ORIGINS=http://yourdomain.com:21114 #防跨域信任来源,可选
      - ID_SERVER=yourdomain.com #Web控制端使用的ID服务器
    volumes:
      - /yourpath/db:/rustdesk-api-server/db #修改/yourpath/db为你宿主机数据库挂载目录
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    network_mode: bridge
    ports:
      - "21114:21114"
    restart: unless-stopped

环境变量

变量名 参考值 备注
HOST 默认 0.0.0.0 绑定服务的IP
TZ 默认 Asia/Shanghai,可选 时区
SECRET_KEY 可选,自定义一串随机字符 程序加密秘钥
CSRF_TRUSTED_ORIGINS 可选,默认关闭验证;
如需开启填写你的访问地址 http://yourdomain.com:21114
如需关闭验证请删除此变量,而不是留空
防跨域信任来源
ID_SERVER 可选,默认为和API服务器同主机。
可自定义如 yourdomain.com
Web控制端使用的ID服务器
DEBUG 可选,默认 False 调试模式
ALLOW_REGISTRATION 可选,默认 True 是否允许新用户注册
数据库配置 -- 开始 -- 若不使用MYSQL则以下皆无需配置
DATABASE_TYPE 可选,默认 SQLITE3 数据库类型(SQLITE/MYSQL)
MYSQL_DBNAME 可选,默认 - MYSQL数据库名
MYSQL_HOST 可选,默认 127.0.0.1 MYSQL数据库的服务器IP
MYSQL_USER 可选,默认 - MYSQL数据库的用户名
MYSQL_PASSWORD 可选,默认 - MYSQL数据库的密码
MYSQL_PORT 可选,默认 3306 MYSQL数据库端口
数据库配置 -- 结束 -- 查看【sqlite3迁移mysql教程
LANGUAGE_CODE 可选,默认 zh-hans 语言,支持中文(zh-hans)、英语(en)

使用问题

开发计划

其他相关工具

Stargazers over time

Stargazers over time