大多數圖形化用戶端(Clash Verge、Clash for Windows 系列)已經內建了控制面板,日常使用基本上不需要額外設定。但如果你直接部署的是 Mihomo 核心,或者想用更強大的第三方面板查看流量走向,就需要手動開啟外部控制,再搭配一個瀏覽器面板專案使用。

什麼是外部控制

Clash 核心本身會啟動一個 RESTful API 服務,監聽在設定裡指定的位址與埠上。所有的圖形用戶端、命令列工具、瀏覽器面板,本質上都是透過這套 API 與核心通訊——查詢目前節點、切換策略群組、拉取即時日誌,都是透過介面完成的,並不需要重新啟動核心本身。

換句話說,核心負責實際轉發流量,面板只是一層「儀表板」,兩者是完全解耦的。這也是為什麼修改節點、清空 DNS 快取這類操作,大多數面板都能做到「即時生效」,不需要重新載入整個設定檔。

開啟外部控制

在設定檔中加入下面兩行,重新啟動一次核心後即可生效:

config.yaml
external-controller: 127.0.0.1:9090
secret: 'replace-with-a-strong-secret'   # 面板存取密鑰,務必自行修改

external-controller 是面板要連線的位址與埠,secret 是存取密鑰,面板第一次連線時需要填入。如果你使用的是內建面板的圖形用戶端,這兩項通常已經預先設定好,可以在設定裡直接查看,不需要手動改設定檔。

監聽位址保持 127.0.0.1,不要綁定到 0.0.0.0 並暴露到公網——這是最容易被忽略,但後果最嚴重的一步。

常見面板怎麼選

面板特色適合對象
yacd 輕量、介面簡潔,連線列表與流量圖是核心功能 只想看連線狀態,不需要太多額外功能
metacubexd 功能更完整,支援規則測試、訂閱管理、多種主題 希望面板承擔更多日常操作,減少切換用戶端
用戶端內建面板 與圖形用戶端整合,無需額外部署 已經在用 Clash Verge / CFW 等圖形用戶端

yacd 和 metacubexd 都是開源的靜態網頁專案,可以部署到任意靜態伺服器,也可以直接用瀏覽器開啟本地檔案使用。連線時只需要填入前面設定的 external-controller 位址與 secret 即可。

面板裡最常用的三個檢視畫面

  1. Connections(連線):即時列出目前所有連線,包括目標網域、命中的規則與所走節點,排查「為什麼這個網站走了直連」時最有用。
  2. Proxies(節點):查看所有策略群組與節點延遲,支援手動切換節點或觸發測速,效果和用戶端裡的節點面板完全一致。
  3. Logs(日誌):即時輸出核心運作日誌,規則不生效、訂閱解析失敗時,第一時間應該看這裡。

安全注意事項

外部控制本質上是一個沒有速率限制、權限粒度很粗的管理介面——拿到存取權限基本等於完全接管這個 Clash 實例,包括看到你的所有連線記錄、修改節點甚至讀取設定裡的敏感資訊。因此:

設定完成後,開啟面板、填入位址與密鑰,就能看到即時的連線列表了。比起每次改動設定都要重新啟動用戶端、再逐個測試節點,這種「邊看邊調」的方式效率會高很多,尤其是在偵錯規則或者排查某個網站存取異常的時候。

多台裝置、多個核心怎麼區分管理

如果你同時在幾台裝置上跑 Clash(比如家裡的路由器、一台常開的 NAS、再加上筆電本地測試用的實例),用同一個面板一個個切換位址會比較麻煩。這種情況下,可以給每個實例的 external-controller 設定不同的埠,再在面板裡儲存多組連線設定,類似瀏覽器書籤一樣隨時切換,不需要每次手動重新輸入位址。

另外要注意,secret 建議每個實例單獨設定,不要圖省事全用同一個密鑰——一旦某個實例的密鑰洩漏,不會牽連到其他實例。對於長期掛在路由器或 NAS 上跑的實例,由於攻擊面更大,密鑰更換的優先度應該更高。

面板打不開時怎麼排查

面板連線失敗,通常逃不開這幾種情況,按順序排查基本能定位問題:

  1. 位址或埠填錯:確認面板裡填的位址、埠與設定檔裡 external-controller 的值完全一致,注意是否漏了協定前綴或埠號。
  2. secret 不匹配:修改過設定檔裡的 secret 之後,如果沒有重新啟動核心,新的密鑰不會生效,面板會一直提示驗證失敗。
  3. 核心沒有監聽該位址:如果面板部署在其他裝置上存取,但核心的 external-controller 仍然是 127.0.0.1,只在本機可存取,外部裝置自然連不上——這也是前面強調不建議輕易改動監聽範圍的原因,需要遠端存取時用 SSH 隧道而不是直接放開監聽位址。
  4. 瀏覽器跨來源限制:部分瀏覽器對 HTTP 頁面存取本機位址有額外限制,遇到連線被瀏覽器攔截的情況,可以嘗試更換瀏覽器或使用面板專案提供的本地部署方式。

把這幾點排查完,基本能解決絕大多數連線問題。控制面板本身不複雜,大部分「用不起來」的情況都出在設定細節上,而不是面板或核心本身有問題。