08. 运维与管理接口¶
1. 用户审批(Admin)¶
GET /api/approvals/pending¶
参数:
status=0|1|2pagelimit
返回包含用户基础信息和证书列表(certs)。
PUT /api/approvals/:id/approve¶
请求:
{ "status": 1, "note": "审核通过" }
status=1通过status=2拒绝
2. 操作证审批(Admin)¶
GET /api/certificate-approvals¶
参数:status=-1|0|1|2、page、limit
PUT /api/operator-certificates/:id/approve¶
请求:
{ "status": 1, "note": "证件清晰,予以通过" }
3. 中继台与服务器(Admin)¶
中继台¶
GET /api/relaysGET /api/relay/list(兼容)POST /api/relay/createPOST /api/relay/updatePOST /api/relay/delete
中继台请求示例(create/update):
{
"id": 1,
"name": "深圳 439.500",
"up_freq": "431.500",
"down_freq": "439.500",
"send_ctss": "88.5",
"recive_ctss": "88.5",
"location": "广东省 深圳市 南山区",
"status": 1,
"note": "主站"
}
删除请求:
{ "id": 1 }
服务器¶
GET /api/serversGET /api/server/list(兼容)POST /api/server/createPOST /api/server/updatePOST /api/server/delete
删除请求:
{ "id": 2 }
边缘节点¶
GET /api/edge-nodes:节点配置、在线状态、应用层流量和路由同步指标。POST /api/edge-nodes:创建节点并返回仅显示一次的注册凭据。PUT /api/edge-nodes/:id:修改昵称、状态和公开接入点字段。DELETE /api/edge-nodes/:id:永久删除节点,断开在线会话并使已有凭据失效。POST /api/edge-nodes/:id/rotate-credential:轮换长期凭据。POST /api/edge-nodes/:id/revoke-credential:吊销全部节点凭据并断开会话。POST /api/edge-nodes/:id/disconnect:仅重置当前连接,凭据仍可用于重连。
创建和轮换响应包含明文凭据,均设置 Cache-Control: no-store,且凭据只显示
一次。轮换响应的 delivered_online=true 表示在线边缘已将新 identity 持久化
并确认;为 false 时必须人工安装响应中的新凭据。旧凭据只在配置的短时
宽限期内可重连。
4. 操作日志(Admin)¶
GET /api/operatorlog/listGET /api/operatorlog/stats
/list 参数:page、page_size、event_type。节点创建、首次注册、认证失败、
轮换、吊销、禁用和强制下线分别记录独立事件,并保存来源 IP。
5. 幽灵 Session 管理(Admin)¶
GET /api/admin/radio/sessions:返回全部在线幽灵 Session 摘要。DELETE /api/admin/radio/sessions/:session_id:精确断开一个 Session,不影响同账号其他端。
列表响应设置 Cache-Control: no-store。管理响应包含完整 session_id 作为精确操作标识,
但只返回八字符 client_instance_hint,不会返回完整客户端实例 ID、UDP session_tag、
JWT 或网络端点。强制断开会写入 ghost_session_disconnect 操作日志,日志中的 Session
只保留八字符短 ID。
管理页面位于 /admin/radio-sessions,支持按账号/呼号/Session 短 ID 和连接方式筛选,
并提供带确认的单 Session 断开操作。
6. 缓存与实时通信指标(Admin)¶
GET /api/cache/metricsPOST /api/cache/metrics/resetPOST /api/cache/clearGET /api/udp/metrics:UDP 入站、fan-out、接收者快照、录音、WebSocket 投递、 Ghost Session/包拒绝、频道消息 API 和 socket buffer 指标。
/api/udp/metrics 的主要层级:
ghost_sessions:在线 Session/账号、平台与传输分布、订阅量、注册/替换/清理及限额拒绝。ghost_packets:无效 tag、身份不匹配、端点不匹配和注册表状态拒绝。receiver_cache:快照命中/重建、候选目标、端点去重、构建条目和构建耗时。websocket:写队列、丢弃、fan-out 候选、Session 去重和最终投递。message_api:列表/详情请求、HTTP 状态、权限/参数/游标拒绝、查询错误、可见群组、返回行数、音频 URL 授权成功/失败,以及请求/查询耗时累计直方图。
消息耗时直方图使用 query_le_* 和 request_le_* 累计桶,边界为 1ms、5ms、10ms、
25ms、50ms、100ms、250ms、500ms、1s 和 5s;监控系统可据此计算延迟分位。
指标返回示例:
{
"code": 200,
"message": "success",
"data": {
"l1_hits": 1234,
"l1_misses": 321,
"l1_hit_rate": 0.79,
"total_requests": 1555,
"invalidations": 42,
"errors": 0,
"latency": { "get_avg_ns": 1200, "set_avg_ns": 2400, "del_avg_ns": 1800 },
"uptime_seconds": 98765
}
}
7. 公开中继查询(无登录)¶
GET /api/public/relays?location=广东省¶
返回:
{ "code": 200, "message": "成功", "data": { "items": [] } }