Clash Verge Rev 外部控制器怎么开启?Windows配置步骤

Clash Verge Rev 的 Web 面板并不是独立运行的管理程序,它本质上是通过 Clash 内核提供的 External Controller(外部控制器)接口,读取代理、连接、规则和配置状态。Windows 用户如果只打开 Clash Verge Rev 主界面,却没有正确启用外部控制器,常见表现就是 Web 面板提示「无法连接后端」「API 连接失败」或一直停留在加载状态。本文以 Windows 版 Clash Verge Rev 为例,从软件界面入口、监听地址、端口和密钥填写开始,完整说明如何开启外部控制器,并通过浏览器和命令行验证配置是否生效。

先了解外部控制器和 Web 面板的关系

外部控制器可以理解为 Clash 内核开放出来的一组 HTTP API。Clash Verge Rev 的桌面界面、Metacubexd、Yacd-meta 等 Dashboard,都是通过这些 API 获取信息或发送操作请求。例如,面板显示当前节点、读取代理组、查看实时连接、更新订阅和切换策略组,都需要访问外部控制器提供的接口。

它通常由三个关键参数组成:

  • 监听地址和端口:决定 API 服务在哪个网络地址上监听。常见写法是 127.0.0.1:9090,其中 127.0.0.1 代表仅允许本机访问,9090 是 API 端口。
  • Secret 密钥:用于 API 身份验证。Dashboard 连接时需要将它作为 Bearer Token 发送,防止其他程序未经授权控制 Clash。
  • External UI:指定本地 Dashboard 文件目录。有些版本可以自动下载面板,也可以只使用在线 Web 面板,不一定要配置本地 UI。

需要注意,外部控制器端口与代理端口不是一回事。mixed-porthttp-portsocks-port 用于承载浏览器和应用的代理流量;external-controller 只用于管理 API。把代理端口填到 Dashboard 的后端地址中,通常会导致连接失败。

Windows 本机使用的推荐组合:监听地址使用 127.0.0.1,端口使用未被占用的 9090,同时设置一组较长且随机的 Secret。这样既能让本机 Dashboard 正常连接,也不会把管理接口暴露给局域网。

在 Clash Verge Rev 中找到外部控制器设置

不同版本的 Clash Verge Rev 在界面文字上可能略有差异,但设置思路基本一致。请先确认软件已经安装并正常启动,随后按照下面的路径查找相关选项:

  1. 在 Windows 中启动 Clash Verge Rev,等待主窗口加载完成。
  2. 在左侧导航栏中打开「设置」「Settings」或带有齿轮图标的页面。
  3. 切换到「内核设置」「Core」「Clash 设置」或「基础设置」区域。
  4. 查找名称包含 External Controller外部控制器API 监听地址 的输入框。
  5. 如果当前界面提供「Secret」「API 密钥」「外部控制器密钥」字段,也应在同一位置完成填写。
  6. 点击「保存」「应用」或「重启内核」。部分配置不会立即作用于正在运行的内核,必须重启 Clash 核心。

如果设置页面只显示简化选项,而没有外部控制器字段,可以打开当前使用的配置文件,或者进入「配置」页面查看活动配置。Clash Verge Rev 通常会把配置文件保存在应用数据目录中,但不同安装方式和版本的路径可能不同,因此不建议直接凭经验修改某个固定文件。更稳妥的做法是使用软件提供的「打开配置文件夹」「编辑配置」或「打开配置目录」按钮。

在 Windows 上编辑 YAML 时要特别注意缩进。YAML 使用空格表示层级,不能随意混用 Tab;字段名称中的连字符也不能改成下划线。保存后如果软件提示配置解析失败,应先查看错误行号,再检查冒号、缩进和引号是否完整。

正确填写地址、端口与 Secret

最常见的本机配置如下。它只允许当前 Windows 用户所在的计算机访问,不会直接接受来自其他设备的请求:

