外部控制器是什么?为什么要在 Clash Verge Rev 中开启
如果你搜索的是「Clash Verge Rev 外部控制器怎么开启」「Windows Clash Web 面板打不开」或「Clash Verge Rev external controller 配置」,通常是想通过浏览器 Dashboard 查看代理节点、切换策略组、观察连接日志,或者让第三方 Web 面板连接本机的 Mihomo 内核。这个功能的正式名称一般是外部控制器(External Controller),它并不是系统代理开关,也不是 TUN 模式,而是一组由 Mihomo 提供的本地控制 API。
可以把它理解为:Clash Verge Rev 负责启动和管理内核,外部控制器则在本机监听一个 HTTP API 端口。Web 面板通过这个端口读取当前配置、代理组和连接信息,再把你的切换节点、关闭连接等操作发送回内核。也就是说,即使 Windows 系统代理已经开启,外部 Dashboard 仍然可能因为控制器未启动、端口填错或密钥不一致而无法连接。
在 Windows 上,最稳妥的做法是先使用本机地址 127.0.0.1 监听,只让当前电脑访问控制器。端口可以使用常见的 9090,也可以换成没有被其他程序占用的端口;密钥则用于防止本机其他进程未经授权调用 API。完成设置后,再用 Web 面板或 API 请求测试,而不要一开始就把监听地址改成 0.0.0.0 暴露到局域网。
先分清三个开关:系统代理决定遵守 Windows 代理设置的应用是否走 Clash;TUN 模式负责在网络层接管更多 TCP/UDP 流量;外部控制器只负责提供管理 API。三者可以同时使用,但开启外部控制器并不会自动让浏览器或游戏经过代理。
开始设置前:确认客户端、内核与端口条件
在修改外部控制器之前,先确认你使用的是Clash Verge Rev,而不是名称相近的旧版 Clash Verge、Clash for Windows 或 Mihomo Party。不同客户端的菜单名称和配置保存方式可能不同,照搬其他软件的截图,往往会把端口、Secret 或 Dashboard 地址填到错误位置。Clash Verge Rev 通常以 Mihomo 作为核心,界面里可能把相关选项显示为「外部控制器」「External Controller」「控制器地址」或放在内核设置区域中。
同时确认至少已经导入一份可以正常运行的配置文件,并且客户端能够启动 Mihomo 内核。如果配置尚未加载,或者内核状态一直处于停止、启动失败,外部控制器即使填写正确也不会响应。可以先进入「配置」或「Profiles」页面,选择当前配置并等待解析完成,再打开代理页面确认策略组和节点列表能够显示。
Windows 端口还可能被其他 Clash 客户端、开发工具、虚拟机软件或本地 Web 服务占用。9090、9091、7890 和 7891 在代理环境中较常见,但常见并不代表一定空闲。若保存后控制器自动关闭,或者日志出现 bind、address already in use 一类错误,应更换端口,而不是反复修改浏览器设置。
- 监听地址:首次配置优先使用
127.0.0.1,只允许本机访问。 - 监听端口:例如
9090,必须是数字,且不能与其他服务重复。 - 密钥 Secret:建议使用长度足够的随机字符串,不要使用姓名、生日或简单的
123456。 - 控制器协议:多数 Dashboard 使用 HTTP API,因此地址通常写成
http://127.0.0.1:9090,不要误填代理端口。
Windows 上开启 Clash Verge Rev 外部控制器的步骤
Clash Verge Rev 的版本更新可能会调整菜单位置,但核心逻辑基本不变:找到内核相关设置,启用 External Controller,再填写地址、端口和 Secret。下面按 Windows 桌面版常见界面说明,若你的版本使用英文菜单,可按括号中的关键词寻找。
- 打开 Clash Verge Rev:从开始菜单或任务栏托盘图标启动客户端,等待主界面加载完成。不要只打开快捷方式后立即测试,因为内核可能仍在后台启动。
- 进入设置页面:点击左侧的「设置」(Settings),然后查找「内核设置」「Clash 内核」「Mihomo」或「外部控制器」相关区域。部分版本会把控制器选项放在常规设置或高级设置中。
- 启用外部控制器:找到 External Controller 或 External Controller API 开关并打开。如果界面只有地址输入框而没有独立开关,说明该版本可能在填写并保存参数后自动启用。
- 填写监听地址:在 Host、Bind Address 或监听地址中输入
127.0.0.1。除非你明确需要让局域网内的其他设备管理这台电脑,否则不要填写0.0.0.0。 - 填写监听端口:在 Port 或控制器端口中输入
9090。如果保存时提示端口占用,可改为9091或其他未使用端口,随后所有 Dashboard 地址都要同步修改。 - 设置 Secret:在 Secret、密钥或 API Token 输入框中填写随机密钥。建议使用大小写字母、数字和符号的组合,并将它保存在密码管理器中,避免日后复制时遗漏字符。
- 保存并重启内核:点击保存、应用或 Apply。若界面提示重启内核,请确认操作;有些版本不会立即重新监听端口,需要先停止再启动当前配置,甚至完全退出并重新打开客户端。
- 确认状态:回到主界面查看 Mihomo 内核是否运行,打开连接或日志页面观察是否出现控制器启动成功、监听地址或端口绑定信息。
这里最容易填错的是代理端口与控制器端口。例如混合端口 7890 是给浏览器、终端或其他应用发送代理请求的;外部控制器端口 9090 则是给 Dashboard 调用管理 API 的。把 7890 填入控制器地址,通常会得到连接失败、返回乱码或接口路径不存在等现象。反过来,把 9090 当作 HTTP 代理端口使用,也不会让普通应用正常上网。
推荐的本机配置:监听地址使用 127.0.0.1,控制器端口使用 9090,Secret 使用独立随机字符串。只有在确认本机 Dashboard 能正常连接后,才考虑局域网访问等更复杂的场景。
连接 Web 面板:地址、密钥与 API 测试方法
外部控制器保存成功后,还需要一个能够调用 Mihomo API 的 Dashboard。部分 Clash Verge Rev 版本内置了 Dashboard 入口,通常位于「仪表盘」「Dashboard」或主界面的 Web 面板按钮;也有版本需要在设置中选择 Dashboard 来源。进入面板配置时,控制器地址应按照监听地址和端口组合填写,例如 http://127.0.0.1:9090。如果输入框已经自动带有 http://,不要重复填写协议。
Secret 的填写方式取决于 Dashboard。常见面板会提供「Secret」「Token」「API 密钥」字段,直接粘贴你在 Clash Verge Rev 中设置的密钥即可。有些工具把密钥称为控制器密码,但它并不是 Windows 登录密码,也不是订阅链接中的 Token。若面板要求填写完整 API 地址,则通常只需要控制器根地址;如果要求填写 WebSocket 地址或特殊路径,应以该 Dashboard 的说明为准,不要自行把代理端口拼进去。
连接后,面板通常会显示当前模式、代理组、节点延迟、连接列表和日志。如果能看到策略组并切换节点,说明地址、端口和 Secret 基本正确。此时可以在 Clash Verge Rev 的「代理」页面观察选择是否同步,再打开一个普通网页测试系统代理。需要注意,Dashboard 能连接只代表管理 API 可用,并不代表当前节点一定可用,也不代表 Windows 所有应用都已经被代理接管。
如果你想不依赖 Dashboard 做最小化测试,可以在 PowerShell 中访问控制器的基础接口。将下面命令里的密钥和端口替换成自己的值:
$secret = "替换为你的Secret"
$headers = @{ Authorization = "Bearer $secret" }
Invoke-RestMethod -Uri "http://127.0.0.1:9090/version" -Headers $headers
接口正常时,通常会返回 Mihomo 的版本信息或包含版本字段的 JSON。若返回未授权,优先检查 Secret 是否多了空格、是否把 Bearer 拼写错误;若提示无法连接,则检查内核是否启动、端口是否正确以及 Windows 防火墙或其他安全软件是否拦截了本地服务。测试完成后不要把包含真实密钥的命令截图发到公开群组。
外部控制器打不开、401 或端口无响应怎么办
外部控制器问题最好按照「内核是否启动 → 端口是否监听 → 地址是否正确 → 密钥是否一致 → Dashboard 是否兼容」的顺序排查。不要一遇到面板打不开就同时开启 TUN、修改 DNS、切换全局模式,这些操作与控制器 API 是否监听没有直接关系,反而会让日志变得更难阅读。
| 故障现象 | 常见原因 | 处理方法 |
|---|---|---|
| 面板提示无法连接 | 内核没有运行,或地址端口填错 | 确认 Mihomo 状态为运行中,并核对 127.0.0.1:9090 是否与客户端设置一致。 |
| 返回 401 Unauthorized | Secret 为空、错误或带入了多余空格 | 重新复制密钥,确认 Dashboard 使用的是当前控制器的 Secret,并重新保存连接配置。 |
| 保存设置后控制器自动关闭 | 端口被其他程序占用,或配置格式不被当前版本接受 | 换用未占用端口,重启内核,并查看日志中的 bind 或 listen 错误。 |
| 本机能连,其他设备不能连 | 监听地址为回环地址,或 Windows 防火墙未放行 | 本机使用 127.0.0.1 属于正常安全状态;确需局域网访问时,再评估监听地址、端口规则和认证风险。 |
| 面板打开但节点列表为空 | 配置没有加载、Dashboard API 不兼容或当前配置没有代理组 | 先在客户端确认配置可用,再刷新面板;不要只根据浏览器空白页判断端口故障。 |
可以使用 PowerShell 检查端口是否处于监听状态:
Test-NetConnection 127.0.0.1 -Port 9090
如果结果中的 TcpTestSucceeded 为 True,说明本机能够建立 TCP 连接,下一步应检查 API 路径、Secret 和 Dashboard 兼容性;如果为 False,则应回到 Clash Verge Rev 的内核状态、监听配置和端口占用排查。也可以用任务管理器关闭残留的旧版 Clash 进程后重新启动,但不要随意删除配置目录,因为其中可能保存着订阅、覆写和自定义规则。
安全使用建议:不要把控制器端口直接暴露到公网
外部控制器拥有读取配置、查看连接、切换代理和关闭连接等权限,Secret 泄露后,攻击者不一定需要登录你的 Windows 桌面,也可能通过 API 影响本机代理状态。因此,控制器端口不是普通的 Web 服务端口,不能为了方便远程访问就直接做路由器端口转发,更不能在公网服务器上使用空 Secret。
日常使用建议保留以下边界:第一,监听地址使用 127.0.0.1,让 Dashboard 与 Clash Verge Rev 在同一台电脑上完成通信;第二,Secret 不与订阅链接、节点密码混用,也不要写进公开的截图或配置仓库;第三,若怀疑密钥泄露,立即在客户端生成新 Secret,并重启内核使旧令牌失效;第四,使用第三方 Dashboard 前确认它的来源可信,不要把控制器地址和密钥填入来历不明的网页。
如果确实需要从手机或局域网另一台电脑管理 Windows 上的 Clash,应先确认局域网可信,再将监听地址改为局域网网卡地址或由防火墙限制的范围,并为控制器设置强密钥。更稳妥的远程方案是通过 VPN 或安全隧道访问,而不是把 9090 直接暴露到互联网。完成远程管理后,建议恢复为本机监听,减少长期暴露面。
不要混淆两个 Token:订阅链接中的 Token 用于拉取配置,外部控制器 Secret 用于调用本机管理 API。前者泄露可能导致订阅被滥用,后者泄露则可能让别人操作你的 Clash 内核;两者都应单独保管。
相比一些只提供固定 Web 面板、却把监听端口和认证方式隐藏起来的同类工具,Clash Verge Rev 的外部控制器更适合需要查看 Mihomo 日志、调试策略组和远程管理本机状态的 Windows 用户,不过它也要求使用者理解「代理端口」与「控制器端口」的区别,初次配置时不能只依赖一键向导。Clash 官网 的相关教程会把界面路径、参数含义、PowerShell 测试和安全边界放在同一条排障链里,方便你按步骤复核而不是反复试错;如果你正准备在 Windows 上安装并配置 Clash 客户端,不妨前往下载 Clash 官网,再根据本文设置外部控制器和 Web 面板。