外部控制接口:用 RESTful API 操控 Clash
配置中的 external-controller: 127.0.0.1:9090 让内核暴露一套 HTTP API——Clash for Windows 的界面本质上也是通过它工作的。你同样可以用脚本调用,实现自动化。
常用端点速览
# 查询所有策略组与节点
curl http://127.0.0.1:9090/proxies
# 把「节点选择」组切换到「香港01」
curl -X PUT http://127.0.0.1:9090/proxies/节点选择 ^
-d "{\"name\": \"香港01\"}"
# 查询实时流量(长连接,持续输出)
curl http://127.0.0.1:9090/traffic
# 断开全部连接
curl -X DELETE http://127.0.0.1:9090/connections
# 对某节点发起延迟测试
curl "http://127.0.0.1:9090/proxies/香港01/delay?timeout=3000&url=http://www.gstatic.com/generate_204"
安全提醒
如果把监听地址改成 0.0.0.0:9090(例如想在手机上远程控制),务必同时设置 secret 字段作为访问令牌,调用时带 Authorization: Bearer <secret> 头——否则局域网内任何人都能改你的代理。API 的完整能力可以配合第三方面板使用,见《External Controller 与第三方面板》。