Windows 本机安全配置
external-controller: 127.0.0.1:9090
secret: change-this-to-a-long-random-secret

127.0.0.1localhost 在多数本机使用场景下效果相近,但建议优先使用 127.0.0.1,因为它不会受到 Windows 主机名解析或 IPv6 优先级的影响。端口可以使用 90909091 等未被占用的端口;如果修改了端口,Dashboard 后端地址也必须同步修改。

Secret 不建议使用简单的数字、用户名、软件名称或订阅名称。例如 123456clashpassword 都不适合作为管理密钥。可以使用至少 20 位的随机字符串,并避免在截图、公开配置仓库或群聊中完整发布。Secret 为空时,某些 Clash 内核仍可能允许未认证请求,这在本机测试时看似方便,但不适合作为长期配置。

配置项推荐值作用与注意事项
external-controller127.0.0.1:9090仅本机访问,适合 Windows 电脑上的 Dashboard
secret随机长字符串API 认证密钥,Dashboard 中必须填写相同内容
0.0.0.0:9090仅在确有需要时使用允许局域网访问,必须配合强密钥和防火墙规则
代理端口例如 7890用于 HTTP、SOCKS 或混合代理,不能代替 API 端口

如果希望手机或局域网中的另一台电脑访问 Windows 上的 Dashboard,可以把监听地址改成 0.0.0.0:9090,然后在 Dashboard 中填写 Windows 的局域网 IP,例如 http://192.168.1.20:9090。不过这会使 API 暴露到网络接口,不能只修改监听地址而忽略安全控制。

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

外部控制器配置保存并重启内核后,可以使用在线 Dashboard 或 Clash Verge Rev 内置的面板进行连接。以常见的 Metacubexd 为例,打开面板后通常需要填写两个字段:

  • 后端地址:本机填写 http://127.0.0.1:9090;如果从局域网其他设备访问,则填写 Windows 的局域网 IP 和 API 端口。
  • 密钥:填写配置中的 secret 内容,不要把字段名 secret: 一起复制进去,也不要额外添加引号。

成功连接后,面板一般可以看到代理组、节点延迟、当前连接和规则信息。可以先进入「代理」页面切换一次策略组,再进入「连接」页面观察是否出现新的连接记录。如果这些操作都能实时反映,说明外部控制器地址、端口和 Secret 已经匹配。

不想打开 Dashboard 时,也可以用 Windows PowerShell 验证 API。下面的命令会访问 Clash 的版本接口,并通过请求头传递密钥:

PowerShell 测试 API 连接
$secret = "change-this-to-a-long-random-secret"
$headers = @{ Authorization = "Bearer $secret" }
Invoke-RestMethod -Uri "http://127.0.0.1:9090/version" -Headers $headers

如果配置正确,PowerShell 会返回包含版本信息的 JSON 内容。若出现连接被拒绝,通常表示端口没有监听、内核没有启动或配置尚未生效;若返回 401 或 403,则重点检查 Secret;若浏览器页面打不开但 PowerShell 可以返回结果,则问题更可能出在 Dashboard 地址、浏览器缓存或面板自身。

Windows 防火墙与安全访问建议

外部控制器拥有较高权限,通常可以切换节点、读取连接信息、更新配置,甚至执行部分控制操作。因此,它不应当像普通网页服务器一样随意暴露到公网。尤其不要把 0.0.0.0:9090 配合路由器端口转发直接发布到互联网,也不要在不清楚风险的情况下关闭 Windows 防火墙。

如果只是本机使用,使用 127.0.0.1 就不需要为外部控制器创建入站防火墙规则。若确实需要局域网访问,可以按照以下原则限制风险:

  1. 为 Secret 生成不可猜测的随机值,并定期更换。
  2. 在 Windows 防火墙中只允许「专用网络」访问,不要对「公用网络」开放。
  3. 尽量限制允许访问的远程 IP 或局域网网段,而不是对所有来源开放。
  4. 不要将管理端口映射到公网;远程管理优先使用 VPN、Tailscale 或 SSH 隧道。
  5. 使用完远程访问后,把监听地址恢复为 127.0.0.1,并删除不再需要的防火墙放行规则。
