Management API
September 9, 2026 · View on GitHub
Base URL: http://host:3000
Auth: Authorization: Bearer <jwt>
Auth
POST /api/auth/login{username,password}→{token,user}GET /api/auth/mePOST /api/auth/logout
Core
GET /api/metrics/dashboardGET /api/server/infoGET|PUT /api/server/config(写入server.toml;端口变更需重启)POST /api/server/restart(进程退出,依赖 systemdRestart=always)GET|POST /api/nodes(创建返回一次性token)GET|PUT|DELETE /api/nodes/:idPOST /api/nodes/:id/tokenGET|POST /api/servicesGET|PUT|DELETE /api/services/:idGET|POST /api/routesGET|PUT|DELETE /api/routes/:idGET /api/connectionsGET /api/trafficGET /api/logsGET /api/metrics/topologyGET /api/metrics/p2pGET|PUT /api/settings(与server.toml对齐的可管理项)GET|POST /api/usersPUT|DELETE /api/users/:id
WebSocket
/ws/dashboard/ws/logs/ws/connections/ws/traffic
Browser WS may pass ?token=<jwt>.
Admin Panel(p2p-admin 本地)
Base:面板自身(如 http://host:8088),不转发到 Super Node。
GET /admin/api/servers→{ servers, default_server }POST /admin/api/servers{ id, name, api_upstream, make_default? }DELETE /admin/api/servers/:idPUT /admin/api/servers/default{ id }GET /admin/api/servers/:id/probe探测该上游/api/healthGET /admin/api/hub/statusHub 是否启用与计数GET /admin/api/hub/peersHub 在线对端(server/edge)
反代路由:
- HTTP:
/api/*带请求头X-Nexus-Server: <id>(或缺省用default_server)- 若该 id 的服务端已 dial 进 Hub →
MGMT_FORWARD(控制面管理通讯) - 否则回退 HTTP
api_upstream
- 若该 id 的服务端已 dial 进 Hub →
- WS:
/ws/*?server=<id>&token=<jwt>
Admin Hub 协议(Control)
Server/Edge dial hub_control_port(默认 7100),AUTH 时带 role=server|edge 与 hub_token。
HUB_PEERS:在线名册广播OPEN_PEER_PATH:请求到对端的通道(prefer_p2p → 失败则 Relay)PEER_PATH_OFFER:双方 dial Hubhub_data_port完成 1:1 中转MGMT_FORWARD/MGMT_FORWARD_RESULT:面板经 Hub 转发管理 HTTP