在 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-porthttp-portsocks-port 是给浏览器和其他应用发送代理请求的;external-controller 则是给管理面板发送控制请求的。两者用途不同,不能把代理端口直接填进 Dashboard 的后端地址。

配置项目主要用途常见示例
mixed-port同时接收 HTTP 与 SOCKS 代理请求7890
socks-port接收 SOCKS5 代理请求7891
external-controller提供 Dashboard 和管理工具使用的 API127.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 配置进行编辑,而不是修改一个没有启用的备用文件。

  1. 打开 Clash Verge Rev,进入配置管理页面。
  2. 找到当前正在运行的配置,点击编辑、打开文件夹或使用 YAML 编辑器打开。
  3. 在顶层配置区域加入 external-controllersecret
  4. 保存 YAML 文件,并在客户端中重新加载配置或重启核心。
  5. 回到「设置」或「仪表盘」页面,确认后端地址和密钥与配置完全一致。

推荐先使用仅限本机访问的配置。YAML 字段必须位于顶层,不能缩进到 proxiesproxy-groupsdns 下面,否则核心可能无法识别。

Windows 本机推荐配置
# 外部控制器仅允许本机访问
external-controller: 127.0.0.1:9090

# 请替换为自己生成的随机密钥
secret: Wv7!kQ2#nP9@xL4

127.0.0.1:9090 中,前半部分是监听地址,后半部分是 API 端口。9090 只是常见示例,并不是固定要求。如果该端口已被其他程序占用,可以改成 9091、9097 或其他未使用端口,但后续打开 Dashboard 时必须使用同一个端口。

配置生效的关键:保存 YAML 后不要只刷新网页。Clash Verge Rev 必须重新加载当前配置,必要时还要重启 Mihomo 核心;否则旧进程仍可能使用原来的监听参数。

监听地址、端口与 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 测试受保护接口。

PowerShell 检查 API
# 查看控制器是否能建立连接
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 查看端口占用情况:

检查 9090 端口
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 本机使用的场景,保持本地监听和强密钥已经足够安全;只有确实需要跨设备管理时,才考虑开放局域网监听,并配合防火墙限制访问范围。

立即开始

用 Clash 掌控你的流量

支持 Windows、macOS、Linux、Android 与 iOS,灵活规则,开箱即用。

免费下载 查看设置指南 →