diff --git a/README.md b/README.md index f091983..37ee8c5 100644 --- a/README.md +++ b/README.md @@ -1,95 +1,147 @@ -## Rustdesk Api接口介绍 +# rustdesk-api-server +
-
-
-
+ 一个 python 实现的 Rustdesk API 接口,支持 WebUI 管理
+
+
+
-
+
+
+
-
-
+
+
+
+
+
- 支持前台展示设备信息,分为管理员版、用户版。
- 支持自定义别名(备注)。
- 支持后台管理。
- 支持彩色标签。
-
-
-
+
+
+
- 支持设备在线统计。
- 支持设备密码保存。
- 利用心跳接口自动管理token并保活。
- 支持分享设备给其他用户(本功能暂未实现)。
-
- 后台主页:
-
-### 管理员设置
-当数据库中不存在账户时,第一个注册的账户直接获取超级管理员权限,之后注册账户为普通账户。
+后台主页:
+
-### 其他说明
-设备信息
-经测试,客户端会在非绿色版模式下,安装为服务的模式中,定时发送设备信息到api接口,
-所以如果想要设备信息,需要安装rustdesk客户端并启动服务。
+## 安装
-### 连接速度慢
-新版本Key模式链接速度慢,可以在服务端启动服务时,不要带参数的-k,此时,客户端也不能配置key
+### 开箱即用
+仅支持Windows,请前往 release 下载,无需安装环境,直接运行`启动.bat`即可。独立版截图:
+
-### 获取方法
+### 代码运行
-#### 开箱即用版
-
- Window独立打包版,无需安装环境,直接运行`启动.bat`即可。请前往release下载。仅支持windows
- 独立版截图:
-
-
-
-#### 代码版本
-
-将代码克隆到本地后,请先安装依赖:
-`pip install -r requirements.txt`
-
-确保依赖安装正确后,执行:
-`python manage.py runserver 0.0.0.0:21114` 端口号请自行修改。
-
-此时即可使用`http://本机IP:端口`的形式来访问啦。
-
-支持Django3及Django4+
-注意,如果cengtos配置时,Django4会因为系统的sqlite3版本过低而出问题,请修改依赖库中的文件,路径:
-`xxxx/Lib/site-packages/django/db/backends/sqlite3/base.py` (这是例子,根据情况自行查找包所在地址)
-
-
-修改内容:
+```bash
+# 将代码克隆到本地
+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` (根据情况自行查找包所在地址),修改内容:
+```python
# from sqlite3 import dbapi2 as Database #(注释掉这行)
from pysqlite3 import dbapi2 as Database # 启用pysqlite3
```
-#### Docker方式
-
-根目录执行命令:
-`docker compose --compatibility up --build -d;`
+### Docker 运行
+#### 自行构建
+```bash
+git clone https://github.com/kingmo888/rustdesk-api-server.git
+cd rustdesk-api-server
+docker compose --compatibility up --build -d
+```
感谢热心网友 @ferocknew 提供。
-### 计划开发
+#### 预构建运行
-1、分享设备给其他已注册用户
+docker run 命令:
- 说明:类似网盘url分享,url激活后可以获得某个或某组或某个标签下的设备
- 备注:其实web api作为中间件,可做的不多,更多功能还是需要修改客户端来实现,就不太值当了。
+```bash
+docker run -d \
+ --name rustdesk-api-server \
+ -p 21114:21114 \
+ -e HOST=0.0.0.0 \
+ -e TZ=Asia/Shanghai \
+ -e CSRF_TRUSTED_ORIGINS=http://yourdomain.com:21114 \ #修改CSRF_TRUSTED_ORIGINS为你的访问地址
+ -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:master
+```
-2、集成Web桌面形式
+docker-compose 方式:
- 将大神的web桌面集成进来(待议)
\ No newline at end of file
+```yaml
+version: "3.8"
+services:
+ rustdesk-api-server:
+ container_name: rustdesk-api-server
+ image: ghcr.io/kingmo888/rustdesk-api-server:master
+ environment:
+ - HOST=0.0.0.0
+ - TZ=Asia/Shanghai
+ - CSRF_TRUSTED_ORIGINS=http://yourdomain.com:21114 #修改CSRF_TRUSTED_ORIGINS为你的访问地址
+ 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
+```
+## 使用问题
+
+- 管理员设置
+
+ 当数据库中不存在账户时,第一个注册的账户直接获取超级管理员权限,之后注册账户为普通账户。
+
+- 设备信息
+
+ 经测试,客户端会在非绿色版模式下,安装为服务的模式中,定时发送设备信息到api接口,所以如果想要设备信息,需要安装rustdesk客户端并启动服务。
+
+- 连接速度慢
+
+ 新版本Key模式链接速度慢,可以在服务端启动服务时,不要带参数的-k,此时,客户端也不能配置key。
+
+## 开发计划
+
+- [ ] 分享设备给其他已注册用户
+
+ > 说明:类似网盘url分享,url激活后可以获得某个或某组或某个标签下的设备
+ > 备注:其实web api作为中间件,可做的不多,更多功能还是需要修改客户端来实现,就不太值当了。
+
+- [ ] 集成Web客户端形式
+
+ > 将大神的web客户端集成进来(待议)