搜尋 Clash 下載或設定教學時,經常會同時遇到 Clash、Clash Meta、Mihomo、Clash Verge Rev、FlClash 等名稱。它們並不是同一個程式的不同版本,也不能簡單理解為「新版」和「舊版」。這些專案分布在核心、圖形化用戶端、設定檔、規則資料與訂閱服務等不同層次,名稱相近只是因為沿用了相同的設定與代理分流體系。

判斷專案是否適合目前裝置,不能只看名稱中是否包含 Clash。更可靠的做法是確認它使用哪個核心、支援哪些設定欄位、專案是否持續發布版本,以及圖形介面能否管理系統代理、TUN、DNS 與設定更新。將這些層次分開後,用戶端遷移、訂閱匯入與設定排錯都會清楚許多。

先區分核心、用戶端與設定資料

Clash 生態可以拆成三個主要層次:負責處理網路連線的核心、負責操作與顯示的用戶端,以及描述節點和分流邏輯的設定資料。多數使用問題都源自這三層之間的混淆。

核心負責實際代理與規則比對

核心是代理程式的執行主體。它會開啟本機監聽連接埠、建立與代理伺服器的連線、解析 DNS 設定,並依照規則清單選擇策略群組。系統代理、瀏覽器或其他應用程式將流量交給本機連接埠後,真正決定連線走向的是核心,而不是用戶端介面的按鈕樣式。

原始 Clash 核心以 Go 撰寫,建立了後來廣泛使用的 YAML 設定結構,包括代理節點、代理提供器、策略群組與規則等概念。原始專案停止活躍維護後,生態中的維護重點逐漸轉向相容分支。現在常見的 Mihomo 源自 Clash.Meta 分支,延續大量 Clash 設定語法,並加入更多 DNS、TUN、流量嗅探、規則資料與通訊協定相關能力。

用戶端提供圖形介面與系統整合

用戶端通常是桌面或行動裝置上的圖形化程式。它負責下載與切換設定、顯示節點延遲、控制系統代理、申請 TUN 所需權限、啟動核心並顯示日誌。用戶端本身可以採用不同技術開發,例如原生介面、Web 技術桌面外殼或跨平台工具組,這與其內部呼叫哪一種代理核心是兩回事。

部分用戶端會將核心直接放在安裝套件中,更新用戶端時同步更新核心;另一些用戶端則允許獨立下載、切換或指定核心檔案。因此,同名用戶端的不同發行版也可能搭載不同核心版本。排查設定欄位未生效時,應先在「關於」、「核心設定」或啟動日誌中查看實際核心名稱與版本,而不是只看用戶端名稱。

設定、訂閱與規則庫不屬於用戶端本體

YAML 設定描述連接埠、節點、策略群組、DNS 與規則。訂閱連結是取得設定資料的入口,回傳內容可能是完整 Clash 設定,也可能只有節點清單,再由用戶端或訂閱轉換服務產生策略群組。GeoIP、GeoSite、MMDB 與規則集檔案屬於分流資料,可以由核心讀取與更新,但不是核心程式本身。

這表示更換圖形化用戶端時,原有訂閱不一定會失效;更換核心時,原有設定也不一定能原樣使用。能否遷移取決於訂閱輸出格式、設定中使用的擴充欄位,以及目標核心對這些欄位的支援情況。

Clash、Clash Meta 與 Mihomo 的維護關係

原始 Clash 奠定了設定模型與規則路由方式。隨著原始專案不再持續發布,社群分支開始負責新協定支援、作業系統相容性與功能擴充。Clash.Meta 是其中影響較大的分支,之後以 Mihomo 名稱繼續維護。因此在目前生態中,「Clash 設定」常常指一種相容格式,不一定代表程式正在執行原始 Clash 核心。

分支並不只是更改專案名稱。Mihomo 在經典設定基礎上擴充了若干能力,而且不同時間發布的版本之間也可能調整欄位、預設值與資源格式。某份設定能在 Mihomo 中載入,不代表較早的 Clash 核心也能辨識全部內容。尤其是複雜的 TUN 參數、增強 DNS 行為、流量嗅探、GeoSite 規則及特定代理協定,更容易遇到版本相容性界線。

下面是一份只用於說明層級關係的簡化設定。用戶端讀取檔案後啟動核心,核心監聽本機連接埠,再由策略群組與最終規則處理連線:

mixed-port: 7890
mode: rule

proxies: []

proxy-groups:
  - name: 節點選擇
    type: select
    proxies:
      - DIRECT

rules:
  - MATCH,節點選擇

