選型遷移 預計閱讀 12 分鐘

Clash for Windows 停止維護後的替代方案:遷移至 mihomo 核心用戶端與設定

Clash for Windows 停止維護後,該換哪款用戶端?比較熱門的 mihomo 圖形用戶端,了解如何遷移訂閱、規則與覆寫腳本,以及遷移後的設定檢查重點。

先遷移訂閱與規則,再恢復系統代理和 TUN

Clash for Windows 已停止維護。遷移的重點不是找一款介面一模一樣的安裝程式,而是分別搬移訂閱來源、自訂規則、覆寫邏輯和系統接管設定。建議先透過新用戶端的系統代理完成基本測試,確認規則和 DNS 正常後,再啟用 TUN 模式。不要讓兩款用戶端同時修改系統代理或接管路由。

Clash for Windows 是圖形用戶端,mihomo 則是代理核心,兩者並非同一層。mihomo 延續 Clash 設定架構,並擴充了通訊協定與設定功能;採用此核心的用戶端,設定合併順序、服務管理方式和腳本介面仍可能各不相同。舊 YAML 能順利解析,不代表舊用戶端的所有設定都已遷移完成。

如何挑選 Clash for Windows 替代用戶端

Windows 桌面使用者可以先比較 Clash Verge Rev 與 Clash Nyanpasu。兩者都是圖形用戶端,但不能因為都支援 mihomo,就假設設定目錄、覆寫格式或服務元件可以互通。下載前請確認專案名稱、最新發行說明、作業系統需求,以及實際啟用的核心。

兩種常見的遷移方向
用戶端 建議優先確認的功能 遷移時的檢查重點
Clash Verge Rev mihomo 設定、訂閱管理、規則與腳本覆寫、系統代理及 TUN 管理 確認訂閱層級與全域覆寫的適用範圍;使用 TUN 前,確認服務元件與所需權限
Clash Nyanpasu 圖形化設定管理、設定處理流程與代理狀態檢視 確認所用版本支援並已選用 mihomo;重新檢查設定處理順序與腳本入口

依現有設定的複雜程度選擇

  • 只有一組訂閱:優先確認匯入、更新、選擇策略組和檢視記錄是否順手;不必為目前用不到的功能增加遷移步驟。
  • 已有規則與覆寫設定:優先確認規則能否插入最前面、全域設定和訂閱設定如何合併,以及能否檢視最終生效的設定。
  • 需要使用 TUN:優先檢查服務安裝、管理員權限、虛擬網卡及與 VPN 並用的情況。能開啟 TUN,不代表所有應用程式都已正確接管。

不要只因下載檔案名稱相似,就認定是同一個專案;也不要只看介面版本號。圖形用戶端版本和核心版本是兩項不同資訊,排查相容性時應一併記錄。安裝檔請至下載中心取得,本文不提供舊用戶端安裝檔作為遷移方案。

遷移前先備份:區分訂閱原始內容與實際生效設定

以下以常見舊版 Clash for Windows 0.20.39 的介面名稱為例:先檢查 Profiles 中的設定來源,再到 Proxies 記錄策略組選擇,最後確認 General 中的連接埠、System Proxy、Allow LAN 與 TUN 狀態。其他版本的選項位置可能不同,請勿只依照截圖尋找按鈕。

  1. 保存訂閱來源。記下訂閱 URL、設定名稱、更新間隔,以及是否經過轉換服務。URL 中的權杖等同存取憑證,請勿放進記錄截圖。
  2. 保存訂閱 YAML。這是重新匯入及離線比對的基礎。只保存 URL,無法保留之後新增在本機的規則。
  3. 保存最終生效設定。可用來比對實際生效的欄位,但其中可能已包含用戶端產生的連接埠、控制介面和快取路徑,不適合直接覆蓋新用戶端的設定。
  4. 另存 Parsers、Mixin 與腳本。記錄哪些修改只套用於特定訂閱,哪些適用於所有設定。不要只備份一份看似完整的 YAML。
  5. 記錄外部相依項目。包括 rule-providers、proxy-providers、本機規則檔、自訂 DNS 與控制面板連線參數。

