前言:外部控制器是什么?
在使用 Clash Verge Rev 的过程中,你可能会看到“外部控制器”(External Controller)这个选项。它并不是一个代理节点,也不会直接改变你的分流规则,而是一项用于远程管理和查看 Clash 内核状态的接口。开启后,Web 面板、第三方管理工具或本机脚本就可以通过指定端口连接到 Clash,读取当前配置、查看连接日志、切换代理组,甚至重新加载配置文件。
对 Windows 新手来说,外部控制器最实用的场景是打开 Web 面板检查代理是否正常运行。例如,你可以在浏览器中查看当前使用的策略组、测试节点延迟、确认请求是否经过代理,还能快速定位“客户端显示已启动,但网页仍然打不开”这类问题。不过,外部控制器本质上也是一个管理入口,如果端口暴露在局域网或公网,且没有设置密钥,其他人可能未经授权访问你的 Clash。
本文目标
在 Windows 上找到 Clash Verge Rev 的外部控制器设置,正确填写监听地址、端口和密钥,并通过 Web 面板完成连接验证,同时避免常见的安全配置错误。
1先理解地址、端口与密钥
开启外部控制器前,建议先弄清楚三个字段分别负责什么。很多连接失败并不是 Clash 内核故障,而是浏览器访问地址与客户端实际监听参数不一致。
| 参数 | 常见填写 | 作用与建议 |
|---|---|---|
| 监听地址 | 127.0.0.1 |
只允许本机访问,最安全,Windows 单机使用优先选择它。 |
| 监听端口 | 9090 |
Web 面板连接的端口,不能与其他程序占用的端口冲突。 |
| 密钥 | 自定义长字符串 | 用于验证管理请求,建议使用随机、不可猜测的字符串。 |
监听地址决定哪些设备可以发起连接。127.0.0.1 也叫本机回环地址,只接受当前这台电脑的请求;0.0.0.0 则通常表示监听所有网卡,局域网内其他设备有可能访问该接口。除非你明确需要用手机或另一台电脑管理 Clash,否则不要为了“方便连接”直接填写 0.0.0.0。
端口是 Web 面板访问地址的一部分。如果端口填写为 9090,浏览器通常访问 http://127.0.0.1:9090。端口本身不是密码,也不能替代密钥。修改端口后,旧的 Web 面板地址将无法连接,需要同步更新管理工具中的地址。
密钥相当于外部控制器的管理密码。部分 Web 面板会要求你在连接设置中填写它,部分面板则会在首次连接时弹出输入框。密钥不要使用用户名、生日、手机号或简单的 123456,也不要把包含密钥的截图和配置文件公开发布。
2Windows 中开启外部控制器
不同版本的 Clash Verge Rev 界面文字可能略有差异,但设置逻辑基本一致。下面以 Windows 桌面端为例,先确保客户端已经安装并成功启动 Mihomo 内核。
- 启动 Clash Verge Rev,确认托盘图标或主界面显示客户端正在运行。
- 进入左侧的「设置」或「常规」页面,查找「外部控制器」「External Controller」或类似名称的设置区域。
- 将监听地址填写为
127.0.0.1,端口填写为未被占用的端口,例如9090。 - 在密钥输入框中设置一串较长的随机字符,例如由大小写字母、数字组成的字符串。不要直接照抄公开示例。
- 点击保存、应用或重载内核。部分版本需要重新启动 Clash Verge Rev,才能让新的控制器参数生效。
保存后不要只看界面上的开关状态,还要实际验证端口是否处于监听状态。打开 Windows PowerShell,执行下面的命令:
如果结果中的 TcpTestSucceeded 显示为 True,说明 Windows 可以连接到该端口。如果显示为 False,先检查 Clash Verge Rev 是否正在运行、端口数字是否填写一致,以及是否有其他程序占用了该端口。你也可以换用 9091、9097 等端口再次测试。
配置文件中的对应写法
如果你通过 YAML 配置管理内核,常见字段为 external-controller: 127.0.0.1:9090 和 secret: 你的密钥。图形界面设置与配置文件同时存在时,应确认最终加载的配置没有覆盖你的修改。
3通过 Web 面板检查是否成功
外部控制器开启后,还需要使用一个与 Clash API 兼容的 Web 面板。Web 面板通常是一个前端页面,它通过外部控制器接口读取 Clash 状态;因此,打开网页本身并不等于已经连接成功。
填写连接信息
打开可信来源提供的 Clash Web 面板,在连接设置中填写以下内容:
- API 地址:
http://127.0.0.1:9090,其中端口必须替换为你实际填写的端口。 - Secret:填写 Clash Verge Rev 中设置的外部控制器密钥。
- 连接方式:如果页面要求选择后端类型,选择与 Mihomo 或 Clash API 兼容的选项。
连接成功后,通常可以看到代理节点、策略组、当前模式和运行状态。建议按照以下顺序检查,而不是一看到页面就认为配置完成:
- 查看页面是否能读取当前配置名称和内核版本。
- 进入策略组,确认节点列表能够正常加载,且可以显示延迟测试结果。
- 检查当前模式是否为
Rule,避免误处于Direct或不符合预期的Global模式。 - 打开连接或日志页面,访问一个测试网站,观察请求是否出现并匹配到正确的策略组。
- 切换一次普通节点,再刷新页面确认状态能够同步变化。
成功判断标准
Web 面板能够读取内核版本、显示策略组和节点,并且执行延迟测试或切换策略后状态会更新,才说明外部控制器与 Web 面板已经真正建立连接。
4连接失败的常见原因与处理
如果浏览器提示无法连接、401 Unauthorized 或页面一直转圈,可以根据错误现象进行排查。不要一遇到问题就关闭 Windows 防火墙或删除密钥,这些做法可能扩大安全风险。
| 现象 | 可能原因 | 处理方法 |
|---|---|---|
| 页面完全打不开 | 内核未启动、端口错误或端口未监听 | 确认客户端运行状态,并用 PowerShell 测试实际端口。 |
| 提示 401 | 密钥为空或填写错误 | 重新复制密钥,注意不要带前后空格;必要时重新设置密钥。 |
| 能打开但没有数据 | 面板 API 类型不匹配或地址格式不正确 | 确认面板支持 Mihomo,并检查是否填写了完整的协议、地址和端口。 |
| 本机可以连接,局域网设备不行 | 监听地址为回环地址 | 这是正常的安全表现;只有确实需要远程管理时才调整监听范围。 |
| 修改后仍使用旧端口 | 配置没有应用或内核未重启 | 点击保存并重载内核,必要时完全退出客户端后重新打开。 |
检查端口是否被占用
如果无法启动指定端口,可以在 PowerShell 中执行:
如果返回了其他程序的连接信息,说明端口可能已经被占用。此时可以关闭占用程序,或者为 Clash Verge Rev 换一个端口。修改后记得同步修改 Web 面板地址,并重新运行 Test-NetConnection 验证。
不要忽略密钥错误
401 错误通常代表认证失败。不要为了省事把密钥删除后长期运行,也不要把外部控制器地址和密钥一起发到公开群组。正确做法是保留密钥,并在可信的 Web 面板中重新输入。
5安全配置与日常维护建议
外部控制器拥有较高权限,能够查看连接状态、切换代理策略,某些面板还可以修改配置或执行重载。因此,安全配置应当与“能否连接”同等重要。对于绝大多数 Windows 用户,下面这套方案已经足够稳妥。
- 优先监听本机:使用
127.0.0.1,只让当前电脑上的 Web 面板访问控制器。 - 设置高强度密钥:建议使用至少 16 位的随机字符串,避免使用订阅名称、邮箱或常见密码。
- 不要随意暴露公网:不要把
0.0.0.0:9090直接映射到路由器公网,也不要通过端口转发让陌生网络可以访问。 - 谨慎使用第三方面板:优先使用可信来源的本地页面,避免在不明网页中输入外部控制器密钥。
- 定期更换密钥:如果电脑曾经交给他人维修、使用过来历不明的面板,或密钥可能已经泄露,应立即更换并重启内核。
- 区分订阅与控制器:订阅链接用于获取节点和配置,外部控制器用于管理本地内核,两者都属于敏感信息,不应公开分享。
如果确实需要从局域网另一台设备访问,可以考虑让控制器监听局域网地址,并在 Windows 防火墙中只允许可信的私有网络和指定设备访问。完成管理后,建议恢复为 127.0.0.1。不要简单地关闭防火墙,也不要为了远程访问而开放所有入站连接。
推荐的新手配置
监听地址使用 127.0.0.1,端口使用未占用的高位端口,设置随机密钥,只在本机打开 Web 面板。这个组合操作简单、排错方便,也能显著降低控制器被局域网其他设备发现的风险。
总的来说,Clash Verge Rev 外部控制器的配置并不复杂,关键在于让三个信息保持一致:客户端实际监听的地址、端口和密钥。先用本机回环地址完成连接,再通过 Web 面板检查策略组、延迟和日志,最后根据需要进行安全加固。只要不盲目开放监听范围,并妥善保护密钥,就能在获得便捷管理能力的同时,避免不必要的控制器安全风险。