本文由 Clash 官方中文網 整理。圖形化客戶端能滿足大多數日常需求,但當你需要查看即時連線、排查哪條規則命中了哪個節點,或在伺服器上無介面運行 Mihomo 核心時,外部控制(External Controller) 就顯得不可或缺。透過 RESTful API,第三方 Web 面板(如 YACD、metacubexd)可以在瀏覽器中呈現流量、日誌與策略群組狀態,成為進階使用者的「維運儀表板」。本文介紹如何安全開啟外部控制,並高效使用 Dashboard 管理 Clash。
外部控制 API 是什麼
Mihomo / Clash Meta 在本機或區域網路監聽一個 HTTP API 連接埠(預設 9090),對外提供查詢與操作介面:讀取設定、切換出站、測速、查看連線清單、關閉連線等。圖形化客戶端的許多操作,底層也是透過同一套 API 完成。
Web Dashboard 本身不嵌入核心,而是作為前端連線該 API,將資料視覺化。因此,只要 API 位址與金鑰設定正確,你可以在任意裝置瀏覽器上管理運行在電腦、軟路由或 VPS 上的核心實例。
外部控制是「遙控器」,Dashboard 是「遙控器上的螢幕」——先開啟 API,再配對面板。
基礎設定範例
在 YAML 設定頂層新增 external-controller 與可選的 secret:
external-controller: 127.0.0.1:9090
secret: "your-random-secret"
external-ui: ./dashboard
127.0.0.1 表示僅本機可訪問,是最安全的預設選擇。若需區域網路內其他裝置管理,可改為 0.0.0.0:9090,但必須設定足夠複雜的 secret,並在防火牆中限制來源 IP。
部分發行版支援 external-ui 指定內建靜態面板目錄;也可使用獨立託管的 YACD / metacubexd,在面板設定裡填寫 API 位址與金鑰即可連線。
常用 Web 面板
- YACD:經典輕量面板,支援連線清單、規則測試、策略群組切換,適合桌面瀏覽器。
- metacubexd:針對 Meta 核心最佳化,介面現代,支援行動端,功能涵蓋日誌、連線、設定預覽。
- Clash Verge Rev 內建頁:部分客戶端已整合 Dashboard 入口,實質仍連線本地 API。
連線時在面板中填寫 http://127.0.0.1:9090(或伺服器 IP),並在 Secret 欄填入與設定檔一致的金鑰。成功連線後,即可看到即時上傳/下載速率與活躍連線數。
Dashboard 能幫你做什麼
連線與日誌排查
「連線」頁面列出當前所有 TCP/UDP 連線階段,顯示目標網域、命中規則、使用的策略群組與節點。某網站打不開時,在這裡往往一眼能看出是規則直連了、還是節點逾時。搭配「日誌」頁的 debug 級別輸出,可追蹤 DNS 解析與規則比對細節。
策略群組與測速
無需回到主客戶端,可在面板直接切換「節點選擇」或觸發 url-test 測速。對遠端伺服器上的核心,這意味著用手機瀏覽器也能換節點,省去 SSH 操作。
規則測試
部分面板提供 Rule Test 工具,輸入網域或 IP 即可模擬比對結果,驗證新規則是否按預期走 DIRECT 或 PROXY,比盲目改設定高效得多。
安全注意事項
未授權訪問 API 等於把代理控制權完全暴露。務必遵守以下原則:
- 本機使用優先綁定
127.0.0.1,不要隨意暴露公網。 - 必須設定高強度
secret,並在面板連線時啟用 HTTPS 或反向代理 TLS(生產環境建議)。 - VPS 上若開放 9090,請用防火牆僅允許自己的 IP,或透過 SSH 隧道訪問。
- 公共網路勿使用無金鑰的開放 API,防止他人消耗流量或竄改出站。
命令列核心 + Dashboard 典型流程
在 Linux 伺服器部署 Mihomo 時,常見組合是 systemd 背景執行核心 + 瀏覽器訪問 YACD。啟動核心後,在本機執行 SSH 連接埠轉發:ssh -L 9090:127.0.0.1:9090 user@server,即可在本地瀏覽器開啟面板並連線遠端 API,全程無需將管理連接埠暴露至公網。
總結
外部控制與 Web Dashboard 將 Clash 從「黑盒客戶端」變為可觀測、可除錯的系統。日常使用者未必每天都開面板,但在排查規則、最佳化節點、遠端管理伺服器核心時,它是不可替代的工具。正確設定監聽位址與金鑰,是享受便利的同時守住安全底線的前提。
如需在本機體驗完整客戶端,請 前往官方下載頁面;初次設定可參考 官方教學 完成訂閱匯入與系統代理開啟。
相關文章