控制介面是什麼
核心啟動時會在本機開一個 HTTP 介面,設定裡叫 external-controller,預設常見 127.0.0.1:9090。用戶端自己的連線頁、規則頁、記錄檔頁讀的就是它——介面只是這個介面的一層皮。既然是公開介面,別的程式當然也能讀。
external-controller: 127.0.0.1:9090
secret: "換成一串你自己的隨機字元"
external-ui: ui
secret 是存取密碼,面板連線時要填。留空意味著任何能存取這個位址和連接埠的程式都能切你的節點、改模式、讀你造訪過的網域。external-ui 是選用的:把面板的靜態檔案放進那個資料夾,直接用 9090 連接埠打開,不必依賴外部站點。
面板分三類
- 用戶端內建的。Clash Verge Rev、Mihomo Party 這些桌面端把連線、規則、記錄檔都做進了介面,日常夠用,不用再折騰。
- 開源 Web 面板,metacubexd、yacd、zashboard 是比較常見的幾個名字。欄位更多、排序更靈活、能批次中斷連線,功能比內建的細。
- 遠端管理情境。軟路由或家裡那台長開的機器跑著核心,你想用筆電的瀏覽器管它——這時候外部面板才是必需,而不是錦上添花。
接上去
- 先確認設定裡
external-controller寫的是哪個位址和連接埠。改過就要重新載入設定,只重啟介面不算。 - 打開面板頁面,在連線設定裡填位址(本機就是 127.0.0.1)、連接埠、以及 secret。
- 連不上先分清是連接埠不通還是密碼不對:密碼錯一般直接提示未授權,連接埠不通是一直轉圈或逾時。
- 用 https 託管的面板去連本機的 http 介面會被瀏覽器當成混合內容擋掉。要嘛用本機部署的面板,要嘛在瀏覽器裡對這個站點放行。
面板比介面強在哪
- 追一個網域。在連線清單裡搜網域,能看到它命中了哪條規則、從哪個出口出去、建立了多久、上下行各多少。你寫的規則沒生效,這裡一眼就看得出是被前面某條攔走了。
- 找頻寬大戶。按上行或下行排序,正在跑滿的那個程式或網域立刻浮到最上面。十次有八次是某個軟體在背景更新。
- 中斷僵住的連線。某條連線長時間不動又佔著節點,直接斷開,程式會重連並重新走一遍規則。改完規則也常用這招——舊連線不會自己搬家,還掛在舊出口上。
別把它綁到 0.0.0.0
把 external-controller 從 127.0.0.1 換成 0.0.0.0,同一個網路裡的任何裝置就都能連上這個介面了。而這個介面能改設定、能切節點、能看你造訪過的網域。宿舍、公司、咖啡廳的網路下,這等於把遙控器放在桌上。
真的需要遠端管理:設一組夠長的 secret,只在可信網路裡開,或者讓它走 SSH 連接埠轉送,別直接曝露。用別人託管的面板頁面時,請求是從你的瀏覽器直接發到你本機介面的,資料不經過對方伺服器,但頁面上跑什麼指令碼由對方決定——介意就把面板檔案下載下來自己放,或者用 external-ui。
改了 secret 或連接埠要重新載入設定才生效,面板那邊也得重填一次。如果一直提示未授權,先看看 secret 那行是不是被訂閱更新覆蓋掉了——寫進覆寫片段比直接改產生出來的檔案可靠。