本文详解Clash RESTful API的启用方法与核心端点,涵盖外部控制器配置、代理组自动切换及分流规则动态更新,帮助用户构建自动化国际网络加速方案,提升跨境办公效率。
启用外部控制器
Clash RESTful API 通过外部控制器(External Controller)暴露接口,在配置文件中添加:
external-controller: 127.0.0.1:9090 secret: "your-password"
重启客户端后,访问 http://127.0.0.1:9090 即可验证服务状态,建议绑定本地地址避免未授权访问,生产环境务必设置强密码。
核心端点与代理组管理
API 提供 /proxies 和 /configs 等关键端点,通过 PUT 请求 /proxies/{name} 可实时切换节点,无需重启服务。
代理组类型决定自动化策略:
- select: 手动选择固定节点,适合需要稳定IP的学术资源访问场景
- url-test: 自动测速选择延迟最低节点,适用于跨境办公需求
- fallback: 故障自动转移,主节点失效时切换备用,保障业务连续性
curl -X PUT "http://127.0.0.1:9090/proxies/自动选择" \
-H "Content-Type: application/json" \
-d '{"name": "香港节点01"}'
TUN模式与系统代理的API控制
通过 /configs 端点可动态切换运行模式,TUN 模式接管系统所有流量(含 UDP 和游戏数据),而系统代理仅处理 HTTP/HTTPS 请求。
# 启用TUN模式
curl -X PATCH "http://127.0.0.1:9090/configs" \
-d '{"tun": {"enable": true, "stack": "system"}}'
国际网络加速工具建议:游戏加速启用 TUN,浏览器访问使用系统代理降低开销。
分流规则动态更新
API 支持热更新规则集,无需重启,常见规则类型优先级:
- DOMAIN: 精确匹配特定域名
- DOMAIN-SUFFIX: 匹配域名后缀,如
google.com覆盖所有子域 - IP-CIDR: 基于IP段分流,适用于 CDN 场景
- GEOIP: 根据国家码分流,处理境外流量
通过 /rules 端点可查看当前生效规则,结合 /providers/rules 实现规则集远程更新。
常见问题排查
现象: 调用 API 返回 401 Unauthorized
原因: 未携带 secret 或请求头格式错误
解决: 在请求头添加 Authorization: Bearer your-password,或检查配置文件 secret 字段
现象: 切换节点后流量仍走旧代理
原因: 连接池保持长连接,或代理组嵌套逻辑冲突
解决: 调用 /connections 关闭现有连接,检查 proxy-groups 中是否包含自身引用
现象: TUN 模式开启后部分应用无法联网
原因: 应用使用硬编码 DNS 或绕过虚拟网卡
解决: 配置 fake-ip 模式,或在 tun 配置中添加 exclude-package 排除特定应用
对于需要稳定国际网络加速服务的用户,建议选择支持 Clash 订阅格式的服务商,通过 API 实现节点健康检查和自动切换,确保跨境办公网络质量。
掌握 Clash RESTful API 使用教程的核心在于理解外部控制器与配置文件的映射关系,通过程序化调用接口,可构建智能代理管理系统,实现根据延迟自动优选节点、定时更新规则集等高级功能,满足自动化学术资源访问需求。