首页/教程/Clash vpn的API控制台能做什么?切换节点、查看连接?
CLASH GUIDE

Clash vpn的API控制台能做什么?切换节点、查看连接?

约 8 分钟阅读

Clash VPN的RESTful API控制台通过external-controller配置启用,默认监听127.0.0.1:9090。该API提供完整的代理管理能力,包括切换节点(PUT /proxies/:name)、查看连接(GET /connections)、关闭连接(DELETE /connections)、获取节点列表(GET /proxies)、测试节点延迟(GET /proxies/:name/delay)、重新加载配置(PUT /config)和查看规则列表(GET /rules)等核心功能。用户可通过Web Dashboard面板(如YACD、zashboard)以图形化界面使用API,也可通过curl命令调用API端点实现命令行管理。在Linux无图形界面服务器上,Dashboard面板是管理Clash的主要方式。自动化脚本可通过API检测和切换节点,实现智能节点轮换。在局域网或远程环境中,将external-controller改为0.0.0.0并放行端口后,可从其他设备通过Dashboard远程管理Clash实例

API控制台的核心功能总览

一个功能完备的远程管理接口

Clash VPN的RESTful API提供了一套完整的管理接口,覆盖了代理日常使用中的绝大部分操作需求。通过API,用户可以查看节点列表、切换代理节点、查看活跃连接、关闭指定连接、重新加载配置、查看规则列表以及测试节点延迟等。API控制台本质上是将Clash内核的管理能力暴露为标准的HTTP接口,供Dashboard面板、自动化脚本或第三方工具调用。

通过可视化Dashboard面板使用API

