在 Windows 上使用 Clash Verge Rev 时,外部控制器(External Controller)是连接 Web Dashboard、查询实时连接、切换策略组和更新订阅的关键接口。很多用户已经启动了代理,却在浏览器中打开面板后遇到「无法连接后端」「密钥错误」或页面一直加载的问题,通常不是节点配置异常,而是外部控制器没有启用,或者监听地址、端口与 secret 没有对应。本文以 2026 年 Windows 版 Clash Verge Rev 为例,说明如何开启外部控制器、配置安全监听参数,并通过浏览器和 PowerShell 检查设置是否真正生效。
先理解外部控制器是什么
Clash Verge Rev 的代理核心通常是 Mihomo。Mihomo 除了负责处理 HTTP、SOCKS、TUN 等代理流量,还提供一组基于 HTTP 的 RESTful API。外部控制器就是这组 API 的监听服务,Dashboard 通过它读取代理状态、显示当前连接、执行节点切换和管理规则集。
外部控制器并不等于代理端口。常见的 mixed-port、http-port 或 socks-port 是给浏览器和其他应用发送代理请求的;external-controller 则是给管理面板发送控制请求的。两者用途不同,不能把代理端口直接填进 Dashboard 的后端地址。
| 配置项目 | 主要用途 | 常见示例 |
|---|---|---|
mixed-port | 同时接收 HTTP 与 SOCKS 代理请求 | 7890 |
socks-port | 接收 SOCKS5 代理请求 | 7891 |
external-controller | 提供 Dashboard 和管理工具使用的 API | 127.0.0.1:9090 |
secret | 为外部控制器 API 提供 Bearer Token 认证 | 随机字符串 |
只要控制器监听地址为 127.0.0.1,其他设备就不能直接访问这项 API;如果绑定到 0.0.0.0,则可能暴露给局域网甚至更大的网络范围。因此,Windows 本机使用 Dashboard 时,优先选择本地监听,而不是为了方便直接开放所有网卡。
在 Clash Verge Rev 中开启外部控制器
Clash Verge Rev 不同版本的界面名称可能略有差异,但配置思路基本一致。先启动 Clash Verge Rev,确认当前使用的是 Mihomo 或 Meta 核心,然后进入「设置」「订阅」或当前配置文件的编辑入口。部分版本会把核心配置放在「配置」页面,需要对正在使用的 YAML 配置进行编辑,而不是修改一个没有启用的备用文件。
- 打开 Clash Verge Rev,进入配置管理页面。
- 找到当前正在运行的配置,点击编辑、打开文件夹或使用 YAML 编辑器打开。
- 在顶层配置区域加入
external-controller和secret。 - 保存 YAML 文件,并在客户端中重新加载配置或重启核心。
- 回到「设置」或「仪表盘」页面,确认后端地址和密钥与配置完全一致。
推荐先使用仅限本机访问的配置。YAML 字段必须位于顶层,不能缩进到 proxies、proxy-groups 或 dns 下面,否则核心可能无法识别。
# 外部控制器仅允许本机访问 external-controller: 127.0.0.1:9090 # 请替换为自己生成的随机密钥 secret: Wv7!kQ2#nP9@xL4
127.0.0.1:9090 中,前半部分是监听地址,后半部分是 API 端口。9090 只是常见示例,并不是固定要求。如果该端口已被其他程序占用,可以改成 9091、9097 或其他未使用端口,但后续打开 Dashboard 时必须使用同一个端口。
监听地址、端口与 secret 怎么设置
本机访问使用 127.0.0.1
如果 Dashboard 和 Clash Verge Rev 都运行在同一台 Windows 电脑上,建议使用 127.0.0.1。它表示只接受本机回环接口的请求,即使电脑连接了 Wi-Fi、网线或开启了热点,其他设备也不能通过局域网地址访问该控制器。相比 0.0.0.0,这种设置更符合最小暴露原则。
浏览器中的后端地址应写成 http://127.0.0.1:9090,不要填写代理订阅地址,也不要添加多余的路径。若 Dashboard 本身要求填写 API URL,通常只需要填写协议、IP 和端口;如果页面另有「API 密钥」输入框,再单独填入 secret 的值。
局域网访问才考虑 0.0.0.0
如果你确实需要用同一局域网中的手机或另一台电脑管理 Windows 上的 Clash,可以将监听地址改为 0.0.0.0。这表示监听所有 IPv4 网卡,实际访问时应使用 Windows 电脑的局域网 IP,例如 http://192.168.1.20:9090,而不是在另一台设备上继续填写 127.0.0.1。后者只代表另一台设备自身。
开放局域网访问时必须同时设置强密钥,并检查 Windows Defender 防火墙规则。建议只允许专用网络中的指定设备访问该端口,不要为方便而关闭防火墙,也不要把控制器端口映射到公网路由器。
# 仅在确有局域网远程管理需求时使用 external-controller: 0.0.0.0:9090 secret: a9F!3mQz_2026-LocalOnly
secret 会作为 API 请求中的 Bearer Token 发送。它不是代理节点密码,也不是订阅链接中的访问凭据。不要把密钥发布到截图、公开仓库、聊天群或浏览器收藏同步服务中。若怀疑密钥泄露,应立即修改 YAML 中的 secret,重新加载核心,并在 Dashboard 中更新保存的新密钥。
external-controller 设置为 0.0.0.0:9090 却省略 secret,相当于把节点切换、配置读取和连接信息接口暴露给所有能访问该端口的人。用 Web Dashboard 连接 Clash Verge Rev
外部控制器只提供后端 API,不一定自带完整的可视化页面。你可以使用 Clash Verge Rev 内置的仪表盘,也可以打开兼容 Mihomo 的 Web Dashboard。连接时通常需要填写三个信息:后端地址、API 端口和 secret。不同面板的字段名称可能是「后端地址」「API 地址」「控制器地址」或「Secret」,但实际含义相同。
以本机配置为例,打开 Dashboard 后可按以下方式填写:
- 后端地址:
http://127.0.0.1:9090 - 密钥:填写 YAML 中
secret后面的完整字符串,注意大小写、符号和空格 - 连接方式:使用 HTTP;除非你另外配置了反向代理和 TLS,否则不要自行改成 HTTPS
如果面板打开后提示 CORS、Unauthorized 或 Failed to fetch,不要立即修改代理节点。先确认控制器端口是否写对、核心是否已经重启,以及 Dashboard 是否把密钥作为 API Token 发送。有些面板会保存旧的后端配置,清除站点缓存或删除旧连接条目后重新添加,往往即可解决问题。
用浏览器和 PowerShell 检查是否生效
Windows 用户可以先用浏览器访问控制器的基础接口,快速判断端口是否可达。在地址栏输入:
http://127.0.0.1:9090/
如果服务正在运行,通常会返回一段欢迎信息或 API 响应。如果浏览器显示无法连接,说明问题集中在核心未启动、端口被占用、配置未加载或监听地址填写错误。即使基础接口可以打开,也不代表鉴权正确,还需要带上 secret 测试受保护接口。
# 查看控制器是否能建立连接 Invoke-WebRequest http://127.0.0.1:9090/ # 使用 secret 请求版本信息 $headers = @{ Authorization = "Bearer Wv7!kQ2#nP9@xL4" } Invoke-RestMethod http://127.0.0.1:9090/version -Headers $headers
如果返回版本信息,说明端口监听、核心运行和 Token 认证都已基本正常。若返回 401 Unauthorized,优先检查 Bearer 拼写、secret 是否完整,以及是否误把引号也复制进了密钥。若返回连接拒绝,则检查 Clash Verge Rev 是否真的加载了这份配置,以及 Windows 中是否有其他程序占用了 9090 端口。
也可以用 PowerShell 查看端口占用情况:
Get-NetTCPConnection -LocalPort 9090 -ErrorAction SilentlyContinue
如果没有任何输出,通常表示当前没有程序监听该端口;如果状态显示为 Listen,可以继续核对监听地址和 Dashboard 配置。若端口被其他程序占用,将控制器改到未使用端口后,必须同步修改面板中的后端地址。
常见故障与安全检查清单
一、修改后仍然无法连接。检查配置是否保存到了当前启用的文件。Clash Verge Rev 可能同时存在订阅配置、Merge 配置和本地配置,编辑了未启用的文件不会影响运行中的核心。重新加载配置后,可通过 Dashboard 或日志确认核心是否重新启动。
二、提示 YAML 解析错误。检查字段缩进、冒号和特殊字符。secret 中包含 #、: 或某些符号时,建议使用单引号或双引号包裹,避免被 YAML 当成注释或语法内容。配置字段应放在顶层,并确保同名字段没有重复定义。
三、浏览器能打开面板但无法读取数据。这通常是后端地址、secret 或跨域设置不匹配。先用 PowerShell 请求 /version,再检查 Dashboard 的 API 地址是否多写了路径、末尾斜杠或错误端口。若面板来自不同域名,确认该 Dashboard 支持当前 Mihomo API,必要时改用 Clash Verge Rev 内置面板进行对比。
四、局域网设备无法访问。确认控制器使用的是 0.0.0.0,并使用 Windows 的实际局域网 IP;检查网络配置文件是否被标记为公用网络,以及防火墙是否拦截了该端口。测试完成后,如果不再需要远程管理,应恢复为 127.0.0.1。
五、面板可以连接但看不到节点或策略组。外部控制器只负责提供当前核心的数据。如果配置文件本身没有成功加载代理、策略组或规则,面板也不会凭空生成内容。先在 Clash Verge Rev 主界面确认当前配置有效,再检查核心日志和订阅更新状态。
- 本机使用时优先选择
127.0.0.1:9090。 - 任何非本机监听都必须设置强随机
secret。 - 不要将控制器端口暴露到公网或进行路由器端口转发。
- 修改端口、地址或密钥后要重新加载核心,并同步更新 Dashboard。
- 使用 PowerShell 的
/version接口确认认证,再排查面板本身。
完成这些设置后,Clash Verge Rev 的外部控制器就能稳定承担 Web 管理入口:你可以在浏览器中查看实时连接、核对规则命中、测试节点延迟并切换策略组。对于只在 Windows 本机使用的场景,保持本地监听和强密钥已经足够安全;只有确实需要跨设备管理时,才考虑开放局域网监听,并配合防火墙限制访问范围。