Skip to content

API 参考

MSM 提供完整的 REST API,支持通过编程方式管理平台功能。

基本信息

项目说明
Base URLhttp://your-server:7777/api/v1
协议HTTP / HTTPS
数据格式JSON
认证方式JWT Token / API Token

认证

登录获取 Token

bash
curl -X POST http://your-server:7777/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username": "admin", "password": "your-password"}'

响应:

json
{
  "token": "eyJhbGciOiJIUzI1NiIs...",
  "refresh_token": "eyJhbGciOiJIUzI1NiIs...",
  "user": {
    "id": 1,
    "username": "admin",
    "role": "admin"
  }
}

使用 Token

在请求头中携带 Token:

bash
curl -H "Authorization: Bearer YOUR_TOKEN" \
  http://your-server:7777/api/v1/services

刷新 Token

bash
curl -X POST http://your-server:7777/api/v1/auth/refresh \
  -H "Authorization: Bearer YOUR_REFRESH_TOKEN"

API Token(长期令牌)

也可以使用 API Token 认证(需要管理员在 Web 界面创建):

bash
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
  http://your-server:7777/api/v1/services

API 端点总览

认证相关

方法路径说明
POST/auth/login用户登录
POST/auth/logout退出登录
POST/auth/refresh刷新 Token
GET/auth/me获取当前用户信息

服务管理

方法路径说明
GET/services获取所有服务列表
GET/services/:name获取指定服务详情
GET/services/:name/exists检查服务是否存在
POST/services/:name/start启动服务
POST/services/:name/stop停止服务
POST/services/:name/restart重启服务
GET/services/:name/logs获取服务日志
PUT/services/:name/config更新服务配置

系统守护进程

方法路径说明
GET/daemon/status获取守护进程状态
POST/daemon/restart重启守护进程
POST/daemon/stop停止守护进程

系统监控

方法路径说明
GET/monitor/system获取系统信息
GET/monitor/hardware获取硬件信息
GET/monitor/resources获取资源使用率
GET/monitor/network获取网络统计
GET/monitor/history获取资源历史数据
GET/monitor/stats获取综合统计

配置管理

方法路径说明权限
GET/config/tree获取文件树Pro
GET/config/file获取文件内容Pro
PUT/config/file更新文件内容Pro
POST/config/file创建新文件Pro
DELETE/config/file删除文件Pro
POST/config/validate验证配置-
GET/config/download下载文件-
POST/config/upload上传文件Pro

配置历史

方法路径说明权限
GET/history获取历史列表Pro
GET/history/:id获取指定版本Pro
POST/history/:id/rollback回滚到指定版本Pro
POST/history/:id/star标记为稳定版Pro
DELETE/history/:id删除历史记录Pro
GET/history/compare版本对比Pro

DNS 服务(MosDNS)管理

方法路径说明
GET/mosdns/statsDNS 统计信息
GET/mosdns/overview/dashboard概览数据
GET/mosdns/query-logs查询日志
GET/mosdns/clients客户端列表
POST/mosdns/clients添加客户端
POST/mosdns/clients/scan扫描客户端
GET/mosdns/rules/:type获取规则列表
POST/mosdns/rules/:type添加规则
PUT/mosdns/rules/:type更新规则
DELETE/mosdns/rules/:type删除规则
POST/mosdns/rules/:type/import导入规则
GET/mosdns/rules/:type/export导出规则
GET/mosdns/system/cache缓存信息
POST/mosdns/system/cache/clear清除缓存

用户管理

方法路径说明权限
GET/users用户列表Admin
POST/users创建用户Admin + Pro
GET/users/:id用户详情Admin
PUT/users/:id更新用户Admin + Pro
DELETE/users/:id删除用户Admin + Pro
POST/users/:id/reset-password重置密码Admin
POST/users/:id/toggle-active启用/禁用Admin

个人资料

方法路径说明
PUT/profile更新个人信息
POST/profile/password修改密码

系统设置

方法路径说明权限
GET/settings获取系统设置Admin
PUT/settings更新系统设置Admin

系统诊断

方法路径说明
GET/system/diagnostics运行系统诊断

日志管理

方法路径说明
GET/logs/:service获取日志
GET/logs/:service/download下载日志
DELETE/logs/:service清除日志
GET/logs/:service/stats日志统计

授权管理

方法路径说明
GET/license-activation/status授权状态
GET/license-activation/hardware-fingerprint设备指纹
POST/license-activation/activate激活授权
POST/license-activation/deactivate取消激活
POST/license-activation/refresh刷新授权

组件更新

方法路径说明权限
GET/component-updates/:component/status检查更新状态-
POST/component-updates/:component/check检查更新Admin
POST/component-updates/:component/update执行更新Admin

版本信息

方法路径说明
GET/version获取版本信息

实时事件流

MSM 提供基于 SSE(Server-Sent Events)的实时事件推送:

路径说明
/events统一事件流
/events/monitor系统监控事件
/events/proxy代理服务事件
/events/mosdnsMosDNS 事件
/events/mihomoClash 事件(接口名保留 mihomo
/events/logs/:service服务日志流

使用示例:

bash
# 监听实时事件
curl -N -H "Authorization: Bearer TOKEN" \
  http://your-server:7777/api/v1/events/monitor

使用示例

获取系统状态

bash
# 获取系统资源使用率
curl -H "Authorization: Bearer TOKEN" \
  http://your-server:7777/api/v1/monitor/resources

响应示例:

json
{
  "cpu_percent": 26.6,
  "memory_percent": 57.7,
  "memory_total": 68719476736,
  "memory_used": 39636488192,
  "disk_percent": 43.5
}

管理 DNS 规则

bash
# 获取域名分流规则
curl -H "Authorization: Bearer TOKEN" \
  http://your-server:7777/api/v1/mosdns/rules/domain

# 添加规则
curl -X POST -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com", "action": "proxy"}' \
  http://your-server:7777/api/v1/mosdns/rules/domain

管理服务

bash
# 重启 MosDNS
curl -X POST -H "Authorization: Bearer TOKEN" \
  http://your-server:7777/api/v1/services/mosdns/restart

# 查看 Clash 日志
curl -H "Authorization: Bearer TOKEN" \
  http://your-server:7777/api/v1/services/mihomo/logs

错误处理

API 错误响应格式:

json
{
  "error": "unauthorized",
  "message": "Invalid or expired token"
}

常见 HTTP 状态码:

状态码说明
200请求成功
201创建成功
400请求参数错误
401未认证或 Token 过期
403权限不足
404资源不存在
429请求频率过高(限流)
500服务器内部错误

速率限制

  • 登录接口有频率限制,短时间内多次失败会被临时锁定
  • 其他接口暂无严格限流,但建议合理控制请求频率

下一步