在 Clash Verge Rev 中,外部控制器(External Controller)是一個讓瀏覽器或其他管理工具連接 Mihomo 核心的 HTTP API。它並不是代理節點,也不會直接改變你的流量路由;真正的作用是提供一個管理入口,讓 Web 面板查詢即時流量、查看目前連線、測試節點延遲、切換策略組,以及更新代理或規則集。對剛開始使用 Clash Verge Rev 的 Windows 使用者來說,只要正確設定控制位址、API 密鑰和 Dashboard 入口,就能在瀏覽器中完成大部分日常管理工作。

本文以 2026 年版本的 Clash Verge Rev 使用情境為基礎,逐步說明如何在 Windows 上開啟外部控制器、確認核心是否成功監聽連接埠、連接 Web 面板,以及遇到空白頁面、401 未授權或無法連線時應如何排查。文中會優先使用僅限本機的安全設定,避免把控制 API 暴露到區域網路或公共網路。

外部控制器是什麼,為什麼需要開啟

Clash Verge Rev 的圖形介面主要負責配置管理與核心啟動,而 Mihomo 核心則負責代理轉發、DNS、規則匹配和連線處理。外部控制器就是兩者之間的一個管理 API。當你在 Dashboard 中點選某個節點時,面板實際上是向類似 http://127.0.0.1:9097 的 API 位址發送請求,再由 Mihomo 執行策略切換。

開啟後,你通常可以使用以下功能:

  • 查看核心是否正在運作,以及目前的版本和運行狀態。
  • 即時查看上行、下行流量與目前活躍的連線。
  • 查看每條連線命中的規則、使用的策略組與代理節點。
  • 在不中斷核心的情況下切換 select 策略組中的節點。
  • 為 Proxy Provider、Rule Provider 手動觸發更新。
  • 透過 Web 面板測試節點延遲,快速判斷節點是否可用。

需要注意的是,外部控制器的權限通常不只是「查看」。擁有有效密鑰的使用者可能可以切換代理、修改部分運行狀態,甚至執行重載配置等操作。因此,它應被視為管理介面,而不是普通的資訊頁面。除非你有明確的遠端管理需求,否則不建議直接監聽所有網卡。

在 Clash Verge Rev 中開啟外部控制器

首先啟動 Clash Verge Rev,確認目前已選取一份可以正常載入的配置。不同版本的介面文字可能略有差異,但通常可以在「設定」、「內核設定」、「Profiles」或目前配置的編輯區找到外部控制器相關欄位。若圖形介面沒有提供完整選項,也可以直接編輯目前使用的 YAML 配置。

  1. 開啟 Clash Verge Rev,等待 Mihomo 核心完成啟動。
  2. 進入設定頁面,找到外部控制器、External Controller 或 API 相關項目。
  3. 將監聽位址設定為 127.0.0.1,並指定一個未被其他程式佔用的連接埠。
  4. 設定一組較長且不重複使用的 Secret,然後儲存配置。
  5. 重新載入配置或重啟核心,讓新的 API 設定生效。

最穩妥的本機設定如下。這個配置只允許同一台 Windows 電腦上的瀏覽器連線,外部裝置無法直接訪問:

Windows 本機外部控制器配置
external-controller: 127.0.0.1:9097
secret: change-this-to-a-long-random-secret

# 若使用本地 Dashboard,可指定靜態檔案目錄
external-ui: ui

external-controller 的格式是「IP 位址:連接埠」。127.0.0.1 代表只接受本機連線,9097 只是常見示例,實際使用時可以改成其他未被佔用的連接埠。secret 是 Dashboard 發送 API 請求時使用的 Bearer Token,不能留空。若你的配置原本已經有這些欄位,請直接修改現有值,不要在 YAML 中重複新增同名欄位,否則可能造成配置解析錯誤或使用者誤判實際生效的設定。

