外部控制器是什么:先理解 Web 面板与 Clash 核心的关系

Clash Verge Rev 中,外部控制器(External Controller)并不是另一个代理端口,也不是 Windows 的系统代理开关,而是一组供 Web 面板、桌面工具或自动化脚本调用的本地管理接口。它由正在运行的 Clash 或 Mihomo 核心监听一个 HTTP 地址,外部客户端通过这个地址读取运行状态、切换代理组、查看连接、检查流量,甚至执行部分配置管理操作。

这也是很多用户第一次配置时容易混淆的地方。mixed-porthttp-portsocks-port负责接收浏览器或应用产生的代理流量;external-controller负责接收管理请求。前者决定「应用如何上网」,后者决定「Web 面板如何管理核心」。即使代理节点延迟正常、系统代理已经打开,只要外部控制器没有监听,Web 面板仍然会提示无法连接。

在 Windows 上,Clash Verge Rev 的菜单名称可能会因版本、语言包或所使用的核心类型略有差异。你可能看到「外部控制器」「External Controller」「External Controller API」或「控制器地址」等近似名称。不要只依据按钮名称判断是否成功,最终应以配置文件中的监听地址、端口和密钥,以及核心日志中的启动结果为准。

先记住三个端口概念:mixed-port是应用使用的代理入口,external-controller是管理接口入口,Windows 防火墙规则则决定其他设备能否访问这个接口。三者用途不同,不能把代理端口直接填到 Web 面板的控制器地址中。

Windows 中打开 Clash Verge Rev 的设置入口

先启动 Clash Verge Rev,确认托盘图标或主窗口显示核心正在运行。若核心尚未启动,设置页面中的部分运行参数可能无法生效,或者你虽然保存了配置,却没有实际可访问的控制器服务。建议先进入配置列表,确认当前使用的 Profile 处于激活状态,再开始修改外部控制器。

打开左侧的「设置」或齿轮图标,在页面中寻找与核心设置、常规设置、控制器、API 或 Web 面板有关的区域。不同构建版本的界面布局不完全相同,有些版本把该选项放在「界面设置」附近,有些版本则将它放在 Mihomo 内核参数或运行时设置中。如果没有看到独立的开关,可以打开当前配置文件或配置编辑器,搜索 external-controller

修改前建议先备份当前配置。配置文件通常由订阅生成,直接编辑订阅原文件可能在下次更新时被覆盖。更稳妥的做法是确认 Clash Verge Rev 是否提供本地覆写、Merge、订阅转换后的本地配置或 Profile 覆写入口;如果没有,至少复制一份 YAML 文件并记录修改时间。这样即使 YAML 缩进错误、端口冲突或核心无法启动,也能快速恢复,而不用重新导入整份订阅。

对于使用 Mihomo 内核的用户,外部控制器一般属于核心配置的一部分。若设置页面只提供地址输入框而没有密钥输入框,应检查是否还有「API Secret」「Secret」「控制器密钥」或高级选项。不要把订阅链接、节点密码或机场账户密码误填到这里;外部控制器密钥只用于保护管理接口。

填写监听地址、端口与密钥

最常见的本机使用场景是只让 Windows 自己访问控制器。这时监听地址可以填写 127.0.0.1:9090,也可以使用界面中等价的「本机」「Localhost」选项。127.0.0.1表示仅本机回环地址,其他电脑、手机或局域网设备无法直接访问,安全性通常高于监听所有网卡。

端口可以使用 90909097 等未被占用的端口,但不要机械照抄示例。Clash Verge Rev、其他代理客户端、开发服务器、Docker 服务和远程控制软件都可能占用常见端口。若页面允许分别填写地址与端口,就分别输入;如果要求完整地址,则写成类似 127.0.0.1:9090 的形式,不要加入 http://,除非界面明确要求输入完整 URL。

如果你确实需要让同一局域网内的另一台电脑访问控制器,可以将地址改为 0.0.0.0:9090,或在界面中选择「所有接口」。不过这会让控制器绑定到 Windows 的多个网络接口,风险明显高于本机监听。此时必须设置足够复杂的密钥,并在 Windows 防火墙中只允许可信局域网网段访问,不建议为了省事直接关闭防火墙或把端口暴露到公网。

密钥可以使用一段随机、长度足够的字符串,例如由大小写字母、数字和符号组成。很多 Web 面板会把密钥称为 secret,而 Mihomo 配置中的写法通常接近下面的结构。示例只用于说明字段关系,地址、端口和密钥应替换为你自己的值:

external-controller: 127.0.0.1:9090
secret: "replace-with-a-long-random-secret"

保存后,重启核心或重新加载当前配置。不要只关闭 Web 面板再打开,因为真正需要重载的是 Clash 或 Mihomo 核心。若设置页有「应用」「保存并重启核心」「Reload」等按钮,优先使用它完成一次完整重载;若托盘状态变成离线或核心退出,立即查看日志并回滚最近一次修改。

项目 本机管理推荐值 局域网管理注意事项
监听地址 127.0.0.1 可使用 0.0.0.0,但会扩大暴露范围
控制器端口 选择未占用端口,如 9090 需在防火墙中建立最小权限规则
密钥 使用随机长字符串 不要通过公共聊天或截图公开
访问协议 按面板要求使用 HTTP 控制器地址 不要误填代理端口或订阅 URL