實際訂閱通常會增加節點定義、代理提供器、DNS、規則提供器與更完整的策略群組。若出現「設定解析失敗」,應根據日誌定位具體欄位,而不是直接刪除整個設定區段。YAML 對縮排敏感,欄位支援情況還取決於核心類型與版本,這兩類問題需要分別判斷。

如何確認專案仍在維護

專案名稱中帶有 Rev、Next、Meta 或 Community,不能單獨證明維護狀態。確認維護情況時,建議查看最近正式版本、發布說明、程式碼提交、問題處理紀錄與支援的作業系統版本。對只提供用戶端安裝套件的專案,還應確認其打包的核心版本是否同步更新。

  • 核心版本:在執行日誌或用戶端的關於頁面確認是 Mihomo、原始 Clash,還是其他相容實作。
  • 用戶端版本:用戶端版本與核心版本通常是兩套編號,不能互相取代。
  • 發布時間:持續發布正式版本,比專案名稱中的「新版」字樣更有參考價值。
  • 平台支援:檢查目前的 Windows、macOS、Linux 或 Android 版本是否仍在支援範圍內。
  • 更新方式:確認核心會隨用戶端更新,還是需要在設定中單獨更新。

常見圖形化用戶端位於生態的哪一層

Clash Verge Rev、Clash Nyanpasu、FlClash 等專案首先是圖形化用戶端,通常圍繞 Mihomo 或相容核心提供設定管理與系統整合。它們之間的主要差異不是代理規則原理,而是支援平台、介面實作、核心管理方式、TUN 權限流程、設定覆寫能力與更新節奏。

桌面用戶端一般會提供系統代理開關、節點選擇、連線紀錄、設定訂閱更新與延遲測試。在 Windows 與 macOS 上,用戶端還需要處理開機啟動、系統代理恢復、系統管理員權限以及系統匣行為。Linux 桌面環境較多,系統代理寫入方式與系統匣相容性可能因發行版而異,因此同一用戶端在不同桌面環境下的體驗不會完全相同。

Android 用戶端通常透過系統 VPN 介面接管流量,這種運作方式與桌面端勾選「系統代理」並不相同。行動端是否支援依應用程式分流、背景持續執行、IPv6 與私人 DNS,也取決於用戶端實作與系統限制。不能因為桌面與行動用戶端都使用 Mihomo,就推斷所有介面功能與網路行為完全一致。

歷史上常見的 Clash for Windows 屬於桌面圖形化用戶端,不等同於開源 Clash 核心;目前已停止維護。舊教學中圍繞其介面撰寫的操作步驟,例如特定選單名稱、設定覆寫入口或服務模式安裝方式,不應直接套用到目前的用戶端。設定中的節點與規則可能仍可遷移,但介面設定需要在新用戶端中重新確認。

選擇用戶端時應檢查哪些界線

選擇用戶端的第一步是確認平台,而不是先比較介面。桌面端需要確認作業系統版本與處理器架構,例如 Windows x64、Windows ARM64、macOS Apple 晶片或 Intel 處理器。安裝套件架構不相容時,程式可能無法啟動,或只能透過相容層執行。

核心與設定相容性

如果現有設定包含 Mihomo 擴充欄位,應優先選擇明確採用 Mihomo 且核心更新較及時的用戶端。匯入後先查看啟動日誌,確認設定解析成功,再測試策略群組切換與 DNS。僅看到節點清單並不代表整份設定已正確生效,因為用戶端可能忽略無法辨識的覆寫項目,或繼續使用先前快取的設定。

訂閱相容性還要區分「完整設定訂閱」與「節點訂閱」。完整設定通常已包含策略群組與規則,匯入後即可直接使用;節點訂閱只提供伺服器資訊,需要用戶端範本或本機設定補充分組與規則。兩種連結即使都能匯入,最終路由結果也可能明顯不同。

系統代理與 TUN 模式

系統代理主要影響遵循作業系統代理設定的程式,例如多數瀏覽器與桌面應用程式。終端機工具、遊戲、虛擬機器或自行實作網路堆疊的程式可能繞過系統代理。TUN 模式會建立虛擬網路介面並接管更廣泛的流量,但通常需要系統管理員權限或系統 VPN 授權,也涉及路由、DNS 與防火牆相容性問題。

因此,支援 TUN 不應只理解為介面中有一個開關。還要檢查用戶端能否正確安裝服務、退出時能否恢復網路設定,以及目前作業系統是否允許相應權限。遇到開啟 TUN 後斷網,應先關閉 TUN 恢復基本連線,再檢查核心日誌、DNS 監聽衝突、路由迴圈與其他 VPN 軟體,而不是反覆切換節點。

設定管理與更新機制

