外部控制设置
简介
- 外部控制允许用户通过 HTTP RESTful API 来控制 Clash. 第三方 Clash GUI 就是基于这个功能的. 通过在
external-controller中指定地址来启用这个功能. - Clash Mi 默认内置web gui zashboard
认证
- 外部控制器接受 Bearer Tokens 作为访问认证方式. 使用
Authorization: Bearer作为请求头来传递凭证.
GET /proxies
Authorization: Bearer your-secret-tokenRESTful API 文档
| 路径 | 方法 | 完整路径 | 描述 |
|---|---|---|---|
/logs | GET | GET /logs | 获取实时日志 |
/traffic | GET | GET /traffic | 获取实时流量数据 |
/version | GET | GET /version | 获取 Clash 版本 |
/configs | GET | GET /configs | 获取基础配置 |
| PUT | PUT /configs | 重新加载配置文件 | |
| PATCH | PATCH /configs | 增量修改配置 | |
/proxies | GET | GET /proxies | 获取所有节点信息 |
/proxies/:name | GET | GET /proxies/:name | 获取指定节点信息 |
| PUT | PUT /proxies/:name | 切换 Selector 中选中的节点 | |
/proxies/:name/delay | GET | GET /proxies/:name/delay | 获取指定节点的延迟测试信息 |
/rules | GET | GET /rules | 获取规则信息 |
/connections | GET | GET /connections | 获取连接信息 |
| DELETE | DELETE /connections | 关闭所有连接 | |
/connections/:id | DELETE | DELETE /connections/:id | 关闭指定连接 |
/providers/proxies | GET | GET /providers/proxies | 获取所有代理集的代理信息 |
/providers/proxies/:name | GET | GET /providers/proxies/:name | 获取指定代理集的代理信息 |
| PUT | PUT /providers/proxies/:name | 切换指定代理集 | |
/providers/proxies/:name/healthcheck | GET | GET /providers/proxies/:name/healthcheck | 获取指定代理集的代理信息 |
/dns/query | GET | GET /dns/query?name={name}[&type={type}] | 获取指定域名和类型的 DNS 查询数据 参数: name (必填) 域名; type (可选) A/MX/CNAME 等 |
DNS 查询示例
GET /dns/query?name=example.com&type=AExternal Controller Settings
Introduction
- External control allows users to control Clash via HTTP RESTful API. Third-party Clash GUI clients are built on this feature. Enable it by specifying the address in
external-controller. - Clash Mi comes with a built-in web GUI dashboard by default.
Authentication
- The external controller accepts Bearer Tokens for authentication. Pass credentials via the
Authorization: Bearerrequest header.
GET /proxies
Authorization: Bearer your-secret-tokenRESTful API Docs
| Path | Method | Full Path | Description |
|---|---|---|---|
/logs | GET | GET /logs | Get real-time logs |
/traffic | GET | GET /traffic | Get real-time traffic data |
/version | GET | GET /version | Get Clash version |
/configs | GET | GET /configs | Get base configuration |
| PUT | PUT /configs | Reload configuration file | |
| PATCH | PATCH /configs | Incrementally modify configuration | |
/proxies | GET | GET /proxies | Get all proxy node info |
/proxies/:name | GET | GET /proxies/:name | Get specified proxy node info |
| PUT | PUT /proxies/:name | Switch the selected node in Selector | |
/proxies/:name/delay | GET | GET /proxies/:name/delay | Get delay test info for specified node |
/rules | GET | GET /rules | Get rule information |
/connections | GET | GET /connections | Get connection information |
| DELETE | DELETE /connections | Close all connections | |
/connections/:id | DELETE | DELETE /connections/:id | Close specified connection |
/providers/proxies | GET | GET /providers/proxies | Get proxy info for all proxy providers |
/providers/proxies/:name | GET | GET /providers/proxies/:name | Get specified proxy provider info |
| PUT | PUT /providers/proxies/:name | Switch specified proxy provider | |
/providers/proxies/:name/healthcheck | GET | GET /providers/proxies/:name/healthcheck | Get proxy provider health info |
/dns/query | GET | GET /dns/query?name={name}[&type={type}] | Get DNS query data for specified domain and type Params: name (required) domain; type (optional) A/MX/CNAME etc. |
DNS Query Example
GET /dns/query?name=example.com&type=A