建議:Secret 至少使用 20 個字元,混合大小寫字母、數字和符號,並避免使用帳號名稱、生日或節點名稱。不要把 Secret 貼到公開截圖、論壇文章或可被其他人取得的訂閱配置中。

確認 Windows 連接埠是否正常監聽

儲存配置後,不要立即假設外部控制器已經成功啟用。最直接的做法是先在 Clash Verge Rev 內確認核心狀態,再用 Windows 工具查看指定連接埠是否處於監聽狀態。

按下 Win 鍵,搜尋「PowerShell」並開啟,執行以下命令:

檢查 9097 連接埠
Get-NetTCPConnection -LocalPort 9097 -State Listen

如果命令返回本機位址和監聽狀態,表示有程式正在使用這個連接埠。也可以使用傳統的命令提示字元:

使用 netstat 檢查
netstat -ano | findstr :9097

若沒有任何輸出,常見原因包括:配置尚未重新載入、Mihomo 核心沒有成功啟動、連接埠被其他程式佔用,或你編輯的不是目前正在使用的配置。此時應先回到 Clash Verge Rev 查看核心日誌。若日誌出現 YAML 縮排錯誤、未知欄位或連接埠綁定失敗,先修正配置,再重新啟動核心。

你也可以直接在瀏覽器開啟 http://127.0.0.1:9097/version 進行基本測試。若控制器正常運作,通常會返回包含核心版本的 JSON;若出現 401 或類似未授權訊息,反而代表 API 已經回應,只是該請求尚未提供正確的 Secret。

將 Web Dashboard 連接到外部控制器

外部控制器本身只提供 API,不一定會顯示漂亮的管理介面。因此還需要使用 Dashboard。Clash Verge Rev 某些版本已內建或整合面板,也有部分版本允許從設定頁直接選擇 Dashboard。若你使用獨立的 Web 面板,開啟面板後通常會看到「後端地址」、「API 位址」或「Backend URL」欄位。

本機連線時應填入以下資訊:

  • 後端地址:http://127.0.0.1:9097
  • 密鑰:填入 YAML 中 secret 的完整內容。
  • 面板協議:若控制器沒有配置 TLS,使用 http,不要自行改成 https

成功連線後,Dashboard 通常會載入代理策略組、Proxy Provider、連線列表和流量圖。你可以先進入「代理」頁面,確認策略組名稱與 Clash Verge Rev 中看到的內容一致;再進入「連線」頁面,開啟一個網頁或應用程式,確認新連線會出現在清單中。這比只看首頁是否載入更能證明控制器與核心都已正常工作。

如果你使用的是線上 Dashboard,瀏覽器可能會因為跨來源請求而阻擋 API。此時即使 127.0.0.1:9097/version 可以開啟,面板仍可能顯示「連線失敗」。這是瀏覽器的 CORS 安全機制,不一定代表 Clash 核心故障。最簡單的排查方式是改用 Clash Verge Rev 內建面板,或將 Dashboard 檔案放到核心提供的本地 external-ui 目錄,透過同一個控制器位址載入。

本地 Dashboard 目錄配置
external-controller: 127.0.0.1:9097
secret: change-this-to-a-long-random-secret
external-ui: ui

external-ui 是相對於核心工作目錄的資料夾名稱。不要隨意把 Dashboard 檔案放到系統受保護目錄,也不要把含有 Secret 的完整配置分享給他人。若面板檔案來自第三方,應先確認來源可信,並定期更新,以降低瀏覽器端腳本或過時 API 相容性造成的風險。

安全設定:不要直接暴露控制埠

外部控制器可以切換節點和管理核心,安全性比一般代理監聽埠更重要。最常見的錯誤是把位址設定成 0.0.0.0:9097,卻沒有設定 Secret,或使用過於簡單的密碼。這會讓同一區域網路內的其他裝置嘗試訪問 API,若 Windows 防火牆規則也允許通過,控制介面就可能被未授權使用。

