Clash RESTful API使用教程,从配置到自动化管理

本文详解Clash RESTful API的启用方法与核心接口调用,涵盖代理组切换、流量统计、规则管理等实战场景,帮助用户实现国际网络加速工具的自动化配置与远程管理。

启用RESTful API服务

Clash RESTful API使用教程的第一步是修改配置文件,在config.yaml顶部添加:

external-controller: 127.0.0.1:9090
secret: "your-password"

external-controller指定监听地址与端口,secret设置访问密钥,建议绑定127.0.0.1避免公网暴露,如需远程管理请配合Nginx反向代理添加HTTPS,Windows用户推荐使用Clash Verge Rev客户端,在设置界面可直接开启API端口而无需手动编辑YAML。

核心接口调用方法

获取代理组状态

通过GET请求http://127.0.0.1:9090/proxies可获取所有代理组信息,返回JSON包含延迟数据与当前选中节点,适合开发状态监控面板,Mac用户配合ClashX Pro使用时,可通过AppleScript调用该接口实现菜单栏快捷切换。

切换代理节点

发送PUT请求至/proxies/{group-name}实现自动切换:

curl -X PUT http://127.0.0.1:9090/proxies/自动选择 \
  -H "Authorization: Bearer your-password" \
  -d '{"name": "香港节点01"}'

代理组类型区别

  • select:手动选择,适合固定跨境办公需求
  • url-test:自动测速选优,基于延迟自动切换,适合多节点负载均衡
  • fallback:故障转移,主节点失效时自动降级,保障学术资源访问连续性

流量统计接口

GET /traffic返回实时上传下载速率(字节/秒),GET /connections展示当前活跃连接详情,数据可用于编写流量告警脚本,监控异常连接。

TUN模式与系统代理差异

通过API PATCH /configs可切换运行模式:

  • 系统代理:仅接管HTTP/HTTPS流量,浏览器和应用需手动配置代理端口,适合常规网页浏览
  • TUN模式:创建虚拟网卡接管所有流量(含UDP、ICMP),游戏加速与视频会议场景必需,但需管理员权限

Android设备使用FlClash时,TUN模式需开启VPN服务权限;iOS用户通过Shadowrocket等客户端可实现类似功能。

分流规则配置要点

RESTful API支持动态修改规则,但建议预先在YAML中定义规则集:

rules:
  - DOMAIN,github.com,自动选择
  - DOMAIN-SUFFIX,google.com,美国节点
  - IP-CIDR,142.250.0.0/16,美国节点,no-resolve
  - GEOIP,CN,DIRECT

优先级逻辑:自上而下匹配,命中即停止。DOMAIN精确匹配单域名,DOMAIN-SUFFIX匹配后缀(含子域),IP-CIDR处理IP段,GEOIP基于地理数据库分流。no-resolve参数表示不匹配DNS解析后的IP,提升匹配效率。

常见问题排查

现象:API返回401 Unauthorized
原因:请求头未携带Authorization或secret错误
解决:检查请求头格式为Authorization: Bearer {secret},注意Bearer后空格

现象:切换节点后流量仍走旧线路
原因:连接保持导致未立即生效
解决:先DELETE /connections断开现有连接,或等待TCP长连接自然超时

现象:TUN模式启动失败
原因:Windows未安装WinTun驱动或Mac未授权网络扩展
解决:Windows需以管理员身份运行首次安装,Mac在系统设置-网络中允许Clash扩展

自动化场景应用

结合Python脚本可实现定时任务:

import requests
# 凌晨自动切换低延迟节点
requests.put('http://127.0.0.1:9090/proxies/自动选择', 
             headers={'Authorization': 'Bearer your-password'},
             json={'name': '新加坡专线'})

对于需要稳定国际网络加速的用户,建议选择支持Clash订阅格式的服务商,通过API动态更新订阅链接实现节点自动刷新,优质订阅源通常提供YAML格式配置,包含完整的规则集与代理组定义,避免手动维护节点列表的繁琐操作,配置完成后,可通过RESTful API实现跨境办公环境的无人值守自动优化。

您可以还会对下面的文章感兴趣:

暂无相关文章