先開啟外部控制

不管用哪個面板,前提都是核心已經開啟了 external-controller,這是面板與核心通訊的 RESTful API 入口:

external-controller: 127.0.0.1:9090
secret: "your-strong-secret"

面板本質上就是一個存取這個 API 的網頁應用程式,不管是本機網頁還是核心內建的靜態資源,都是透過這一入口讀取連線清單、節點延遲、日誌串流等資訊。

幾款常見面板的取向

面板生態更新很快,具體專案名稱這裡不多做展開,但按功能取向大致可以分成三類:

  • 輕量純檢視型 —— 只做連線狀態、延遲、流量圖表的呈現,介面簡潔、載入快,適合只想「看一眼狀態」的場景;
  • 全功能管理型 —— 除了呈現,還支援切換節點、編輯規則、管理訂閱、查看詳細日誌,功能最完整但介面也相對複雜;
  • 行動裝置適配型 —— 針對手機瀏覽器最佳化版面,適合把面板部署在路由器上、需要用手機遠端查看的場景。

如果只是自己在電腦上用圖形介面用戶端,通常不需要額外接入面板,用戶端內建的介面已經涵蓋了大部分需求;面板更多是給跑在沒有畫面的裝置(路由器、NAS、雲端伺服器)上的核心使用的。

面板到底能看到什麼

接入面板之後,最常用到的是這幾塊資訊:

  • 即時連線清單 —— 每一條正在建立的連線,包括目標域名、命中的規則、最終走向(DIRECT / PROXY / REJECT),是排查「某個網站為什麼沒走代理」最直接的入口;
  • 節點延遲面板 —— 策略組內每個節點的即時測速結果,一眼就能看出目前用的是不是延遲最低的那個;
  • 流量統計 —— 按連線或依時間維度統計上傳下載流量,用來判斷某個應用程式是不是在背景偷偷跑流量;
  • 日誌串流 —— 即時捲動的執行日誌,規則載入失敗、訂閱抓取失敗等問題通常會先在這裡顯現出來。

比起純文字日誌,面板把這些資訊視覺化之後,排查問題的效率會明顯提升,尤其是需要長期掛在路由器或伺服器上、沒有畫面可以直接查看的場景。

接入前必須做好的安全設定

外部控制介面如果配置不當,等於把代理的控制權限暴露出去,這一步不能省:

  • 務必設定足夠複雜的 secret,不要用預設值或留空;
  • 如果只在本機使用面板,external-controller 應該綁定 127.0.0.1,不要綁定 0.0.0.0
  • 確實需要遠端存取面板(例如面板部署在路由器上、需要從其他裝置存取)時,優先透過內網存取或加一層反向代理與驗證,不要把控制埠直接暴露在公開網路上。
安全提示: External Controller 沒有額外的登入狀態限制,拿到 secret 就等於拿到完整的控制權限(包括切換節點、修改配置),不要在不受信任的網路環境下使用未加密的 HTTP 面板連線。

連接面板的常規步驟

  1. 確認核心已開啟 external-controller 並設定了 secret
  2. 在面板的連線設定裡填入核心的位址(如 127.0.0.1:9090)和剛才設定的 secret
  3. 連接成功後即可看到即時連線清單、節點延遲和日誌;如果連接失敗,先檢查位址埠是否正確、核心是否正在執行、防火牆是否放行了該埠。

連不上面板時怎麼排查

面板連接失敗通常逃不出這幾個原因:一是核心根本沒有開啟 external-controller,或者配置改動後沒有重新載入;二是位址埠填錯,尤其容易把 127.0.0.1 和區域網路存取時該填的內網 IP 搞混;三是 secret 不一致,複製貼上時混入多餘的空格或引號;四是防火牆或安全軟體擋掉了該埠的本機存取。按這個順序逐一排除,基本能涵蓋絕大多數連接失敗的情況。

如果面板能打開但顯示的資料一直是空的,通常不是連線問題,而是核心本身還沒有產生任何連線紀錄——可以先存取一個網站產生流量,再回到面板看看是否刷新出資料。想了解 external-controller 更完整的參數說明,可以查看進階配置文件

還沒裝 Clash?先把用戶端裝起來

面板是錦上添花的視覺化工具,核心還是先把用戶端裝好、訂閱匯入,才有資料可看。