用 Web 面板验证连接是否成功

配置保存并重启核心后,在浏览器中打开与你的控制器地址匹配的 Web 面板。不同面板的入口可能不同,但通常需要填写三项:控制器地址、端口和 Secret。若面板已经把地址写成 http://127.0.0.1:9090,就不要再次重复添加端口;如果输入框分为 Host 和 Port,则 Host 填 127.0.0.1,Port 填 9090

连接成功通常会出现当前模式、活动配置、代理组、节点延迟、实时连接或流量统计等信息。你可以先切换一个代理组,再回到 Clash Verge Rev 检查选择是否同步;也可以打开连接页面访问一个普通网站,观察 Web 面板是否出现新的连接记录。能读取状态并执行一次无风险的策略组切换,说明控制器地址、端口和密钥基本匹配。

如果浏览器显示「无法连接」「Network Error」或页面一直转圈,先不要立刻更换节点。控制器是本地管理接口,节点质量通常不是第一排查对象。按下面顺序检查:核心是否正在运行;当前 Profile 是否真的被激活;控制器端口是否与面板填写一致;地址是否误写成代理端口;Secret 是否包含多余空格;Windows 是否有其他程序占用了该端口。

  1. 回到 Clash Verge Rev,确认核心状态不是停止、崩溃或反复重启。
  2. 重新检查配置中的 external-controller,确保没有把 mixed-port 当成控制器端口。
  3. 检查控制器地址是否为 127.0.0.1,并确认 Web 面板也在同一台 Windows 电脑上运行。
  4. 重新复制 Secret,避免复制时带入前后空格、引号或换行。
  5. 更换一个未占用的端口,保存后完整重启核心,再测试连接。

你还可以使用 PowerShell 做基础端口检查。下面的命令只用于确认某个本地端口是否正在监听,不代表接口认证一定成功:

Test-NetConnection 127.0.0.1 -Port 9090

若结果中的 TcpTestSucceededTrue,说明该端口存在监听进程;如果为 False,优先回到核心状态、配置加载和端口冲突方向排查。端口能连通但 Web 面板提示未授权,则重点检查 Secret。若本机浏览器能连接、局域网其他设备不能连接,则重点检查监听地址、Windows 防火墙、当前网络是否被设置为公用网络,以及访问设备是否使用了正确的 Windows 局域网 IP。

权限、端口冲突与安全边界

Windows 防火墙弹窗出现时,先判断你要实现的是本机访问还是局域网访问。本机使用 127.0.0.1 时,通常不需要把控制器端口开放给公网;如果放行规则已经存在,也应限制为专用网络,而不是在所有网络类型上允许入站连接。企业电脑还可能由安全软件、组策略或终端防护接管防火墙,这种情况下即使你在系统设置里添加规则,也未必拥有最终控制权。

端口冲突是另一个常见原因。代理端口能用,不代表控制器端口也能用;同一个程序也可能分别占用多个监听端口。可以在 PowerShell 中执行以下命令,查看 9090 是否已经被其他进程占用:

Get-NetTCPConnection -LocalPort 9090 -ErrorAction SilentlyContinue

如果返回了其他进程信息,不建议直接结束陌生进程。先在任务管理器、服务管理器或 Clash Verge Rev 日志中确认它属于什么软件,再决定是换控制器端口,还是停止冲突服务。尤其要注意开发工具的本地服务器、其他 Clash 客户端、远程桌面组件和容器服务,它们经常使用固定端口。

外部控制器具备读取状态、查看连接和切换代理策略等管理能力,安全等级高于普通网页访问。不要将 0.0.0.0:9090 与空密钥一起使用,也不要通过路由器端口转发把控制器直接暴露到互联网。如果需要远程管理,优先使用可信 VPN、WireGuard 或安全的局域网隧道,并通过防火墙限制来源地址。即使你只是临时调试,也应在完成后恢复本机监听并关闭不必要的入站规则。

安全底线:控制器地址解决「从哪里监听」,Secret 解决「谁能管理」,防火墙解决「哪些设备可以碰到它」。三项缺一不可;只设置复杂密钥,却把接口直接暴露在公网,并不能算作安全配置。

与一些只提供单一代理开关的轻量客户端相比,Clash Verge Rev 的优势在于能把控制器、规则组、连接日志和核心状态集中管理;但它的菜单层级、内核切换和订阅覆写也比简单客户端更复杂,更新后还可能出现配置入口变化。对 Windows 用户来说,Clash V.CORE 更适合需要稳定 API 管理、清晰日志和多策略组联动的场景:你可以按本文方法把监听范围收紧到本机,使用 Web 面板验证配置,再逐步扩展到受信任的局域网设备。若你希望减少来回寻找安装包和内核版本的时间,可以前往前往下载,选择适合 Windows 的版本开始配置。

// 编辑推荐

Clash V.CORE:让 Windows 管理接口更易用

从本机控制器到局域网策略管理,集中查看核心状态、连接日志与代理组,减少端口和配置排错成本。

  • 清晰区分代理端口与控制器端口
  • 集中查看连接与核心运行状态
  • 支持多策略组与规则分流管理
  • 便于排查端口冲突与权限问题
  • 适配 Windows 日常桌面使用场景
获取 Clash V.CORE →