不要將舊設定資料夾整個覆蓋到新資料夾。用戶端自己的資料庫、快取、服務狀態和核心快取可能不相容。應搬移的是已確認的設定與規則檔,而不是舊程式的整套執行環境。

匯入訂閱:先讓原始設定獨立運作

  1. 在舊用戶端關閉 System Proxy 與 TUN,退出程式,並確認舊服務已停止接管網路。
  2. 開啟新用戶端,在訂閱或設定管理頁面匯入原有的訂閱 URL。若只有本機 YAML,請先以本機設定匯入,不要以為它會自動取得更新網址。
  3. 暫時不要加入自訂覆寫,先更新一次訂閱並啟用該設定,確認是否顯示節點和策略組。
  4. 確認運作模式為 Rule(規則),並在策略組中重新選擇節點。舊用戶端的選擇快取通常不會隨 YAML 一起遷移。
  5. 確認本機監聽連接埠,再開啟新用戶端的系統代理,測試一般網頁及預期透過代理連線的網站。

以目前實際使用的連接埠為準,別憑印象沿用舊值

舊環境可能使用 7890,新用戶端也可能使用其他連接埠。若終端機、瀏覽器擴充功能或開發工具仍指向舊位址,即使系統代理正常,這些程式仍可能連線失敗。以下是連接埠覆寫片段,並非完整設定;若用戶端可透過介面管理連接埠,請優先在介面中調整。

連接埠覆寫片段
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

mixed-port 提供 HTTP 與 SOCKS 共用的監聽入口。在 Windows PowerShell 中,可使用以下指令明確透過該 HTTP 代理測試連線;若實際連接埠不是 7890,請改用目前生效設定顯示的值。

PowerShell 連線測試
curl.exe --proxy http://127.0.0.1:7890 --head https://example.com/

這項測試只會確認指定的代理入口能否處理一次要求,無法證明 TUN、生效規則和所有應用程式都正常。若回傳 407 Proxy Authentication Required,請檢查本機代理的驗證設定;若顯示無法連線至 127.0.0.1,請先檢查連接埠與核心運作狀態。

規則與覆寫腳本:遷移處理邏輯,不要照搬介面

Clash for Windows 的 Parsers、Mixin,與新用戶端的合併設定、腳本覆寫並非同一套介面。尤其是 JavaScript 腳本,輸入物件、進入點函式、可用 API 和執行階段都可能不同。不要只改副檔名就直接啟用舊腳本,也不要假設用戶端腳本能使用瀏覽器或 Node.js 的所有功能。

將舊設定變更分成三類

  • 欄位覆寫:例如 log-level、allow-lan。先確認用戶端是否會接管這些欄位,再決定使用介面設定或覆寫。
  • 清單修改:例如新增規則、DNS 伺服器或策略組成員。確認新工具是取代整份清單,還是支援插入最前面與附加項目。
  • 程式化處理:例如依節點名稱篩選、批次重新命名、動態建立策略組。請依目標用戶端目前的腳本介面重新撰寫,並比對輸出設定。

規則會由上而下比對。原本應直連的公司網域,若新增在 MATCH 之後,就不會比對到。以下只示範兩條應放在兜底規則之前的規則,並非可獨立運作的完整設定:

需合併至前方的規則片段
rules:
  - DOMAIN-SUFFIX,corp.example,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve

corp.example 僅用於示範內部網域比對,實際使用時請填入自行管理的網域。不要用上述兩行取代訂閱中的整份 rules 清單;正確做法是透過目標用戶端支援的前置規則或腳本介面合併,並保留原有規則與兜底策略。

一併檢查規則集與本機路徑

rule-providers 中的 type、behavior、format 必須與檔案內容相符。舊的絕對路徑在新安裝目錄下可能失效,相對路徑也應依新用戶端實際使用的核心工作目錄核對。若出現 proxy group not found 之類的提示,請檢查規則右側引用的策略組名稱是否存在,名稱中的空格與大小寫也必須一致。

DNS、TUN 與外部控制:最後再恢復的三類設定

DNS:保留用途,不要機械式複製所有欄位