对于大多数用户,API控制台通过Web Dashboard面板(如YACD、zashboard以图形化界面形式呈现。用户只需在Dashboard设置中填入Clash API的地址(如127.0.0.1:9090)和密钥(若有设置secret),即可在浏览器中可视化管理Clash,完全无需接触命令行或配置文件。Dashboard面板会将API的各个端点转化为直观的按钮、列表和开关,让管理操作变得简单。

无图形界面的命令行管理方式

在Linux服务器或无图形界面的环境中,用户可通过curl命令直接调用API端点实现对Clash的管理。以获取节点列表为例,执行curl http://127.0.0.1:9090/proxies即可返回所有节点的JSON数据;切换节点执行curl -X PUT http://127.0.0.1:9090/proxies/策略组名 -d '{"name":"目标节点"}'。这种方式适合自动化运维和数据采集等场景,可集成到脚本中实现智能节点切换

节点切换与延迟测试

实时切换代理节点和策略组

API控制台最核心的功能是通过/proxies端点实时切换当前使用的代理节点或策略组。在Dashboard面板的“代理”或“Proxies”页面中,用户点击任一节点即可完成切换,操作实时生效,无需重新加载配置。对于select类型的手动策略组,切换操作通过PUT /proxies/:name接口实现,指定目标节点名称即可。该功能在Linux无图形界面环境中尤为实用,用户可通过命令行或脚本快速切换节点

对节点进行延迟测试

API控制台支持通过/proxies/:name/delay端点对单个节点进行延迟测试,帮助用户判断当前节点的网络响应状况。在Dashboard面板中,右键点击节点卡片选择“测速”即可触发延迟测试,测试结果以毫秒数值显示。该测速功能与客户端内置的延迟测试原理一致,均通过向预设URL发送请求并计时响应时间实现。延迟测试可用于筛选当前网络环境下的最优节点,辅助手动或自动切换决策。

获取完整的节点列表和状态

通过GET /proxies接口,API控制台可获取当前配置中所有节点和策略组的完整列表及其状态信息。返回的JSON数据包含每个节点的名称、类型、当前是否被选中以及所属的策略组等信息。在Dashboard面板中,该数据被渲染为可视化的节点卡片列表,用户可一目了然地看到全部可用节点及其组织关系。该接口也是自动化脚本实现节点轮换功能的基础数据来源

连接管理功能

实时查看当前活跃连接

API控制台通过/connections端点可实时查看Clash当前处理的所有活跃网络连接。在Dashboard面板的“连接”页面中,用户可看到每条连接的详细信息,包括目标地址、协议类型、传输速率和连接时长等。连接列表支持卡片和表格两种视图模式,PC端推荐使用表格视图,移动端推荐使用卡片视图,点击任意连接行可查看更详细的连接信息。该功能可帮助用户了解当前的流量分布和代理使用情况。

主动关闭指定或全部连接

API控制台支持通过DELETE /connections端点关闭当前所有连接,或通过DELETE /connections/:id端点关闭指定的单条连接。在Dashboard面板中,用户可点击“断开所有连接”按钮一次性清理所有活跃连接,或点击某条连接的关闭按钮单独断开该连接。该功能在切换节点后需要立即生效的场景中尤为有用——关闭所有连接可让新建立的连接立即使用新节点,无需等待旧连接自然超时。

连接信息对排查问题的帮助

在Clash VPN出现特定网站无法访问或分流异常时,连接面板可帮助用户快速定位问题。通过查看某条连接命中的规则名称、目标地址和当前状态,用户可判断该流量是否被正确代理,以及是否匹配了预期规则。该信息与Clash客户端的「连接」面板功能一致,但通过API方式可远程查看,适合管理远程服务器上的Clash实例。

配置管理与规则查看

查看和重新加载配置文件

API控制台通过/config端点支持获取当前配置状态和重新加载配置文件GET /config返回当前加载的配置摘要信息,PUT /config触发Clash重新读取config.yaml文件并应用新的配置。该功能在无图形界面的Linux服务器上尤为实用,用户修改配置文件后无需重启Clash进程,通过API调用即可使新配置生效,实现配置的热更新。

查看当前生效的分流规则

API控制台通过/rules端点可获取当前正在生效的分流规则列表。返回的规则列表按配置文件的顺序排列,每条规则显示其类型(如DOMAIN-SUFFIX、GEOIP)、匹配值和目标动作(如PROXY、DIRECT、REJECT)。在Dashboard面板中,该数据帮助用户理解特定流量被如何路由,是排查规则配置问题的重要辅助工具。该功能与Clash客户端的规则查看功能相对应。

远程修改代理运行模式

部分API客户端(如ClashX Pro的服务器管理应用)支持通过API远程切换Clash的代理运行模式。用户可在Dashboard面板或管理应用中在规则模式(Rule)、全局模式(Global)和直连模式(Direct)之间切换,无需登录服务器修改配置文件。该功能在Clash部署于远程服务器且需要根据不同使用场景快速切换模式时非常方便。

API控制台的使用场景

无图形界面Linux服务器的管理

在Linux服务器上,Clash通常以命令行方式运行,没有图形界面。用户可通过Web Dashboard(如http://yacd.haishan.me)连接服务器的API端口,在浏览器中完成节点切换、连接查看和配置管理等全部操作。这种方式让命令行环境下的Clash管理变得直观便捷,降低了Linux服务器的使用门槛。

自动化脚本与程序集成

API控制台支持通过标准HTTP请求调用,可轻松集成到自动化脚本和程序中。例如在数据采集程序中,可编写脚本定期检测当前节点是否返回429状态码,若触发则自动调用API切换至下一个可用节点,实现IP的自动轮换。这种自动化能力让Clash不再只是一个手工操作的工具,而是可以作为程序化网络管理的组件使用。

多设备远程统一管理

在拥有多台Clash设备的环境中,API控制台可实现集中管理。将每台设备的external-controller监听地址设为0.0.0.0并配置防火墙放行后,管理员可在任一设备上通过Dashboard面板连接所有Clash实例的API,实现统一管理和监控。多设备集中管理在企业网络或家庭网关场景中能有效提升运维效率。

常见问题FAQ

API控制台能切换节点吗?

能。通过PUT /proxies/:name接口或在Dashboard面板中点击任一节点即可完成切换。对于select类型的策略组,切换操作实时生效,无需重新加载配置。在Linux无图形界面环境中,也可通过curl命令调用API实现命令行切换节点。

API控制台能查看当前网络连接吗?

能。通过GET /connections接口可实时获取所有活跃连接列表,包括目标地址、协议类型、传输速率等信息。在Dashboard面板的“连接”页面中可直观查看,点击单条连接可查看详情。也可通过DELETE /connections关闭所有连接或关闭指定连接。

API控制台的默认地址和端口是什么?

默认地址为127.0.0.1,端口为9090,在config.yaml中通过external-controller: 127.0.0.1:9090配置。若需局域网访问,将监听地址改为0.0.0.0:9090并确保防火墙放行端口。部分客户端可能使用自定义端口,以实际配置文件为准。

API控制台能否在不登录服务器的情况下使用?

能。通过第三方Dashboard页面(如http://yacd.haishan.me)填入服务器的API地址和密钥,即可在任意浏览器中远程管理Clash,无需SSH登录服务器。若external-controller设为0.0.0.0且防火墙已放行端口,远程Dashboard可正常连接和操作。

使用提醒

请从可信来源获取软件与配置,并遵守所在地法律法规和相关服务条款。