前言:為什麼要使用外部控制器?
Clash Verge Rev 的外部控制器(External Controller)是一項讓其他管理工具、Web 面板或自製腳本遠端操作 Clash 核心的功能。開啟後,你可以在瀏覽器中查看目前連線、切換代理節點、讀取流量統計、檢查日誌,甚至修改部分執行中的策略,而不必每次都回到桌面客戶端操作。
對 Windows 用戶來說,外部控制器特別適合用於多螢幕工作、家庭伺服器管理或需要經常觀察代理狀態的情境。不過,它本質上是一個可呼叫 Clash API 的管理入口。如果只把埠號打開,卻沒有設定密鑰或限制監聽位址,區域網路內的其他設備可能取得你的節點資訊,甚至控制代理流量。因此,正確做法不是「先開啟再說」,而是同時完成控制器位址、連接埠、密鑰與存取範圍四項設定。
本文目標
在 Windows 上開啟 Clash Verge Rev 外部控制器,使用 Web 面板完成連線測試,並以較安全的方式設定密鑰、監聽位址與故障排查流程。
1開啟前的環境檢查
開始之前,請先確認 Clash Verge Rev 已正常啟動,並且目前使用的是支援外部控制器的 Mihomo 核心。不同版本的介面名稱可能略有差異,有些版本會將功能放在「設定」「外部控制器」或「External Controller」區域;如果找不到完全相同的文字,請查看設定頁中的核心、API 或控制器相關選項。
確認核心與版本
- 核心狀態:在 Clash Verge Rev 的設定或首頁確認 Mihomo 核心正在執行。若核心未啟動,Web 面板即使能開啟,也可能無法讀取代理資料。
- 管理權限:首次啟用 TUN 或修改防火牆規則時,Windows 可能要求系統管理員權限。這與外部控制器本身不同,但權限不足可能讓你誤以為控制器設定失效。
- 埠號規劃:選擇一個未被其他程式使用的連接埠,例如
9090或本機自訂的高位連接埠。不要直接套用來路不明的設定檔。 - 管理面板來源:只使用你信任的 Web 面板。面板頁面本身可能保存 API 位址與密鑰,陌生網站不應被允許存取你的本機控制器。
安全提醒
不要把控制器位址設定為 0.0.0.0 後再直接連接公共 Wi-Fi 或網際網路。這代表服務可能監聽所有網路介面,若沒有額外防火牆與強密鑰保護,風險會明顯增加。
常見參數的作用
| 參數 | 作用 | 建議值 |
|---|---|---|
| 控制器位址 | 指定 API 服務監聽的網路介面 | 127.0.0.1 |
| 外部控制器埠 | 瀏覽器或面板連接的 TCP 埠 | 未被佔用的自訂埠 |
| 密鑰 | 驗證管理請求是否獲得授權 | 長度足夠的隨機字串 |
| 允許來源 | 限制哪些 Web 面板可發出請求 | 僅允許信任來源 |
2在 Windows 開啟外部控制器
以下流程以 Windows 版 Clash Verge Rev 的常見介面為例。若你的版本使用不同的翻譯或將設定分散到「Profiles」「Settings」與「Dashboard」頁面,請以功能名稱為準,不要因為位置不同而重複建立多個控制器服務。
- 啟動 Clash Verge Rev,等待 Mihomo 核心顯示為執行中。
- 點擊左側的「設定」或齒輪圖示,尋找「外部控制器」「External Controller」或「API」區域。
- 啟用外部控制器功能,將監聽位址優先填入
127.0.0.1,並設定一個未被佔用的埠號,例如9090。 - 在密鑰欄位輸入隨機字串,避免使用姓名、生日、電子郵件或簡單的
123456。 - 按下「套用」「儲存」或重新啟動核心,讓新設定真正載入。
- 記錄完整的 API 位址,例如
http://127.0.0.1:9090,但不要把密鑰貼到公開聊天室或截圖中。
部分版本會將設定寫入 YAML 檔案。若你需要手動檢查,可以在設定檔中尋找類似下列結構;實際欄位名稱仍應以目前 Mihomo 版本的文件與範本為準:
修改 YAML 時要特別注意縮排、冒號後的空格與字串格式。建議先備份原始檔案,再只修改必要欄位。若輸入密鑰包含特殊符號,請避免不必要的引號嵌套;儲存後回到客戶端重新載入設定,並觀察核心日誌是否出現解析錯誤。
小撇步
如果你只想在這台 Windows 電腦上使用 Web 面板,127.0.0.1 是最簡單且安全的選擇。只有在確實需要手機或區域網路其他設備管理時,才考慮使用區域網路位址。
3連接 Web 面板與驗證功能
外部控制器啟用後,還需要使用管理面板連接 API。面板通常要求填入「控制器位址」與「密鑰」兩項資料。若面板與 Clash Verge Rev 位於同一台 Windows 電腦,請優先使用本機位址,不要把 localhost、區域網路 IP 與公共網域混用,這樣比較容易判斷問題出在哪一層。
- 開啟你信任的 Clash Web 面板,進入連線設定或 API 設定頁。
- 在控制器位址填入
http://127.0.0.1:9090,其中埠號必須與 Clash Verge Rev 內的設定一致。 - 在密鑰欄位輸入同一組
secret,注意前後不要多出空格或換行。 - 按下連接、儲存或測試按鈕,確認面板能顯示版本、運行模式、代理群組與流量統計。
- 先進行低風險操作,例如查看狀態或讀取日誌;確認正常後,再測試切換代理群組。
本機連接與區域網路連接的差異
本機連接只允許同一台電腦上的程式存取控制器,暴露面較小,適合大部分個人用戶。區域網路連接則需要讓控制器監聽 Windows 的區域網路介面,並可能涉及 Windows Defender 防火牆規則。此時你必須確認手機與電腦在同一個可信任網路,且只開放指定埠,不要為了省事而關閉整個防火牆。
不要忽略權限
能夠開啟 Web 面板,不代表所有操作都安全。控制器可能允許讀取代理名稱、節點位址、連線網域與流量紀錄,請只把密鑰交給可信任的面板,並在共用電腦上登出或清除瀏覽器儲存資料。
測試是否真的連通
如果面板已顯示 Clash 狀態,接著可觀察即時日誌,開啟一個普通網站,再確認是否出現對應的 DNS 與代理請求。若只看到面板畫面卻沒有資料,可能是面板使用了錯誤的 API 路徑、核心未啟動,或密鑰驗證沒有通過。不要直接反覆切換 TUN 模式;先把控制器本身的連接問題排除,再檢查代理流量。
4密鑰與網路安全設定
外部控制器的安全核心是「縮小可達範圍」與「提高驗證強度」。密鑰可以阻止未授權請求,但它不是加密通道;如果你把控制器暴露到不可信網路,攻擊者仍可能嘗試探測服務。因此,請先從監聽位址與防火牆做限制,再使用密鑰作為第二道防線。
建立可管理但不易猜測的密鑰
- 使用至少 24 個字元的隨機字串,混合英文字母、數字與符號。
- 不要重複使用電子郵件、訂閱服務或 Windows 帳戶的密碼。
- 不要把密鑰放入公開 Git 儲存庫、教學截圖、直播畫面或客服群組。
- 若曾經把密鑰貼給他人,立即在 Clash Verge Rev 中更換,並重新連接所有可信任面板。
何時可以使用區域網路位址?
當你確實需要使用手機或另一台電腦查看面板時,才將監聽位址調整為 Windows 的區域網路 IP,例如 192.168.1.20。接著在 Windows Defender 防火牆中建立只允許特定私人網路的入站規則,並把連接埠限制為控制器所使用的單一埠號。公共 Wi-Fi、公司訪客網路與陌生旅館網路都不適合直接開放區域網路控制器。
推薦的安全組合
日常個人使用:127.0.0.1 + 隨機密鑰 + 本機可信任面板。需要跨設備管理:私人網路 IP + Windows 防火牆白名單 + 隨機密鑰,並在使用完畢後關閉外部存取。
還要留意瀏覽器的自動填入功能。若多人共用 Windows 帳戶,面板可能保存 API 位址與密鑰,下一位使用者便能直接控制 Clash。完成管理後,請清除面板的本地儲存資料,或使用獨立的瀏覽器設定檔。若你的工作環境對代理節點資訊有嚴格要求,也應避免讓面板載入來自陌生網域的第三方腳本。
5常見錯誤與排查順序
外部控制器連不上時,最有效的方法是按照「服務是否啟動、位址是否正確、密鑰是否一致、防火牆是否允許、面板是否相容」的順序排查。一次只改一個參數,並在每次修改後重新測試,避免多項設定同時改動而找不到真正原因。
| 現象 | 可能原因 | 處理方式 |
|---|---|---|
| 無法建立連線 | 核心未啟動或埠號填錯 | 檢查 Mihomo 狀態與控制器埠號,重新啟動核心 |
| 401 或未授權 | 密鑰不一致、含有空格 | 重新複製密鑰,確認設定檔與面板內容完全相同 |
| 本機可連,手機不可連 | 仍監聽在 127.0.0.1 |
確認是否真的需要區域網路存取,再調整位址與防火牆 |
| 面板空白或資料不完整 | 面板 API 路徑或核心版本不相容 | 更新可信任面板,確認其支援 Mihomo 的 API |
| 重啟後設定消失 | 修改了臨時設定或設定檔未保存 | 在客戶端正式保存 YAML,避免只修改執行中的狀態 |
使用命令列確認埠號
如果你懷疑控制器埠號已被其他程式佔用,可以在 Windows PowerShell 中執行以下命令。將 9090 替換成你實際設定的埠號:
如果測試結果顯示連接失敗,先回到 Clash Verge Rev 檢查控制器是否啟用,再查看核心日誌。若連接成功但面板仍顯示未授權,問題通常集中在密鑰、請求標頭或面板相容性,而不是 Windows 網路本身。
排查小撇步
先用同一台電腦、同一個瀏覽器測試,再逐步增加區域網路設備。這樣可以快速區分「控制器服務問題」與「防火牆或網路路由問題」。
6完成後的安全檢查清單
設定完成後,建議花幾分鐘做一次最後確認。首先,在沒有使用 Web 面板時關閉頁面,觀察 Clash Verge Rev 是否仍能正常代理;其次,重新啟動客戶端,確認正式配置仍然存在;最後,從另一台不必要的設備嘗試連接,確保控制器沒有意外暴露在整個區域網路。
- 控制器只監聽必要的位址,個人使用優先選擇
127.0.0.1。 - 密鑰不是預設值,也沒有在公開地方出現。
- 控制器埠號沒有直接暴露到網際網路。
- Windows 防火牆只允許可信任的私人網路與必要程式。
- Web 面板來源可信,瀏覽器沒有保存於共用帳戶中。
- 重啟 Clash Verge Rev 後,控制器與密鑰仍能正常使用。
總結來說,外部控制器並不是越開放越方便,而是要在「可管理性」與「最小暴露面」之間取得平衡。Windows 用戶若只需要本機查看狀態,使用本機位址與強密鑰已足夠;若需要跨設備管理,就必須同步考慮區域網路信任程度、防火牆規則與面板安全。完成這些設定後,你便能更穩定地使用 Clash Verge Rev 的 Web 管理功能,也能在遇到連線異常時更快定位問題。