長期使用時,設定管理方式比一次匯入是否成功更重要。需要觀察用戶端能否設定訂閱更新間隔、保留本機覆寫、切換多份設定,並在更新失敗時繼續使用上一份有效設定。部分用戶端會在訂閱更新後重新產生設定,本機直接修改的內容可能被覆蓋,因此規則調整應放在用戶端支援的覆寫、合併或腳本機制中。

用戶端自動更新與核心自動更新也應分開理解。介面程式更新成功,不一定表示核心已更新;反之,單獨替換核心後,用戶端也可能因管理介面變更而出現相容性問題。穩定的做法是使用用戶端支援的更新管道,並在升級前記錄目前的用戶端版本、核心版本與有效設定。

從舊 Clash 用戶端遷移至 Mihomo 用戶端

遷移前應先保留原始訂閱網址、目前使用的 YAML 檔案、手動規則與策略群組選擇。只複製用戶端安裝目錄並不可靠,因為不同程式儲存設定的位置、檔名與資料庫格式各不相同。更通用的遷移項目是訂閱 URL 與可讀取的 YAML 設定。

  1. 記錄現況:保存舊用戶端與核心版本,記錄本機監聽連接埠、系統代理狀態、TUN 狀態及目前策略群組選擇。
  2. 匯出設定:保存完整 YAML,並另外整理手動新增的規則、DNS 設定與設定覆寫。
  3. 安裝目標用戶端:依作業系統與處理器架構選擇安裝套件,首次啟動時先不要啟用 TUN。
  4. 匯入訂閱或檔案:先驗證設定能否載入,再檢查節點、策略群組與規則是否完整顯示。
  5. 測試基本代理:開啟系統代理,確認瀏覽器連線、DNS 解析與策略切換正常。
  6. 按需啟用 TUN:基本代理穩定後,再申請權限並測試終端機、遊戲或其他不遵循系統代理的程式。
  7. 清理舊設定:確認新用戶端可用後,關閉舊用戶端的開機啟動與背景服務,避免兩個程式同時佔用連接埠。

遷移後最常見的衝突是本機連接埠重複。若舊程式仍在背景監聽 7890、7891 或其他設定連接埠,新核心會啟動失敗。另一類問題是系統代理仍指向舊連接埠,即使新用戶端已執行,瀏覽器也無法連線。此時應以新用戶端日誌顯示的監聽位址為準,重新寫入系統代理設定。

如果舊設定使用經典 Clash 欄位,而目標用戶端採用 Mihomo,通常可以先直接匯入,再根據日誌處理差異。反向遷移則需要更加謹慎:Mihomo 擴充欄位可能無法被舊核心辨識。遇到未知欄位時,應查明該欄位控制的功能,再決定採用目標核心支援的等效寫法,而不是機械式刪除。

透過日誌確認目前執行的專案

用戶端名稱可能沿用 Clash,但啟動日誌通常會提供更直接的資訊。排查時應關注核心名稱、版本號、設定檔路徑、本機監聽連接埠、外部控制連接埠、TUN 初始化結果與設定解析錯誤。日誌中的用戶端版本只能說明介面程式版本,真正決定規則與協定能力的是核心版本。

也可以透過程序清單觀察實際啟動的可執行檔。常見用戶端會啟動一個介面程序與一個核心程序;啟用服務模式後,核心也可能由系統服務管理。不要在用戶端執行期間手動啟動第二個相同核心,否則容易出現監聽連接埠衝突、設定檔競爭或系統代理狀態不一致。

當節點能連線但規則不符合預期時,應查看連線紀錄中的目標網域、命中規則與最終策略群組。若連線紀錄中只出現 IP,可能與 DNS 解析方式或流量嗅探設定有關;若始終命中 MATCH,則應檢查規則順序與規則集載入狀態。規則依照由上至下的順序比對,先命中的結果會被採用,用戶端介面中的群組名稱只是設定關係的呈現。

專案選型結論

Clash 是生態起點與設定體系名稱,Mihomo 是由 Clash.Meta 延續而來的活躍相容核心,Clash Verge Rev、Clash Nyanpasu、FlClash 等則屬於呼叫核心並完成系統整合的圖形化用戶端。訂閱、YAML 設定、GeoIP、GeoSite 與規則集是資料層,可以跨用戶端使用,但相容範圍會受到核心版本與設定擴充影響。

實際選型時,應依序確認平台與架構、用戶端維護狀態、核心類型、設定相容性,以及系統代理與 TUN 需求。遷移舊用戶端時,重點保留訂閱與可讀取的設定,並透過日誌核對實際執行的核心。只要將介面、核心與資料分開判斷,就能避免因名稱相似而誤下載、設定不相容或排錯方向偏差。