在一般 Windows 桌面使用情境中,建議遵守以下原則:

  • 優先使用 127.0.0.1,不要使用 0.0.0.0
  • 永遠設定 Secret,並為不同環境使用不同密鑰。
  • 不要為了處理面板錯誤而長期關閉 Windows 防火牆。
  • 不需要遠端管理時,不要建立入站防火牆規則。
  • 若曾把控制埠暴露到區域網路,修正設定後也要立即更換 Secret。
  • 不使用 Dashboard 時可以停止核心,或移除不必要的外部管理入口。

只有在你確實需要從另一台裝置管理 Windows 上的 Clash 時,才考慮監聽區域網路位址。此時不要直接對整個網路開放,而應先確認 Windows 主機的區域網路 IP,再配合防火牆限制來源位址,並使用強密鑰。遠端管理最好放在可信任的內網或 VPN 中,不建議直接把控制 API 映射到公共網際網路。

重要安全提醒:控制器不是代理服務埠。任何人只要取得可連線的位址與有效 Secret,就可能操作你的策略組或查看連線資訊。請不要在截圖、教學文章或客服對話中公開完整的 secret 值。

常見問題與排查順序

當 Dashboard 無法連線時,建議按照「核心、連接埠、認證、瀏覽器」的順序排查,不要一開始就修改大量配置。

現象可能原因處理方式
瀏覽器顯示無法連線核心未啟動或連接埠錯誤查看核心狀態,確認設定中的位址與實際測試位址一致
返回 401 UnauthorizedSecret 不正確或未傳送重新輸入完整密鑰,注意前後空格與大小寫
面板空白但 API 可開啟CORS 或 Dashboard 版本不相容改用內建面板,或部署相容的本地 Dashboard
重啟後設定消失修改了非目前啟用的配置確認目前 Profile,從正在使用的配置入口編輯
9097 無法監聽連接埠被其他程式使用以 netstat 查詢 PID,或改用其他連接埠後重新載入
面板能開啟但看不到節點API 版本或核心類型不匹配確認使用 Mihomo 相容 Dashboard,並查看核心日誌

若連接埠被佔用,可以在 PowerShell 中查看是哪個程序使用它:

查詢佔用連接埠的程序
Get-NetTCPConnection -LocalPort 9097 | Select-Object LocalAddress,LocalPort,OwningProcess
Get-Process -Id 程序ID

如果你更換了控制連接埠,必須同步修改 Dashboard 中的後端地址;如果更換了 Secret,也要在面板中重新儲存密鑰。部分面板會把舊的連線資訊保存在瀏覽器的 Local Storage 中,遇到反覆使用舊密鑰的情況,可以登出面板、清除該站點資料,或使用無痕視窗重新連線。

完成設定後的日常使用建議

外部控制器設定成功後,可以用一個簡單流程確認環境沒有留下不必要的風險:先確認 external-controller 綁定的是 127.0.0.1,再確認 Secret 不是預設值,接著用 Dashboard 查看一條實際連線,最後在不需要時關閉面板。這套流程能同時驗證 API、策略組和流量轉發是否正常。

平時排查網站打不開時,先到「連線」頁面查看該請求是否出現,再確認命中的規則與實際使用的策略組。若請求根本沒有出現,問題可能在系統代理、TUN 模式或應用本身;若請求出現但節點錯誤,則可以從策略組中切換節點並重新測試。這種由連線記錄反推問題的方法,比反覆修改整份 YAML 更有效率。

總結來說,在 Windows 上開啟 Clash Verge Rev 外部控制器並不複雜:使用 127.0.0.1 綁定本機、設定強 Secret、確認連接埠正在監聽,再把相同的後端地址和密鑰填入 Dashboard 即可。只要避免公開控制埠,並選擇與 Mihomo 相容的面板,就能安全地從瀏覽器管理代理、查看狀態與切換策略。

立即開始

用 Clash 掌控您的流量

支援 Windows、macOS、Linux、Android 與 iOS,靈活規則,開箱即用。

免費下載 查看設定指南 →