06. 管理面板
CPA 内置一个 Web 管理面板,用来:
- 查看/管理已登录的 OAuth 凭据
- 在线编辑
config.yaml(API key、模型映射等) - 看请求/Token 用量统计
- 手动触发 OAuth 登录流程(不用再 docker exec)
面板代码独立在 Cli-Proxy-API-Management-Center 仓库,主进程启动时会自动从 GitHub Releases 下载 management.html。
1) 配置开关
在 /root/CLIProxyAPI/config.yaml 里:
remote-management:
allow-remote: true # 允许非 localhost 访问
secret-key: "你的明文登录密码" # 启动时 CPA 会自动 bcrypt 哈希
disable-control-panel: false # 必须 false,否则 /management.html 直接 abort
panel-github-repository: "https://github.com/router-for-me/Cli-Proxy-API-Management-Center"
# disable-auto-update-panel: false # 默认关,让面板自动跟版
secret-key写明文,CPA 启动时检测到非 bcrypt 哈希会自动哈希并写回 config.yaml。下次再看 config.yaml 这一行已经是$2a$10$...格式了。
改完重启:
docker restart cli-proxy-api
docker logs --tail 10 cli-proxy-api正常应有:
management routes registered after secret key configuration
2) 访问面板
http://你的服务器IP:8317/management.html
第一次访问会用你设的明文密码登录。
路径就是字面量
/management.html,不是/management/panel之类。
3) 面板资源下载失败怎么办
CPA 启动时会从 GitHub Releases 下载 management.html。境内出口或者共享代理 IP 容易遇到:
failed to download management asset error=... EOF— TCP 中断failed to fetch latest management release information error=unexpected release status 403: ... API rate limit exceeded— GitHub API 限流(IP 共享)
应对 1:换节点
切到一个使用人少的美国节点(mihomo):
curl -X PUT http://127.0.0.1:9090/proxies/🔰Proxy \
-H "Content-Type: application/json" \
-d '{"name":"US Pro 12 | 倍率 2x"}'
docker restart cli-proxy-api应对 2:手动下载,复制进容器
宿主机走 mihomo 直接下载:
curl -L -x http://127.0.0.1:7890 \
-o /tmp/management.html \
https://github.com/router-for-me/Cli-Proxy-API-Management-Center/releases/download/v1.10.1/management.html
ls -lh /tmp/management.html # 应该是 2.0M 左右版本号
v1.10.1以仓库 Releases 最新为准。
复制进容器:
docker exec cli-proxy-api find / -name management.html 2>/dev/null
# 一般是 /CLIProxyAPI/static/management.html
docker cp /tmp/management.html cli-proxy-api:/CLIProxyAPI/static/management.html
docker exec cli-proxy-api ls -lh /CLIProxyAPI/static/management.html不需要重启,静态文件 c.File 直接读盘。刷新浏览器即可。
4) 可访问性自检
如果 http://服务器IP:8317/management.html 在浏览器里 502 / 超时:
# 服务器本机能不能 200
curl -sI http://127.0.0.1:8317/management.html
# 外网能不能连到这个端口(在你本地电脑跑)
curl -sI http://服务器IP:8317/management.html- 本机 200,外网失败 → 云厂商安全组没放行 8317(最常见)。控制台里加一条入站规则,来源限你公网 IP。
- 本机 404 →
disable-control-panel没改成 false,或者面板资源不在/CLIProxyAPI/static/下。
5) 安全建议
secret-key务必长且随机,至少 16 字符- 8317 端口的安全组严格限白名单,不要
0.0.0.0/0 - 如果只是自己用,可以关掉
allow-remote,登录都走 SSH 隧道:这样 8317 永远不暴露公网。ssh -L 8317:127.0.0.1:8317 root@服务器IP # 浏览器开 http://127.0.0.1:8317/management.html
下一步:07-client-usage.md 客户端调用。