Clash Dashboard 使用指南:连接管理、流量图与延迟测试
"规则到底有没有生效""这条连接走的是哪个节点""为什么突然变卡了"——这些问题靠猜很难有答案,但打开 Dashboard 面板基本都能一眼看清楚。这篇讲清楚面板和 Clash 内核的关系、怎么打开、核心功能怎么用,以及必须了解的安全注意事项。
Dashboard 和内核是什么关系
Dashboard 本身不处理任何网络流量,它只是一个"读取/操作内核状态"的 Web 界面,真正干活的始终是 Clash 内核。
这个关系是通过配置文件里的 external-controller 字段建立的——内核启动后会在这个地址上开一个本地 API,Dashboard 页面通过浏览器访问这个 API,展示节点列表、连接状态、日志等信息,同时也能通过它下发指令(比如切换代理组当前使用的节点)。理解这一点后就会明白:Dashboard 只是众多可能的"前端"之一,同一个内核可以同时被好几种不同的面板连接。
external-controller: 127.0.0.1:9090
secret: "设置一个足够复杂的密钥"
怎么打开面板
不同客户端提供 Dashboard 的方式略有差异,但原理都是一致的:
- 大多数图形界面客户端(Clash Verge Rev、FlClash 等):已经内置了面板入口,通常在软件的"概览"或"面板"菜单里直接打开,不需要额外配置。
- 纯内核 / 命令行部署:需要额外搭配一个开源面板项目(如社区常用的
yacd、metacubexd),把面板的静态文件跟内核放在一起,或者部署到能访问该external-controller地址的任意位置,再用浏览器打开。
面板页面本身可以换着用——同一个内核,你既可以用客户端自带的面板,也可以额外在浏览器里打开一个社区面板连到同一个 external-controller 地址,两者显示的是同一套实时数据,互不冲突。
核心功能导览
| 面板功能 | 能看到什么 | 典型用途 |
|---|---|---|
| 连接列表 (Connections) | 每条活跃连接的目标域名/IP、使用的代理节点、命中的规则、已传输流量 | 排查"这个网站到底走的是哪个节点/规则" |
| 代理 (Proxies) | 所有节点与代理组,每个节点当前的延迟,可手动点击切换 select 组的节点 | 手动测速对比、手动切换线路 |
| 流量图 (Traffic) | 实时上传/下载速率曲线 | 直观判断当前是否真的在跑流量、有没有异常突增 |
| 日志 (Logs) | 内核实时输出的日志,包括规则匹配、连接建立/失败信息 | 排查报错、确认某条规则是否真的被触发 |
日常排障最常用的是连接列表:点开某一条具体的连接,就能看到它实际使用的节点和命中的规则名,这是判断"规则到底生效没生效"最直接的方式,比反复修改配置再测试快得多。
用连接列表排查实际问题
遇到"某个网站访问异常"时,比起直接怀疑配置错了,更高效的做法是先在连接列表里定位这条连接:
- 在连接列表里找到目标域名(通常按最近发起时间排序,容易定位),确认它有没有出现在列表里——如果完全没出现,说明请求可能被系统层面拦截,问题不在 Clash。
- 查看它命中的规则名称,对照配置文件确认这条规则的动作是否符合预期。
- 查看它使用的代理节点,如果规则动作是某个代理组,但实际用的节点不是你期望的那个,回到"代理"标签页检查该组当前的调度状态(比如
url-test组是否正确选出了最快节点)。
这个排查思路本质上是把规则引擎的匹配逻辑和实际运行结果对照起来看,比单纯"改配置再试"更有针对性。
安全注意事项:secret 与 allow-lan
external-controller 暴露的接口不仅能"查看",还能"操作"——包括读取你的节点列表、切换代理、甚至修改部分运行时配置。如果 allow-lan 开启,意味着这个接口在局域网内也能被访问到。
因此有两条安全建议必须遵守:
- 只要
allow-lan是开启状态,就一定要给secret设置一个足够复杂的密钥,避免局域网内其他设备未经授权访问你的面板接口。 - 如果只是单机自己使用,没有必要把
external-controller绑定到0.0.0.0或局域网 IP,用默认的127.0.0.1(仅本机可访问)已经足够安全,也更简单。