Clash 外部控制器与 Web 面板(metacubexd / yacd)
桌面客户端的图形界面,其实是在调用内核暴露的一个控制接口——external-controller。理解了这一点,你就能用浏览器里的 Web 面板(metacubexd、yacd 这类)去管理一个没有界面的内核,比如跑在服务器、软路由、Docker 里的 Mihomo。这篇讲清接口、端口、secret 和面板怎么连。
external-controller 是什么
它是内核开的一个 RESTful API(默认在 9090 端口),用来查看和操作内核:切节点、看连接、读日志、重载配置全靠它。桌面客户端的漂亮界面,底下就是在调这个 API。所以只要内核开了这个口,任何"前端面板"都能接上来管理它——哪怕内核根本没有自带界面。
架构示意图面板只是前端,通过 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 对公网开放,风险就大了,务必先看安全篇。面板能做什么
⚠️ 免责声明:本文为开源软件使用教程,本站不提供任何节点、VPN 或机场服务。请遵守所在地区法律法规,合理合法使用网络工具。