[开源] Rustdesk Api Server Pro

这是一个基于开源RustDesk客户端的开源Api服务器,实现了客户端所有Api接口,并提供一个Web-UI用于管理数据。

项目地址:https://github.com/lantongxue/rustdesk-api-server-pro

我们致力于用最简单的代码和结构实现功能!

特性

  • 同步RuskDesk版本(当前适配客户端:1.2.7)
  • 纯Go实现所有接口
  • 可视化管理界面
    • 国际化支持
    • 统计面板
    • 用户管理
    • 会话管理
    • 日志审计
    • hbbr&hbbs管理
  • 轻量化&跨平台
    • 最小sqlite即可
    • 支持主流操作系统和架构
Dashboard
Users
Sessions
Audit

源代码编译

必要环境

  • Golang >= 1.21.4
  • NodeJs ~= 推荐最新LTS版本
  • pnpm ~= 最新版

编译

  1. 获取源码
Bash
git clone https://github.com/lantongxue/rustdesk-api-server-pro.git
  1. 编译api-server
Bash
cd backend && go build
  1. 编译前端
Bash
cd soybean-admin && pnpm i && pnpm build

运行

api-server

  1. 同步数据表结构
Bash
rustdesk-api-server-pro.exe sync
  1. 创建第一个账号
Bash
rustdesk-api-server-pro.exe user add admin yourpassword --admin

–admin 是一个可选项,启用后添加的用户为管理员用户,否则是普通用户

  1. 启动
Bash
rustdesk-api-server-pro.exe start

默认监听8080端口

Web管理界面

此步骤你需要一个WEB服务器软件(例如:nginx、apache等),通过将打包后的产物复制到WEB根目录即可。

一般情况下,打包后的产物在soybean-admin/dist目录中。

反向代理配置,你需要将在nginx或其他WEB服务器中配置反向代理,通过反向代理服务端才能正确访问到接口地址。

下面是nginx反向代理的参考配置:

Nginx
#PROXY-START /api for rustdesk client
location ^~ /api
{
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host 127.0.0.1;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;

    add_header X-Cache $upstream_cache_status;
}
#PROXY-END/

#PROXY-START /admin for web-ui
location ^~ /admin
{
    proxy_pass http://127.0.0.1:8080/admin;
    proxy_set_header Host 127.0.0.1;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;

    add_header X-Cache $upstream_cache_status;
}
#PROXY-END/

CLI命令行

Plaintext
Usage:
  rustdesk-api-server [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  rustdesk    About rustdesk-server command
  start       Start the api-server
  sync        The api-server database synchronization
  user        User management

Flags:
  -h, --help   help for rustdesk-api-server

Use "rustdesk-api-server [command] --help" for more information about a command.

后续计划

后续会持续跟进RustDesk客户端,并实现对应接口,这将作为一个长期计划。

短期计划

  •  继续实现1.2.7版本中的新接口
  •  增加Device管理
  •  增加用户登录日志
  •  增加hbbr&hbbs管理
  •  增加普通用户登录权限
  •  Dockerfile

赞助

如果您觉得此项目对您有所帮助,不妨请开发者喝杯咖啡 🙂

Sponsorship

感谢您的赞助

开源许可

您可以查看完整的许可证 这里

本项目采用MIT许可条款。

 

Show 1 Comment

1 Comment

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注