比對舊設定中的 dns.enable、enhanced-mode、nameserver 和 fake-ip-filter。使用 Fake-IP 時,198.18.0.0/16 是常見的映射範圍,不是遠端節點位址。更換核心或 DNS 模式後,瀏覽器與系統可能仍快取舊結果;請先關閉再重新開啟測試用的應用程式,必要時在 Windows 執行 ipconfig /flushdns。

不要只為了排除一則解析錯誤,就把所有 DNS 設定改成公用伺服器。公司內網網域可能需要內部 DNS;遷移時請分別測試一個內部網域和一個一般公網網域,並根據記錄確認要求是否經過預期路徑。

TUN:先處理權限,再檢查路由

確認系統代理測試通過後,先關閉其他 VPN 或會接管網路的虛擬網卡程式,再依新用戶端的要求安裝服務元件或授予管理員權限。檢查 tun.enable、stack、auto-route 與 dns-hijack 的最終值。不同通訊協定堆疊和系統環境各有差異,不宜把某個 stack 值當成適用所有裝置的修復方案。

分別在關閉與開啟 TUN 時測試:網頁、內部網站、區域網路裝置,以及需要 UDP 的應用程式。網頁能正常載入,不代表 UDP 轉送也正常;後者還取決於節點通訊協定、節點服務與規則。若發生斷網,請先關閉 TUN,回到已驗證的系統代理基準,再逐項排查。

外部控制:不要一併公開舊的監聽位址

若有使用外部面板,請重新檢查 external-controller 和 secret。僅供本機存取時,可使用 127.0.0.1:9090 這類迴圈監聽位址;不要為了讓舊面板立即連線,就直接設定為監聽所有網卡。舊面板保存的連接埠與金鑰也需要同步更新。一般桌面使用不需要將控制介面開放給區域網路。

遷移後無法連線:依症狀逐項排查

症狀或錯誤訊息 優先檢查項目 下一步
address already in use 新舊核心是否同時占用代理或控制連接埠 結束舊用戶端及殘留服務,或為新設定選擇未使用的連接埠
訂閱更新回傳 401 或 403 訂閱權杖、帳戶狀態、要求網址與伺服器限制 確認原始訂閱來源,先別修改 DNS 或 TUN
YAML 解析失敗 匯入內容是否其實是 HTML、節點連結清單,或含有縮排錯誤 檢視回應內容;YAML 使用空格縮排,不可使用定位字元
系統代理正常,終端機卻失敗 終端機是否仍使用舊連接埠或環境變數 檢查 HTTP_PROXY、HTTPS_PROXY 與工具本身的代理設定
規則模式失敗,全域模式可用 比對到的規則、策略組選擇與 DNS 結果 在連線記錄中找出特定要求,不要長期依賴全域模式掩蓋問題
開啟 TUN 後完全無法連線 服務權限、其他 VPN、路由與 DNS 接管衝突 先關閉 TUN 恢復基準,再分別測試服務與路由設定

回報問題時,請提供作業系統版本、用戶端版本、核心版本、錯誤發生時間和最小重現步驟。設定與記錄請先刪除訂閱 URL、節點密碼、控制金鑰及敏感內部網域。進一步排查可參考說明中心與進階設定。

驗收與回復:更新一次,再重新啟動一次

  • 訂閱更新成功,節點與策略組完整,自訂規則也沒有被覆蓋。
  • 運作模式符合預期,常用策略組已重新選擇,連線記錄顯示的規則比對結果正確。
  • 瀏覽器、終端機和內部網站分別通過測試;需要使用 TUN 時,另測區域網路與 UDP 應用程式。
  • 重新啟動用戶端後,連接埠與覆寫設定仍正確;重新啟動系統後,服務與開機啟動行為也符合預期。
  • 舊用戶端的系統代理、TUN 和自動啟動都已關閉,沒有兩個程式輪流修改系統設定。

需要回復時,先關閉新用戶端的系統代理與 TUN,再結束新用戶端及其服務,接著還原舊環境。不要同時啟動兩套網路接管設定來比較。驗收完成後再移除舊程式,並保留一份已移除敏感資訊的遷移紀錄,記下訂閱來源、覆寫檔位置和最終使用的連接埠,方便日後更換裝置時參考。

下載Clash依平台選擇用戶端