首页
/ 如何搭建RustDesk API服务器:从安装到配置的完整指南

如何搭建RustDesk API服务器:从安装到配置的完整指南

2026-04-26 10:11:35作者:伍希望

RustDesk API服务器是一款基于Go语言开发的后端服务程序,专为RustDesk远程协助软件提供API接口支持。通过部署该服务器,您可以轻松实现远程连接管理、账号创建、密码修改及主机地址簿维护等远程协助管理功能,为企业或个人用户提供稳定可靠的远程控制解决方案。

核心价值:为什么选择RustDesk API服务器 🚀

RustDesk API服务器作为RustDesk生态的重要组成部分,具有以下核心优势:

  • 轻量级高效:基于Go语言开发,资源占用低,响应速度快
  • 多数据库支持:灵活适配SQLite3和MySQL数据库环境
  • 安全认证:集成JWT认证(基于JSON的令牌认证机制),保障接口调用安全
  • RESTful设计:遵循REST架构风格,接口规范统一,易于集成
  • 跨平台兼容:支持多种操作系统,可与RustDesk全平台客户端无缝对接

环境准备:系统与依赖要求 📋

在开始搭建前,请确保您的系统满足以下环境要求:

技术参数规格

项目 要求 说明
操作系统 Linux/Unix 推荐Ubuntu 20.04+或CentOS 8+
Go语言 1.16+版本 用于编译和运行程序
编译器 GCC 编译依赖库所需
数据库 MySQL 5.7+/SQLite3 数据存储服务
网络端口 21114 默认API服务端口,需确保开放

多数据库对比选择

数据库类型 适用场景 优势 注意事项
SQLite3 个人使用/小规模部署 无需额外配置,文件型数据库 不适合高并发场景
MySQL 团队使用/企业部署 支持高并发,数据安全性更好 需要单独安装配置服务

快速上手:两种安装路径任选 🔧

快速安装:适合新手用户

  1. 获取项目代码

    git clone https://gitcode.com/gh_mirrors/rus/rustdesk-api-server.git
    cd rustdesk-api-server  # 进入项目目录
    
  2. 安装依赖包

    go mod download  # 使用Go模块管理工具安装依赖
    
  3. 启动服务

    go run main.go  # 直接运行主程序,自动创建数据表结构
    

手动编译:适合生产环境

  1. 编译可执行文件

    go build -o rustdesk-api-server main.go  # 编译生成可执行文件
    
  2. 设置权限并运行

    chmod +x rustdesk-api-server  # 添加执行权限
    ./rustdesk-api-server         # 启动服务
    

深度配置:系统与数据库设置 🔧

配置文件设置

项目主要配置文件为conf/app.conf,完整配置内容如下:

appname = rustdesk-api-server
HTTPAddr = 0.0.0.0
httpport = 21114
runmode = dev
sessionon = true
autorender = false
copyrequestbody = true

[dev]
httpport = 21114
log_level=7
log_path=logs/app.log
maxlines = 100000
maxsize = 102400

数据库连接配置

创建数据库配置文件(通常为YAML格式),根据选择的数据库类型添加以下配置:

MySQL配置示例

db:
  type: mysql
  host: 127.0.0.1
  port: 3306
  user: root
  password: yourpassword
  name: rustdesk_api
  charset: utf8mb4

SQLite3配置示例

db:
  type: sqlite3
  path: ./data/rustdesk_api.db

端口与防火墙设置

[!NOTE] 确保服务器防火墙已开放21114端口,以下是常见Linux系统防火墙设置命令:

Ubuntu/Debian系统

sudo ufw allow 21114/tcp  # 允许TCP 21114端口
sudo ufw reload           # 重新加载防火墙规则

CentOS/RHEL系统

sudo firewall-cmd --zone=public --add-port=21114/tcp --permanent
sudo firewall-cmd --reload

场景示例:客户端配置与API调用

客户端配置步骤

  1. 打开RustDesk客户端,点击"菜单" > "设置" > "网络"
  2. 在服务器设置界面填写相关信息
  3. 点击"确认"保存配置

RustDesk客户端服务器配置界面

配置说明:

  • ID服务器:填写您的服务器IP或域名
  • 中继服务器:通常与ID服务器相同
  • API服务器:格式为http://服务器IP:21114
  • Key:留空或填写您的API密钥

API使用方法示例

创建用户账号

curl命令示例

curl -X POST "http://127.0.0.1:21114/api/reg?username=test&password=test&auth_key=123456"

Python调用示例

import requests

url = "http://127.0.0.1:21114/api/reg"
params = {
    "username": "test",
    "password": "test",
    "auth_key": "123456"
}

response = requests.post(url, params=params)
print(response.json())

修改用户密码

curl命令示例

curl -X POST "http://127.0.0.1:21114/api/set-pwd?username=test&password=newpassword&auth_key=123456"

项目结构解析

rustdesk-api-server/
├── app/                 # 应用核心代码
│   ├── controllers/     # 控制器层 - 处理HTTP请求
│   ├── dto/             # 数据传输对象 - 定义接口数据结构
│   ├── models/          # 数据模型 - 数据库交互层
│   └── services/        # 业务逻辑层 - 实现核心功能
├── boot/                # 启动配置 - 初始化服务组件
├── conf/                # 配置文件 - 系统参数设置
├── constant/            # 常量定义 - 系统级常量
├── global/              # 全局变量 - 应用共享数据
├── routers/             # 路由配置 - API接口定义
├── utils/               # 工具函数 - 通用功能模块
├── Dockerfile           # Docker构建配置
├── db.sql               # 数据库初始化脚本
├── go.mod               # Go依赖管理
└── main.go              # 程序入口

常见问题:故障排除Q&A ❓

Q: 服务启动后无法访问API接口怎么办?
A: 请检查:1) 21114端口是否开放;2) 配置文件中HTTPAddr是否设为0.0.0.0;3) 防火墙是否允许该端口访问。

Q: 数据库连接失败如何解决?
A: 确认数据库服务是否正常运行,检查配置文件中的数据库连接参数是否正确,确保数据库用户有足够权限。

Q: 客户端无法连接到API服务器是什么原因?
A: 检查客户端配置的API服务器地址格式是否正确,Android客户端不需要添加"http://"前缀,直接填写IP:端口即可。

Q: 如何查看服务运行日志?
A: 日志文件默认保存在项目的logs/app.log路径下,可以使用tail -f logs/app.log命令实时查看。

[!NOTE] 重要安全提示:生产环境中建议使用Nginx反向代理API服务器,并启用HTTPS加密传输,同时定期备份数据库以防止数据丢失。

通过以上步骤,您已经掌握了RustDesk API服务器的搭建、配置和使用方法。如有其他问题,可参考项目源码中的文档或提交issue获取帮助。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起