先釐清核心、用戶端與訂閱格式
要判斷 Clash 設定能不能用,應先確認實際執行的核心,而不是只看桌面圖示。核心負責解析 YAML、建立代理連線、執行規則及處理 DNS;用戶端則負責匯入設定、切換系統代理、管理服務和顯示介面。即使是同一款用戶端,也可能因發行版本、核心切換或自訂核心路徑而執行不同程式。
訂閱則是設定來源,可能提供完整設定,也可能只包含節點清單。訂閱頁面標示「Clash」,不代表其中每個節點都能由原版 Clash 識別。若出現 vless、hysteria2 或 reality-opts 等內容,還要確認核心及其具體版本。
- 核心身分:查看啟動記錄、核心資訊頁面,或執行核心程式的版本指令。
- 實際設定:查看用戶端合併及覆寫後交給核心的設定,不要只看訂閱原文。
- 失敗階段:區分設定解析失敗、規則載入失敗和節點連線失敗,三者的處理方式不同。
命名沿革:原版、Premium、Meta 與 mihomo
原版 Clash 與 Clash Premium 的功能範圍不同
原版 Clash 通常指 Dreamacro 的開源 Clash 核心。Clash Premium 則是原作者過去推出的閉源增強核心,曾加入 TUN、規則集和指令碼等功能。不能把 Premium 視為所有 Clash 用戶端都具備的預設功能,也不應將原版開源核心與 Premium 的設定清單混為一談。
原專案於 2023 年停止公開維護後,仍有舊用戶端繼續內建這些核心。它們可能可以正常執行既有設定,但不會因訂閱更新就自動支援新協定。舊版安裝包能否啟動,和能否處理目前的訂閱,是兩件不同的事。
Clash Meta 更名為 mihomo
Clash Meta 是從 Clash 生態系發展而來的延伸分支,後來更名為 mihomo。兩者屬於同一專案的發展脈絡,並非兩個毫不相關、需要全面改寫設定的核心。用戶端介面保留的「Meta」字樣,也可能實際指向後續的 mihomo 版本。
不過,專案延續不代表各版本完全相容。較早的 Meta 版本未必支援後續 mihomo 的欄位和協定;部分舊功能也可能經過調整或移除。遷移時請記錄完整的版本資訊,並以該版本的設定文件及啟動檢查結果為準。
| 名稱 | 定位 | 遷移注意事項 |
|---|---|---|
| 原版 Clash | 開源基礎核心 | 基本協定、規則與 DNS;勿套用 Premium 專屬設定 |
| Clash Premium | 歷史上的閉源增強核心 | TUN、規則集、指令碼;指令碼須另行評估替代方案 |
| Clash Meta | 延伸分支的舊稱 | 務必確認版本,不能只憑名稱推定具備所有新功能 |
| mihomo | Meta 更名後的專案 | 協定參數、規則集格式,以及 DNS 和 TUN 的版本需求 |
設定欄位相容清單:哪些可沿用,哪些需要檢查
基礎欄位通常具有良好的延續性,但相容性應分成三個層面:欄位能否解析、值是否受支援,以及實際執行結果是否一致。例如,核心能辨識 dns 節點,不代表也能理解底下所有新增選項。有些未知欄位可能會被忽略;設定檢查通過,也不代表功能一定生效。
| 欄位或功能 | 原版開源核心 | Premium | Meta / mihomo |
|---|---|---|---|
mixed-port、mode、log-level | 通常可用 | 通常可用 | 通常可沿用 |
proxies、proxy-groups | 支援基本結構 | 支援基本結構 | 結構可沿用;新增類型須另行確認 |
DOMAIN-SUFFIX、GEOIP、MATCH | 支援 | 支援 | 支援;資料檔也必須可用 |
proxy-providers | 支援;內容須符合格式 | 支援 | 支援;擴充選項視版本而定 |
rule-providers、RULE-SET | 不可視為具備 Premium 功能 | 支援 | 支援;請確認格式與行為類型 |
tun | 不具備 Premium 內建的 TUN 功能 | 支援;視平台與權限而定 | 支援;須重新確認網路堆疊與路由選項 |
sniffer | 不可直接套用 | 不可直接套用 mihomo 欄位 | 支援;具體選項視版本而定 |
Premium script 模式 | 不支援 | 歷史功能 | Premium 指令碼不可直接沿用 |
dns.enhanced-mode: fake-ip | 支援基本功能 | 支援 | 支援;仍須檢查篩選與解析策略 |
策略組名稱是設定的相依項目
規則末尾的策略名稱必須對應現有節點、策略組或內建動作。將策略組「代理選擇」改名為「節點選擇」後,所有引用該名稱的規則、規則集入口及其他策略組成員都必須同步修改。這類錯誤與核心世代無關,遷移時卻常被誤認為協定不相容。
Premium 指令碼須重新撰寫分流邏輯
如果舊設定使用 mode: script 和 script:,不要只替換核心檔案。請先列出指令碼實際執行的網域、位址和策略判斷,再改寫成目標核心支援的規則或規則集。涉及動態判斷的部分,須逐項確認是否有對應功能;不能只把模式改成 rule 就當作完成遷移。
協定支援比較:節點類型比訂閱名稱更重要
原版與 Premium 常見支援的協定包括 Shadowsocks、VMess、Trojan,以及 HTTP、SOCKS5 代理。這裡所說的支援是指協定類型,不涵蓋後續推出的所有加密方式、傳輸組合和擴充欄位。mihomo 支援更多協定,但仍須逐項確認是否符合伺服器參數。
| 設定內容 | 原版 / Premium | mihomo 檢查項目 |
|---|---|---|
ss、vmess、trojan | 支援基本功能;不代表所有擴充功能都可用 | 加密方式、傳輸方式、TLS 參數 |
vless | 不支援 | UUID、傳輸方式、flow 與 TLS 組合 |
reality-opts | 不支援 | 公鑰、short-id、伺服器名稱等參數 |
hysteria2 | 不支援 | UDP 可連線性、驗證與 TLS 參數 |
tuic | 不支援 | 伺服器協定版本、驗證與壅塞控制選項 |
若出現「unsupported proxy type」之類的錯誤,請優先確認核心身分和節點類型,而不是修改 DNS。若設定已載入但連線失敗,接著檢查伺服器位址、連接埠、驗證、TLS 和底層網路。Hysteria2、TUIC 依賴 UDP;將用戶端切換為全域模式,無法解決出口網路封鎖 UDP 的問題。
規則集、DNS 與 TUN:遷移後應優先複查
規則集的 behavior 必須與內容格式相符
rule-providers 的 behavior 常見值包括 domain、ipcidr 和 classical。網域清單不能直接當成完整規則清單載入;完整規則也無法只靠修改副檔名變成網域內容。mihomo 的 MRS 格式不適合直接交由舊版 Premium 使用;遷移時請確認 format、實際檔案內容和目標版本。
規則會依設定順序比對。網域規則或位址規則的排列順序,可能影響解析方式和最後的連線出口。末尾的 MATCH 是兜底規則,不應放在仍需繼續比對的規則之前。即使規則集下載成功,也不代表引用它的 RULE-SET 已放在正確位置。
Fake-IP 保留位址不是節點位址
198.18.0.0/16 是常見的 Fake-IP 設定範圍。應用程式取得這類位址時,通常須由同一個核心接管後續連線,才能根據映射還原網域。若只啟用 DNS 假位址回應,卻沒有相應的流量接管路徑,可能導致連線失敗。遷移後請檢查 DNS 指向、系統代理、TUN 和應用程式自身的代理設定,不要直接把假位址當成異常伺服器。
TUN 需要作業系統權限與路由設定配合
tun.enable: true 只表示設定了啟用意圖。實際運作還涉及服務權限、虛擬網卡、路由、DNS 接管和網路堆疊實作。Windows 可能需要用戶端服務或系統管理員權限;Linux 通常需要相應的網路管理權限。用戶端的「服務模式」與設定中的 TUN 開關屬於不同層級。
- 先關閉舊用戶端及其背景服務,避免兩個程式同時接管路由。
- 先透過系統代理確認基本連線,再單獨啟用 TUN,縮小故障範圍。
- 保留原設定副本,分別測試一般網域、區域網路裝置和 IPv6 連線。
- 從記錄確認實際啟用的網路堆疊,不要只憑介面上的開關推斷流量接管已成功。
舊設定遷移步驟:先確認基本連接埠,再逐步恢復擴充功能
以下設定用於檢查本機監聽和基本規則解析,不含遠端節點,也不能取代完整訂閱。混合連接埠設為 7890、關閉區域網路存取,並將所有連線設為直連。連接埠僅供示範;若已被其他程式占用,請更換連接埠或先停止占用程式。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
rules:
- MATCH,DIRECT
- 備份目前狀態。備份訂閱原文、覆寫規則和目前執行的設定。記錄用戶端與核心版本,避免只備份匯入連結。
- 確認新核心。使用 mihomo 執行檔時,可執行
mihomo -v查看版本;實際程式路徑和檔名依安裝位置而定。 - 檢查語法。執行
mihomo -t -f config.yaml。若設定使用相對路徑資源,請確認工作目錄、資料目錄和用戶端的實際執行環境一致。 - 恢復節點與策略組。先加入一個已知可用的節點,確認驗證和 TLS 正常,再恢復自動選擇、故障轉移等策略組。
- 恢復規則集與 DNS。檢查資源載入、策略名稱和規則命中情況,再加入 Fake-IP 或特殊解析策略。
- 最後啟用 TUN。確認權限、預設路由和區域網路存取正常,並確認退出用戶端後網路能依預期恢復。
可使用 curl -x http://127.0.0.1:7890 -I https://clash-dl.com/ 檢查基本連接埠。此指令用來確認 HTTP 代理入口能否處理請求,無法證明 SOCKS5、UDP、TUN 或所有節點都正常。若指令失敗,請搭配記錄判斷是代理未監聽、目標無法存取,還是出口連線有問題。
用戶端選擇與常見相容性問題
選擇用戶端時,先確認作業系統和處理器架構,再查看核心來源及維護狀態。Clash Verge Rev、FlClash 等用戶端採用 mihomo 系列核心,但實際支援範圍仍取決於安裝版本和核心建置版本。舊版 Clash for Windows 或 Clash for Android,即使名稱中有 Clash,也不代表支援 mihomo 的延伸協定。
也要檢查用戶端的核心資訊、訂閱覆寫功能和服務管理能力。即使替換執行檔後可以啟動,舊介面仍可能無法顯示新增欄位,或在儲存設定時覆蓋手動修改。平台與用戶端的對應資訊可參考用戶端比較;基本欄位說明請參閱協定參考。
Clash Meta 設定可以直接用於 mihomo 嗎?
多數基礎設定可以沿用,但無法保證所有舊選項都能原樣使用。先執行設定檢查,再確認記錄中的棄用提示、資源載入和實際連線狀況。舊版 Meta 與後續 mihomo 的差異,須依具體版本判斷。
mihomo 設定可以降級給原版 Clash 使用嗎?
只有協定和設定功能都在原版支援範圍內時才有可能。VLESS、Hysteria2、流量嗅探和擴充規則等內容無法直接沿用。涉及伺服器協定時,單純刪除 YAML 欄位並不能完成降級。
設定檢查通過了,為什麼還是無法連線?
設定檢查主要驗證結構和可識別的設定內容,不保證遠端服務能連線。還須檢查節點驗證、DNS 回應、憑證、系統代理的生效範圍、UDP 路徑,以及規則最後選擇的出口。
舊訂閱一定要重新購買或更換嗎?
這與核心名稱無關。請先確認訂閱實際提供的協定和設定格式。若現有服務提供適用於 mihomo 的設定入口,可依其說明切換;若只有基本協定設定,也可能直接遷移。不要把用戶端格式問題和伺服器可用性混為一談。
最終應確認「核心版本、設定欄位、伺服器協定、作業系統流量接管能力」四項都相符。基本規則可優先沿用,Premium 指令碼須另行處理,新協定必須確認實作範圍,TUN 和 DNS 則要在目標裝置上測試。完成檢查後,再決定保留舊設定、調整訂閱格式或更換用戶端。