不要把 Secret 当作普通配置项公开:Secret 一旦泄露,拥有 API 地址的人可能直接控制 Clash。发布配置截图时应遮盖密钥;共享 YAML 前也应删除或替换 external-controllersecret 中的敏感信息。

常见连接失败原因与排查顺序

当 Dashboard 显示无法连接时,建议按照「内核是否启动—端口是否监听—地址是否正确—密钥是否匹配」的顺序排查,不要一开始就反复更换面板。

检查端口是否被占用或正在监听

打开 Windows PowerShell,执行以下命令,将端口号替换成你的实际配置:

检查 9090 端口状态
Get-NetTCPConnection -LocalPort 9090 -ErrorAction SilentlyContinue
netstat -ano | findstr :9090

如果没有任何输出,说明当前没有程序监听该端口,可能是内核没有启动、配置没有被加载,或者 Clash Verge Rev 使用的不是你修改的那份配置。如果显示端口已被其他进程占用,可以换成 9091 或其他未使用端口,并同步修改 Dashboard 后端地址。

检查配置没有被覆盖

Clash Verge Rev 可能同时存在多个配置文件、订阅配置和配置覆盖项。你修改的文件不一定就是当前运行的配置。请在软件的「配置」页面确认当前活动配置,再使用「编辑」或「打开目录」功能查看实际内容。若软件提供配置覆盖(Merge)功能,也要检查覆盖文件是否重新定义了 external-controllersecret

修改后必须重新加载配置或重启内核。仅仅保存文本文件,不代表正在运行的 Clash 核心已经读取新内容。重启后再测试,能够避免把旧状态误认为新配置的结果。

根据错误提示定位问题

现象可能原因处理方法
ERR_CONNECTION_REFUSED端口未监听、内核未启动或地址错误检查核心状态、端口号和 127.0.0.1 拼写
401 UnauthorizedSecret 不正确或格式多了引号重新复制密钥,确认使用 Bearer Token 认证
页面打开但没有节点Dashboard 连到了错误的端口或配置为空确认后端地址是 API 端口,不是代理端口
局域网设备无法连接仍绑定本机地址或被防火墙拦截检查监听地址、防火墙网络类型和局域网 IP
重启后设置消失编辑了非活动配置或被订阅覆盖在活动配置和 Merge 覆盖项中重新确认参数

完成排查后,建议先用 PowerShell 请求 /version,再连接 Dashboard。这样可以把问题拆成两层:如果 API 本身无法访问,先修复 Clash Verge Rev 的监听配置;如果 API 可以访问而面板仍失败,再检查面板地址、缓存和认证方式。这个顺序比直接更换多个 Dashboard 更高效。

对于只想在 Windows 本机使用 Web 面板的用户,下面这组配置足够稳定,也符合最小暴露原则:

Clash Verge Rev Windows 推荐配置
# Proxy ports handle application traffic
mixed-port: 7890

# External Controller handles Dashboard API requests
external-controller: 127.0.0.1:9090
secret: replace-with-your-random-secret

配置完成后,重启 Clash Verge Rev 的内核,在 Dashboard 中填写 http://127.0.0.1:9090 和相同的 Secret 即可。记住,7890 是应用连接代理时使用的混合端口,9090 才是 Web 面板访问的外部控制器端口。只要地址、端口、密钥和活动配置四项保持一致,Windows 上的 Clash Verge Rev Web 面板通常就能正常工作。

立即开始

用 Clash 掌控你的流量

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

免费下载 查看设置指南 →
立即开始

用 Clash 掌控你的流量

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

免费下载 查看设置指南 →
下载 Clash
全平台支持,一键流量控制,无需复杂配置
免费下载