# rustdesk-api-server **Repository Path**: st547687/rustdesk-api-server ## Basic Information - **Project Name**: rustdesk-api-server - **Description**: 支持RUSTDESK1.1.9。支持WEB后台登录 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-08 - **Last Updated**: 2026-08-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RustdeskApiServer 自建的 RustDesk 1.1.9 兼容 API 服务器,提供**登录**与**地址薄**功能,数据用 SQLite 保存,含内置 Web 管理后台。 基于 ASP.NET Core 8 + EF Core + SQLite,跨平台(Windows / Linux)。 ## 功能 - 兼容 RustDesk 1.1.9 客户端的 API 协议 - `POST /api/login` 登录,返回 Bearer access_token - `POST /api/logout` 退出 - `GET|POST /api/currentUser` 当前用户 - `GET /api/ab` 拉取地址薄(整体 blob) - `POST /api/ab` 整体保存地址薄 - `GET|POST /api/heartbeat` 心跳 - 内置 Web 管理后台(`/login.html`):用户增删改查、启用/禁用、查看地址薄 - 随机 Token 鉴权(存 SQLite,可多设备登录) - PBKDF2-SHA256 口令哈希 ## 快速开始 ```bash # 构建 dotnet build -c Release # 运行(监听 http://0.0.0.0:21114,见 appsettings.json) dotnet run -c Release ``` 首次启动自动迁移数据库并创建初始管理员(见 `appsettings.json` 的 `Admin` 节): | 用户名 | 密码 | |---|---| | admin | admin12345 | > 部署后请立即登录后台修改密码。 ## 配置 RustDesk 1.1.9 客户端 1. 打开 RustDesk 客户端 → 设置 → 网络 2. 在 **API 服务器** 填 `http://<服务器IP>:21114`(生产建议前置 HTTPS 反代) 3. 登录页输入账号密码(用管理员在后台创建普通用户,或直接用 admin) ## 管理后台 浏览器访问 `http://<服务器IP>:21114/login.html`,用管理员账号登录。 ## 配置说明(appsettings.json) - `ConnectionStrings:SQLite`:SQLite 文件路径,默认 `rustdesk.db`(运行目录) - `Urls`:监听地址端口,默认 `http://0.0.0.0:21114` - `Token:ExpireDays`:令牌有效期天数(0 = 永不过期) - `Admin`:仅首次启动(库为空时)用于 seed 初始管理员 ## 发布 ```bash dotnet publish -c Release -o publish # 将 publish/ 目录复制到目标机器,运行 RustdeskApiServer.exe(Win)或 dotnet RustdeskApiServer.dll(Linux) ``` ## 安全提示 - 客户端登录走明文密码,**生产环境务必前置 Nginx/Caddy 终结 TLS** - SQLite 默认 WAL 模式,地址薄为整体覆盖(last-write-wins,符合 1.1.9 语义) - 禁止删除自己或最后一个管理员,避免锁死后台