在 Windows 上使用 Clash Verge Rev 的 Web 面板時,最容易卡住的地方通常不是面板本身,而是外部控制器(External Controller)沒有啟用、連接埠填錯,或密鑰不一致。外部控制器其實就是 Clash 核心提供的 HTTP API,Web 面板透過它讀取代理節點、檢視即時連線、切換策略組與更新規則。本文將從 Clash Verge Rev 的介面入口開始,逐步說明 Windows 設定方法、端口與密鑰的填寫方式,並提供連線驗證、安全設定及常見故障排查流程。
外部控制器是什麼,為什麼需要開啟
Clash Verge Rev 的代理功能和 Web 管理面板是兩個不同層次的元件。核心程序負責建立代理連線、執行 DNS 處理和套用分流規則;Dashboard 則是一個前端介面,必須透過外部控制器 API 才能取得核心狀態。換句話說,即使 Clash Verge Rev 已經可以正常代理流量,如果 External Controller 沒有啟用,Web 面板仍然可能顯示離線、無法載入代理組,或在切換節點時提示連線失敗。
外部控制器主要由兩個設定組成:external-controller 決定 API 監聽的 IP 位址與端口,secret 則是 API 的驗證密鑰。常見的本機設定是 127.0.0.1:9090,代表只有目前這台 Windows 電腦能存取 API;如果改成 0.0.0.0:9090,則可能讓區域網路中的其他裝置也能連入。
| 設定項目 | 作用 | Windows 本機建議值 |
|---|---|---|
external-controller | 指定 API 監聽位址與端口 | 127.0.0.1:9090 |
secret | 驗證 Dashboard 的 API 請求 | 自行設定較長的隨機字串 |
external-ui | 指定本地 Dashboard 靜態檔案目錄 | 可選,例如 ui |
external-ui-url | 指定自動下載 Dashboard 的來源 | 需要自動安裝時再設定 |
127.0.0.1,不要為了方便直接綁定 0.0.0.0。本機面板不需要對區域網路公開。在 Clash Verge Rev 介面中開啟設定
不同版本的 Clash Verge Rev 介面名稱可能略有差異,但設定邏輯基本相同。先啟動 Clash Verge Rev,確認核心已經正常運行,然後在左側導覽列尋找「設定」「Settings」或齒輪圖示。部分版本會把核心選項放在「Profiles」或「Core」頁面內;如果在一般設定頁面看不到外部控制器,可以切換到正在使用的配置檔案,檢查其進階設定。
- 在 Windows 開啟 Clash Verge Rev,等待系統匣圖示與核心狀態顯示正常。
- 點選左側的設定或齒輪入口,尋找 External Controller、External Controller Port、API Port 或相近名稱。
- 將監聽位址設定為
127.0.0.1,端口填寫9090。若該欄位要求完整格式,則填入127.0.0.1:9090。 - 在 Secret、API Secret 或密鑰欄位輸入一組自訂密碼,例如由大小寫字母、數字和符號組成的長字串。
- 按下儲存、Apply 或套用,必要時重新啟動 Clash 核心,讓設定真正載入。
- 開啟 Dashboard,在後端地址欄位填入
http://127.0.0.1:9090,密鑰欄位填入完全相同的 Secret。
「端口」和「密鑰」是最常見的兩個錯誤來源。後端地址中的端口必須和核心監聽端口一致,例如核心使用 9090,Dashboard 就不能填成 7890。7890 通常是 HTTP 代理端口,7891 常見於 SOCKS 代理端口,它們不是外部控制器 API 端口,不能互相替代。
| 用途 | 常見端口 | 是否填到 Dashboard 後端地址 |
|---|---|---|
| HTTP 代理 | 7890 | 否 |
| SOCKS 代理 | 7891 | 否 |
| 外部控制器 API | 9090 | 是 |
| 混合代理端口 | 依配置而定 | 否,除非它明確是 API 端口 |
介面沒有選項時,直接修改 YAML 配置
某些 Clash Verge Rev 版本會將核心設定隱藏在配置檔案中,或只在進階模式顯示外部控制器欄位。這時可以開啟目前使用的 YAML 配置檔案,加入以下內容。注意 YAML 對縮排非常敏感,設定名稱前不可多加空格,也不要把 Tab 和空格混用。
external-controller: 127.0.0.1:9090 secret: Change-This-To-A-Long-Random-Secret # 如需使用本地 Dashboard,可另外指定靜態檔案目錄 external-ui: ui
儲存檔案後,回到 Clash Verge Rev 重新載入配置。若程式提供「Reload」「重新載入」或「重啟核心」按鈕,優先使用該功能;若設定仍未生效,可以完全退出 Clash Verge Rev,再重新啟動。重新載入後不要只看桌面右下角的系統匣圖示,還要確認目前啟用的配置檔案確實是剛才修改的那一份。
如果希望讓同一個區域網路中的手機或另一台電腦存取控制器,可以將位址改成 0.0.0.0:9090。不過這代表 API 會監聽所有網路介面,除了必須設定 Secret,也應搭配 Windows 防火牆限制來源。更安全的做法是只綁定 Windows 在區域網路中的實際 IP,例如 192.168.1.20:9090,並只允許可信任的內網使用。
# 僅在確實需要其他裝置連入時使用 external-controller: 192.168.1.20:9090 secret: Use-A-Unique-Secret-For-LAN-Access
在 Web 面板中填寫後端地址並驗證
外部控制器設定完成後,開啟你使用的 Dashboard。可以是 Clash Verge Rev 內建的面板,也可以是獨立開啟的 Metacubexd、Yacd 或其他相容介面。首次連線通常會要求輸入「後端地址」與「密鑰」。兩者應按照下表填寫:
| 欄位 | 本機控制器範例 | 說明 |
|---|---|---|
| 後端地址 | http://127.0.0.1:9090 | 不要填入 7890 或配置檔案中的代理端口 |
| 密鑰 | 與 secret 完全一致 | 區分大小寫,不要包含前後空格 |
| 協議 | http | 未設定 HTTPS 時不要填 https |
成功連線後,面板通常會顯示目前核心版本、流量統計、代理組和活動連線。你可以先進入「代理」頁面切換一次策略組,再到「連線」頁面確認是否出現即時請求。這比單純看到面板畫面更可靠,因為部分 Dashboard 即使 API 未完全連通,也可能先載入靜態介面。
如果面板顯示「Unauthorized」或 401,通常表示地址可以連到核心,但密鑰錯誤;如果顯示「Connection refused」,則通常是核心沒有監聽該端口、端口填錯,或 Clash Verge Rev 尚未重新載入設定;如果瀏覽器提示跨來源錯誤,則可能是使用了不相容的遠端 Dashboard,應先改用內建面板或確認核心版本是否支援該面板的 API。
使用 Windows 工具測試 API 連線
當 Dashboard 無法連線時,可以先不要反覆修改面板設定,而是直接在 Windows 端測試端口是否開啟。按下 Win 鍵搜尋 PowerShell 並開啟,執行以下指令:
Test-NetConnection 127.0.0.1 -Port 9090
如果結果中的 TcpTestSucceeded 是 True,表示 Windows 可以連到該端口,接下來應檢查 API 地址格式和 Secret。若結果是 False,先回到 Clash Verge Rev 檢查核心是否啟動、配置是否生效,以及是否真的使用了 9090 端口。
在已知 Secret 的前提下,也可以使用 PowerShell 的 curl.exe 發送 API 請求。這裡特別寫出 curl.exe,是為了避免 PowerShell 將 curl 解析為其他命令:
curl.exe -H "Authorization: Bearer Change-This-To-A-Long-Random-Secret" http://127.0.0.1:9090/version
如果返回包含版本資訊的 JSON,代表外部控制器和密鑰都正常。若返回 401 或 Unauthorized,請重新複製 Secret,確認沒有多餘空格;若返回無法連線,則繼續檢查監聽地址、端口和核心日誌。測試完成後,不要把含有真實 Secret 的命令貼到公開論壇或截圖分享。
安全設定與常見故障排查
外部控制器具備切換節點、修改代理組和讀取連線資訊的權限,不能把它當成普通的狀態查詢接口。最安全的 Windows 本機方案是使用 127.0.0.1 並設定 Secret。即使本機沒有其他使用者,也不建議將 Secret 留空,因為惡意程式或瀏覽器中的不安全頁面可能嘗試存取本機服務。
- 面板顯示離線:確認後端地址是
http://127.0.0.1:9090,並確認 Clash Verge Rev 的核心正在運行。 - 顯示 401 Unauthorized:檢查 Secret 大小寫、標點符號和前後空格;修改後要重新在面板儲存連線設定。
- 顯示 Connection refused:使用
Test-NetConnection測試端口,並確認沒有把代理端口誤當成 API 端口。 - 端口被其他程式佔用:更換成例如
9091,同時修改核心設定與 Dashboard 地址,兩邊必須保持一致。 - 重啟後設定消失:檢查是否修改了訂閱生成檔,而不是目前實際啟用的配置;部分訂閱更新會覆蓋手動修改。
- 區域網路裝置無法存取:確認監聽地址不是
127.0.0.1,並檢查 Windows 防火牆是否允許指定端口。
0.0.0.0:9090 卻不設定 Secret,也不要把 9090 端口直接映射到公網。外部控制器一旦被未授權者取得,對方可能切換你的節點、查看連線,甚至修改核心設定。如果需要從其他裝置遠端管理,建議透過可信任的 VPN、Tailscale 或 SSH 隧道連回 Windows,而不是直接把 API 端口暴露在網際網路上。使用 HTTPS 反向代理時,也要確認 Dashboard 的後端地址、憑證和 WebSocket/API 轉發設定都正確;對一般 Windows 使用者而言,本機 HTTP 加上 127.0.0.1 通常已經足夠。
完成後的檢查清單
完成設定後,可以按照以下順序做最後確認。先確認 Clash Verge Rev 核心狀態正常,再確認配置中存在 external-controller 和非空的 secret。接著使用 PowerShell 測試端口,最後才在 Dashboard 中連線。這樣可以把「核心未啟動」「端口錯誤」「密鑰錯誤」三類問題分開處理,避免同時修改多個選項而無法定位原因。
- 核心已啟動,系統匣中的 Clash Verge Rev 狀態正常。
external-controller的地址和端口已記錄,例如127.0.0.1:9090。secret已設定,且沒有在公開位置洩露。Test-NetConnection 127.0.0.1 -Port 9090顯示連線成功。- Dashboard 使用
http://127.0.0.1:9090,不是 HTTP 或 SOCKS 代理端口。 - 面板能載入代理組、連線資訊,並可以完成一次節點切換。
- 若沒有遠端管理需求,監聽地址維持
127.0.0.1,不要改成0.0.0.0。
只要端口、密鑰和監聽地址三者一致,Clash Verge Rev 的 Web 面板通常就能在 Windows 上穩定工作。完成外部控制器設定後,你可以更方便地觀察流量、測試節點、切換策略組和排查規則命中情況,而不必每次都手動編輯 YAML 或重新啟動程式。