API 参考
BlankTrail Proxy 提供了一个本地 HTTP API,让你能够开放端口、配置身份,并自动化控制面板所能完成的一切操作。本页介绍基础 URL、身份验证和约定规范。
基础 URL
所有端点都位于与控制面板相同的主机和端口下的 /api/v1 前缀之下:
http://127.0.0.1:8891/api/v1
API 与控制面板共用同一个源,因此来自你自己的脚本和工具的调用可以开箱即用。
身份验证
该 API 采用默认拒绝策略:几乎每个端点都需要身份验证。有两种身份验证方式:
- API 密钥 —— 通过 X-API-Key 请求头发送。最适合脚本和自动化。
- 会话 Cookie —— 通过登录获取;供浏览器控制面板使用。
你可以在控制面板的“设置”对话框中查找和轮换你的 API 密钥。在每个请求上都要发送它:
curl -H "X-API-Key: YOUR_API_KEY" http://127.0.0.1:8891/api/v1/status
重要API 密钥可完全控制你的端口。请对其保密,并限制对控制面板端口的网络访问(绑定到 localhost,或在服务器上使用 SSH 隧道)。
约定规范
- 请求和响应均为 JSON。对于带有请求体的请求,请发送 Content-Type: application/json。
- 配置始终在 JSON 请求体中发送,绝不通过查询字符串发送。
- 该 API 在 /api/v1 下进行版本管理。破坏性变更将迁移到新的版本前缀。
状态码
| 状态码 | 含义 |
|---|---|
| 200 OK | 成功。 |
| 202 Accepted | 已接受并正在处理(例如,已触发一次更新)。 |
| 400 Bad Request | 输入无效、缺少字段或值有误。 |
| 401 Unauthorized | 需要身份验证,但身份验证信息缺失或无效。 |
| 404 Not Found | 资源不存在(例如,该端口未开放)。 |
| 409 Conflict | 存在冲突 —— 例如端口已开放,或某个网关正在使用中。 |
| 429 Too Many Requests | 已达速率限制;请放慢速度并重试。 |
| 500 Internal Server Error | 发生意外错误。 |
按主题查阅参考
- 端口与流量 —— 开放、关闭、列出和配置端口;测试上游代理。
- 配置文件与路由 —— 身份、预设、域名规则和网关。
- 端口池 —— 从代理列表开放和管理端口池。
- 许可证与访问 —— 许可证状态、身份验证以及 CA 证书。