Clash 外部控制器与 Web 面板(metacubexd / yacd)

桌面客户端的图形界面,其实是在调用内核暴露的一个控制接口——external-controller。理解了这一点,你就能用浏览器里的 Web 面板(metacubexd、yacd 这类)去管理一个没有界面的内核,比如跑在服务器、软路由、Docker 里的 Mihomo。这篇讲清接口、端口、secret 和面板怎么连。

external-controller 是什么

它是内核开的一个 RESTful API(默认在 9090 端口),用来查看和操作内核:切节点、看连接、读日志、重载配置全靠它。桌面客户端的漂亮界面,底下就是在调这个 API。所以只要内核开了这个口,任何"前端面板"都能接上来管理它——哪怕内核根本没有自带界面。

Web 面板 metacubexd / yacd REST API :9090 + secret external-controller 内核的控制接口 Mihomo 内核 真正跑代理

架构示意图面板只是前端,通过 9090 控制接口操作内核,内核可以没有界面。

配置控制端口与 secret

在配置里这样写(桌面客户端通常已默认开好,服务器/裸内核需手动加):

external-controller: 127.0.0.1:9090   # 只本机可连,最安全
secret: "设一个足够复杂的口令"          # 访问令牌,务必设
external-ui: ui                       # 可选:内核自带托管面板的目录

secret 是访问这个接口的口令,面板连接时要填。强烈建议设一个复杂的——空 secret + 对外监听等于把内核交给全网,安全细节单独写在 external-controller 安全配置,强烈建议连读。

连接 Web 面板

1

打开面板站点

访问 metacubexd / yacd 的在线版,或用内核 external-ui 托管的本地面板。

2

填后端地址

API 地址填 http://127.0.0.1:9090(远程则填服务器地址),secret 填你设的口令。

3

连接

连上后即可看到节点、连接、日志等页面,和桌面客户端的功能基本一致。

用在线面板连本地内核为何可行:面板的网页在你浏览器里跑,API 请求是从你本机发往 127.0.0.1:9090 的,数据不经过面板服务器。但若你把 9090 对公网开放,风险就大了,务必先看安全篇。

面板能做什么

  • Proxies:切换节点、测速,等同策略组操作。
  • Connections:实时看每条连接走了哪个节点、用的什么规则,排错神器,见 看懂连接
  • Logs:实时日志,定位 DNS、规则、握手问题。
  • Rules / Config:查看当前规则、重载配置。

对跑在 Docker软路由 上的无界面内核来说,Web 面板基本就是它唯一的"操作台"。

先把客户端/内核装上

桌面客户端已内置控制接口,到下载中心获取即可直接体验面板功能。

前往 Clash 下载中心
⚠️ 免责声明:本文为开源软件使用教程,本站不提供任何节点、VPN 或机场服务。请遵守所在地区法律法规,合理合法使用网络工具。