01 · DECISION MODEL
先建立協定選擇架構
協定名稱不是速度排名
在 Clash Plus、Clash Verge Rev、FlClash 等用戶端中,節點旁顯示的 SS、VMess、Trojan、VLESS、Hysteria2 或 TUIC,首先代表用戶端與伺服器交換資料時採用的協定結構,而不是一份可以直接按速度排序的產品清單。一次連線的實際表現同時受到伺服器處理能力、線路往返時間、封包遺失率、壅塞程度、傳輸層、加密實作、用戶端核心與裝置效能影響。即使協定類型相同,兩個節點也可能因線路與伺服器負載不同而表現懸殊;反過來,不同協定在穩定網路中也可能帶來相近的網頁載入體驗。
因此,選擇協定應從「是否相容」開始,再考慮「是否適合目前網路」,最後才比較速度。相容性包括用戶端核心是否支援該協定、訂閱轉換過程是否保留必要欄位、傳輸層組合是否已實作,以及裝置系統能否正常建立 UDP 或 QUIC 工作階段。如果設定在匯入時就遺失關鍵欄位,後續測速便沒有意義。一般使用者優先採用訂閱提供方已驗證的完整設定,比手動將一種協定改成另一種更可靠;協定類型不能只修改名稱就完成轉換。
將影響因素拆成四個層次
第一層是基礎網路。固定寬頻通常延遲與封包遺失較穩定,TCP 類方案容易有平順表現;行動數據、公共 Wi‑Fi 或跨電信商鏈路可能出現瞬間封包遺失與網路切換,此時採用 UDP 且具備壅塞控制能力的 Hysteria2 或 TUIC 可能更具適應性,但前提是網路能穩定傳輸 UDP。第二層是伺服器與線路,同一協定若伺服器 CPU 飽和、出口壅塞或路由繞行,僅在用戶端更換參數並不能消除瓶頸。
第三層是協定與傳輸組合。VMess、VLESS 可搭配 TCP、WebSocket、gRPC 等傳輸方式,VLESS 也常與 TLS、REALITY 等安全層組合;SS 更接近精簡的加密代理結構;Trojan 依賴 TLS 語意;Hysteria2 與 TUIC 則建立在 QUIC 或 UDP 傳輸思路上。第四層是用戶端實作。mihomo 對較新的協定與規則能力涵蓋更完整,而較早的原版 Clash 設定能力有限。選擇協定時必須把這四層連在一起看,不能將網路問題、線路問題和核心問題全部歸因於協定名稱。
確認相容性
核對核心、訂閱欄位、傳輸層與驗證參數是否完整。
觀察網路
判斷目前鏈路較接近穩定的 TCP 環境,還是高封包遺失的行動網路。
測試實際任務
分別檢查網頁首次開啟、持續下載、語音視訊與待機恢復。
保留回退方案
為 UDP 受限、網路切換或核心差異準備另一類可用協定。
測試時記錄哪些項目
用戶端中的延遲測試通常只反映一次探測要求,不能完整代表長連線吞吐量與穩定性。更實用的測試應包含四項:首次開啟多個網站時的回應速度、持續下載一段時間後的吞吐量波動、影片或會議連線中的卡頓情況、裝置鎖定螢幕再喚醒後的恢復速度。每次只變更一個變數,例如固定同一網路與同一伺服器,再比較協定;或固定協定,比較 Wi‑Fi 與行動數據。若同時更換節點、網路、用戶端和協定,就無法判斷改善來自哪一層。
也應在記錄檔中確認失敗發生的位置。網域名稱解析錯誤、連線逾時、驗證失敗、TLS 交握錯誤、UDP 無法連線,分別指向不同問題。記錄檔顯示驗證失敗時,反覆切換全域模式無法解決問題;記錄檔顯示 DNS 解析異常時,更換協定也未必有效。關於記錄檔頁面與代理、設定頁面的對應關係,可繼續閱讀Clash Verge 介面功能速覽。建立這種分層檢查方式後,協定選擇才會從「嘗試哪個名稱」變成可重複、可核對的技術判斷。
02 · ESTABLISHED DESIGNS
SS、VMess 與 Trojan 的設計取捨
SS:精簡結構與廣泛實作
Shadowsocks 通常簡稱 SS,其核心思路是以相對精簡的結構完成加密代理傳輸。用戶端設定主要圍繞伺服器位址、連接埠、加密方法與驗證金鑰展開,協定本身不負責提供複雜的使用者體系或大量傳輸層語意。較少的協定開銷、成熟的跨平台實作與較低的設定複雜度,使 SS 長期適合資源有限的裝置,也方便在桌面與行動裝置之間維持一致設定。
SS 的實際安全性與效能高度依賴加密方法及其實作。目前的設定應使用伺服器明確提供、用戶端核心支援的 AEAD 或現代加密方法,不能只根據舊教學任意替換 cipher。加密方法是雙方協商前的固定設定,用戶端與伺服器不一致時會直接連線失敗。部分訂閱還會包含外掛程式或擴充參數,這些內容不屬於最基礎的 SS 欄位;匯入不同核心時,需要確認外掛名稱與參數是否保留。若節點可以匯入但連線立即中斷,應先比對加密方法、密碼、外掛與連接埠,而不是先調整代理規則。
VMess:身分資訊與多種傳輸組合
VMess 的設計包含用戶端身分、時間相關驗證以及豐富的傳輸組合,常見設定欄位包括伺服器、連接埠、UUID、alterId、cipher、網路類型與 TLS 設定。現代設定中 alterId 往往為零,但舊訂閱可能仍帶有非零值;是否可用取決於伺服器與核心實作,不能在不了解伺服器設定時自行刪改。VMess 可與 TCP、WebSocket、HTTP 或 gRPC 等傳輸方式組合,因此看到 VMess 只能確定上層協定類型,不能推斷完整的連線路徑。
這種組合能力帶來彈性,也增加設定出錯點。WebSocket 通常還要核對 path、Host 與 TLS server name;gRPC 需要核對 service name;TLS 情境要確認伺服器名稱和憑證驗證相關欄位。訂閱轉換器若只保留位址、連接埠與 UUID,卻遺漏 transport-opts,節點可能仍出現在清單中,卻無法完成連線。VMess 也不是「參數越多越快」,傳輸層額外封裝會帶來一定開銷,但在特定部署架構中可能具備相容性價值,效能判斷仍應回到實際鏈路。
Trojan:以 TLS 工作階段為基礎的驗證結構
Trojan 以 TLS 連線為基礎,透過密碼進行驗證。設定通常包括伺服器、連接埠、密碼、SNI、憑證驗證選項及可選的傳輸設定。理解重點不是「像某種網頁流量」,而是用戶端必須先正確完成 TLS 交握,之後才能繼續驗證與轉送。因此,系統時間、SNI、憑證鏈、伺服器網域與 TLS 實作都會影響連線。記錄檔出現 certificate、handshake 或 server name 相關錯誤時,應先檢查這些欄位。
Trojan 的協定結構較清晰,在穩定的 TCP 網路中通常容易維持平順連線。其 TLS 交握與加密會消耗一定 CPU,但在現代桌面裝置和多數手機上通常不是主要瓶頸。真正需要注意的是長連線數量、伺服器 TLS 處理能力及網路重新連線頻率。行動網路頻繁切換時,每次重新建立工作階段都要重新完成必要交握,因此待機恢復體驗可能受到網路狀態影響。若訂閱同時提供 Trojan 與 UDP 類協定,可以把 Trojan 作為穩定的 TCP 回退項,而不是假設某一種協定能涵蓋所有網路。
| 協定 | 主要設定重點 | 典型優勢 | 常見失敗位置 |
|---|---|---|---|
| SS | 加密方法、密碼、外掛參數 | 結構精簡、實作廣泛、資源需求較低 | cipher 不一致、外掛欄位遺失 |
| VMess | UUID、傳輸類型、TLS、路徑或服務名稱 | 傳輸組合豐富、舊有設定涵蓋範圍廣 | 傳輸選項遺漏、時間或身分參數錯誤 |
| Trojan | 密碼、SNI、憑證鏈、TLS 設定 | 設定邏輯清晰、TCP 鏈路表現平穩 | TLS 交握、憑證名稱或驗證失敗 |
這三類協定都不應只按「新舊」判斷是否值得使用。SS 的精簡在低效能裝置上仍有價值,VMess 的既有部署與傳輸組合仍可能符合特定設定,Trojan 在穩定 TCP 環境中也有明確定位。更合理的做法是先驗證伺服器提供的完整組合,再結合記錄檔和實際任務進行比較。若某個設定長期穩定、資源占用合理且訂閱更新正常,僅因協定名稱較早就更換,並不會自動改善體驗。
03 · CURRENT OPTIONS
VLESS、Hysteria2 與 TUIC 的適用範圍
VLESS:分開理解驗證與加密層
VLESS 使用 UUID 等資訊表達用戶端身分,但協定本身不提供與 VMess 相同的內建加密思路,實際連線安全性通常由 TLS、REALITY 或其他外層機制承擔。理解 VLESS 時必須將協定、傳輸層與安全層分開:VLESS 決定部分驗證與轉送結構,TCP、WebSocket、gRPC 等決定承載方式,TLS 或 REALITY 決定相應的安全交握。用戶端清單只顯示 VLESS 時,仍需展開設定核對 network、tls、servername、reality-opts 和 flow 等欄位。
VLESS 設定中的 flow 並不是可以隨意填寫的效能開關。某些組合會使用特定流量控制值,用戶端、伺服器與底層實作必須一致;錯誤值通常會造成交握或資料傳輸失敗。REALITY 設定還可能包含 public-key、short-id 和 servername,這些欄位具有配套關係。訂閱轉換若改寫欄位名稱、刪除空值時誤刪必要參數,或舊版用戶端不認識相關結構,都會導致「節點存在但無法連線」。因此 VLESS 更適合由支援 mihomo 的現代用戶端完整匯入,而不是複製舊版 Clash 範例後手動拼接。
Hysteria2:面向高封包遺失鏈路的 QUIC 思路
Hysteria2 運作於基於 UDP 的 QUIC 傳輸之上,重點是利用現代壅塞控制與多路複用能力,適應延遲、抖動或封包遺失較明顯的鏈路。這不代表它在所有網路中都會更快:當 UDP 路徑穩定、伺服器頻寬充足且參數合理時,持續傳輸可能維持良好吞吐量;如果本地網路對 UDP 限速、路由品質不佳或中間設備頻繁回收 UDP 工作階段,則可能出現連線逾時、速度波動或待機恢復緩慢。
常見設定欄位包括伺服器位址、連接埠、驗證資訊、TLS server name、憑證驗證以及頻寬相關參數。頻寬值用於協助壅塞控制判斷傳送節奏,不是數字填得越大就能獲得越高速度。設定明顯高於實際線路能力時,可能造成排隊與封包遺失;設定過低則會限制吞吐量。較新的實作也可能依模式自動調整,使用訂閱下發的值通常比盲目修改更穩妥。若用戶端記錄檔顯示 UDP timeout,應先更換網路交叉測試,並確認系統防火牆、路由器與伺服器連接埠,而不是只反覆提高頻寬參數。
TUIC:低延遲工作階段與 UDP 傳輸
TUIC 同樣以 QUIC 和 UDP 為基礎,著重快速建立連線、多路複用與降低隊頭阻塞影響。設定通常包含 UUID、密碼、伺服器名稱、壅塞控制選項及 UDP 中繼模式等。不同實作或設定世代之間可能存在欄位差異,訂閱中的協定標識、版本語意與驗證結構必須與伺服器一致。mihomo 可以識別常見 TUIC 設定,但舊核心或舊版用戶端可能無法解析;匯入後被忽略不代表訂閱為空,也可能是核心不支援該節點類型。
TUIC 適合需要頻繁建立工作階段、網路品質存在波動且 UDP 可用的環境,但它不是 TCP 協定的全面替代方案。企業 Wi‑Fi、訪客網路、部分行動網路或嚴格設定的路由環境可能限制 UDP;此時 TUIC 與 Hysteria2 可能同時失效。實際設定中應保留 SS、Trojan 或其他 TCP 傳輸節點作為回退。對於語音、遊戲和即時通訊,還要區分「用戶端到伺服器使用 UDP」與「目標應用是否經由 UDP 轉送」這兩層,前者可用不代表後者的策略與規則一定正確。
proxies:
- name: "VLESS-Reference"
type: vless
server: node.example.invalid
port: 443
uuid: 00000000-0000-4000-8000-000000000000
network: tcp
tls: true
servername: node.example.invalid
- name: "Hysteria2-Reference"
type: hysteria2
server: node.example.invalid
port: 443
password: "your-password"
sni: node.example.invalid
上方片段用於說明 mihomo YAML 中欄位的層級,位址、身分與密碼是明確的示例值,不能直接用於連線。實際訂閱可能採用不同欄位組合,例如 VLESS 增加 REALITY 參數,Hysteria2 增加連接埠範圍或頻寬設定。編輯設定後,應先使用用戶端的設定檢查功能,再觀察記錄檔是否出現 unsupported、missing field、authentication 或 handshake 等資訊。若設定來自訂閱,優先在訂閱來源修正,或使用明確支援目標格式的轉換方式,避免每次更新都覆蓋本地修改。
04 · PERFORMANCE
如何比較連線速度、吞吐量與資源占用
首次開啟速度與持續吞吐量不是同一項指標
使用者感受到的「快」至少包含三類指標。第一類是連線建立時間,包括 DNS 查詢、到伺服器的網路往返、TCP 或 QUIC 建立連線、TLS 交握和協定驗證。網頁由許多短請求組成時,連線建立與複用效率會明顯影響首次開啟體驗。第二類是持續吞吐量,主要受線路頻寬、壅塞控制、封包遺失恢復與伺服器出口影響。第三類是抖動與尾端延遲,這決定視訊會議、語音和互動式應用是否偶爾卡頓。只看一次延遲數字,無法涵蓋後兩類表現。
SS 的協定處理相對精簡,在 CPU 較弱的裝置上容易維持低開銷;Trojan 及使用 TLS 的 VMess、VLESS 需要完成 TLS 相關運算,但現代處理器通常能高效完成。Hysteria2 與 TUIC 的 QUIC 堆疊需要維護 UDP 工作階段、壅塞狀態與加密環境,在高吞吐情境下可能使用更多 CPU,不過在高封包遺失鏈路中,也可能因恢復機制更合適而取得更穩定的有效吞吐量。資源占用不能脫離網路品質討論:協定處理多一點,但減少重新傳輸等待,整體任務反而可能更早完成。
加密、封裝與多路複用的代價
任何協定都會產生標頭、驗證或加密開銷,差異通常體現在每條連線的狀態數量、封裝層數與資料封包大小。WebSocket、gRPC、TLS 等組合會增加額外處理,UDP 上的 QUIC 也有自己的控制框架與確認機制。對於大檔案傳輸,這些固定開銷占比可能較低;對於大量短連線,小封包與頻繁交握的影響更明顯。多路複用可以減少重複建立連線,但並非越多越好:過多邏輯連線集中到一條底層連線後,底層連線一旦抖動,多個任務可能同時受影響。
mihomo 中的連線複用、TCP 並行與 UDP 處理選項應依用戶端版本與訂閱說明使用,不宜從不同教學複製一組所謂「通用最快參數」。尤其是頻寬、壅塞控制與連線池參數,必須與實際線路相符。行動網路的瞬時頻寬變化很大,固定上行與下行值只能作為估計。測試時可以先維持訂閱預設值,再逐項調整;每次至少涵蓋網頁、小檔案、持續傳輸與休眠恢復,確認收益不是偶然峰值。
| 觀察面向 | SS | VMess / VLESS / Trojan | Hysteria2 / TUIC |
|---|---|---|---|
| 建立連線組成 | 結構較精簡,視外掛而定 | 傳輸層與 TLS 組合決定交握次數 | 建立 QUIC 連線並維護 UDP 工作階段 |
| 高封包遺失適應性 | 主要依賴底層 TCP 恢復機制 | TCP 組合依賴 TCP,具體取決於傳輸層 | 壅塞控制可針對波動鏈路運作 |
| CPU 負載 | 通常較低 | 受 TLS、封裝與連線數量影響 | 高吞吐時需要處理 QUIC 與壅塞狀態 |
| 對網路限制的敏感點 | 連接埠、外掛與伺服器設定 | TLS、SNI、傳輸欄位完整性 | UDP 可達性、工作階段維持與限速 |
以可重現流程進行比較
建議先關閉背景下載與系統更新,固定一台裝置、一種網路及同一時段。每個候選節點先進行一次連線測試,再連續開啟相同的一組網頁,接著執行時間足夠長的檔案傳輸或影片播放,最後讓裝置鎖定螢幕數分鐘後恢復。記錄不必精確到小數點,而應包括首次開啟是否穩定、持續傳輸是否週期性下降、語音是否出現長時間停頓、喚醒後是否需要手動重新連線。重複兩到三輪後再作判斷,可以排除快取與瞬時壅塞。
記錄檔和系統監視器有助於定位資源瓶頸。若單核心 CPU 長時間接近滿載,而網路吞吐量無法繼續上升,可能是裝置處理能力或加密實作受限;若 CPU 負載較低但封包遺失與重傳明顯,重點應轉向線路;若多個協定在同一節點同時變慢,則更可能是伺服器或出口問題。記憶體方面,規則集規模、連線數量與 DNS 快取往往比單一協定類型更有影響。比較協定時應保持規則與 DNS 設定一致,避免將大型規則載入造成的記憶體差異歸因於協定。
05 · MOBILE AND PLATFORM
行動裝置耗電、網路切換與平台差異
耗電量來自持續運作方式
行動裝置的耗電表現不能簡單等同於協定加密強度。影響耗電的主要因素包括無線模組保持活躍的時間、連線重建頻率、背景保活方式、資料傳輸總量、DNS 要求數量、規則比對負擔以及 CPU 處理時間。一個協定若能快速完成任務並讓無線模組回到低功耗狀態,即使瞬間 CPU 使用率略高,總耗電量也可能較低;另一個協定若在不穩定網路中持續重新傳輸或頻繁重新連線,即使單次處理較輕,也可能消耗更多電量。
SS 在設定簡單、鏈路穩定時通常具有較低的處理負擔。Trojan、VMess 或 VLESS 搭配 TLS 時會產生交握與加密成本,但長連線複用正常時,持續使用的差異可能並不顯著。Hysteria2 與 TUIC 需要維持 UDP 或 QUIC 工作階段,網路穩定時可以減少部分等待;當系統頻繁切換基地台、路由器回收 UDP 對映或背景策略限制活動時,工作階段重建可能增加喚醒次數。實際耗電結果還與 Android 廠商的背景限制、iOS 網路延伸機制及用戶端實作有關,不能僅根據協定名稱預判。
Android:背景策略與 VPN 服務
Android 用戶端通常透過系統 VPN 服務接管流量。Clash Plus、Clash Meta for Android、FlClash 與 Surfboard 的介面和功能範圍各不相同,但都會受到系統省電策略、背景活動權限和廠商程序管理影響。出現鎖定螢幕後斷流時,應先確認用戶端是否仍在執行、VPN 標誌是否保留、系統是否限制背景耗電,再檢查協定。若應用程式程序被系統停止,改用另一種協定通常無法解決根本原因。
在 Android 上還應注意 IPv6、私人 DNS、按應用程式代理和熱點分享。某些應用程式會直接使用 IPv6,若設定只處理 IPv4,可能表現為部分應用程式無法連線;私人 DNS 與用戶端 DNS 劫持策略並存時,解析路徑可能與預期不同。按應用程式代理會改變進入核心的流量範圍,測試協定時應確認目標應用程式確實包含其中。Hysteria2 或 TUIC 在行動數據上異常時,可切換至 Wi‑Fi 重新測試;若 Wi‑Fi 正常而行動網路持續逾時,應優先判斷 UDP 路徑與網路策略。
iOS:系統網路延伸功能與前後台切換
iOS 用戶端依賴系統提供的網路延伸能力,連線狀態、記憶體預算與背景行為由系統統一管理。本網站下載清單中的 iOS 首推用戶端為 Clash Plus,可從iOS 下載區進入 App Store。使用時應注意系統設定中的 VPN 狀態、用戶端設定是否啟用,以及切換 Wi‑Fi 與行動網路後是否自動恢復。iOS 不會向一般使用者公開與桌面系統相同的程序控制細節,因此排查重點是系統 VPN 狀態、設定記錄與網路切換結果。
行動裝置使用 UDP 類協定時,切換網路會改變本地位址與 NAT 對映。QUIC 具備處理連線變化的相關機制,但實際能否順利恢復仍取決於用戶端、伺服器與網路路徑。若切換網路後長時間無法恢復,可以在用戶端中斷後重新連線,並檢查記錄檔是否反覆出現 timeout;如果 TCP 類節點能立即恢復,而 UDP 類節點持續失敗,表示目前網路不利於 UDP 工作階段,應暫時使用 TCP 回退項。
桌面平台的差異重點
Windows、macOS 與 Linux 通常沒有手機電池和背景凍結問題,但系統代理、TUN 權限、防火牆與睡眠恢復更為關鍵。Windows 的部分應用程式可能不完全遵循系統代理,需要 TUN 模式或在應用程式內設定;商店應用程式還可能受到迴圈存取限制,可參考Windows UWP 應用程式迴圈存取限制排查。macOS 上應區分系統代理與虛擬網路介面,睡眠後若連線異常,可先重新啟動系統代理或 TUN。Linux 則要重點確認桌面代理設定、路由權限、systemd 服務狀態和 DNS 管理元件。
行動裝置優先檢查
背景權限、VPN 狀態、切換網路後的恢復、UDP 可達性、按應用程式代理與 DNS 路徑。
桌面裝置優先檢查
系統代理、TUN 權限、防火牆、應用程式代理行為、睡眠恢復與路由表。
評估行動裝置耗電時,建議使用系統電池統計觀察完整使用週期,而不是盯著幾分鐘內的瞬間百分比。維持相近的螢幕使用時間、資料量和應用程式任務,分別測試候選協定。若某協定在訊號較差時導致裝置持續發熱、背景活動時間明顯增加或喚醒後反覆重新連線,應優先更換穩定節點或回退協定。耗電表現本質上是協定、網路、用戶端和系統排程共同作用的結果,選擇目標應是減少無效工作,而不是追求某個抽象的最低開銷標籤。
06 · CORE FAMILY
原版 Clash、Meta 與 mihomo 的家族關係
用戶端介面與核心是兩個層次
Clash 生態中的「用戶端」與「核心」需要分開理解。用戶端負責視窗介面、訂閱管理、系統代理、TUN 權限、記錄檔顯示和更新流程;核心負責讀取設定、建立代理連線、執行規則、處理 DNS 與轉送流量。同一個核心可以由不同介面封裝,同一個用戶端專案也可能在發展過程中更換核心。因此,判斷協定是否支援時,應查看用戶端實際使用的核心,而不是只看軟體名稱。
原版 Clash 奠定了 YAML 設定、代理群組、規則比對和控制介面等基本結構,許多訂閱格式也以其欄位為基礎。隨著協定與網路功能擴充,Clash Meta 分支增加了更多協定、傳輸方式、DNS 能力與規則擴充。該分支後來以 mihomo 名稱持續發展。日常語境中的 Meta 設定、Clash Meta 核心與 mihomo 往往指向同一條演進路線的不同階段,但排查時仍應以目前用戶端顯示的核心名稱與文件為準。
功能差異如何影響協定選擇
較早的原版 Clash 能識別 SS、VMess、Trojan 等常見類型,但不會自動支援後來新增的所有協定與欄位。VLESS、Hysteria2、TUIC、REALITY 相關選項以及較新的 DNS 與規則能力,通常需要 mihomo。若將包含這些節點的訂閱匯入只支援舊核心的用戶端,常見結果包括節點被跳過、設定驗證失敗、未知欄位被忽略,或整份設定無法載入。這類問題不是節點線路故障,而是在解析階段就已不相容。
Clash Plus、Clash Verge Rev、FlClash、Clash Nyanpasu 等現代 GUI 用戶端在支援平台、介面功能與核心整合方面各有差異。本網站下載頁將 Clash Plus 列為全平台首推項目;Linux 使用者也可依桌面環境選擇 Clash Verge Rev 或 FlClash。選擇用戶端時不只要看能否安裝,還應確認它是否使用符合訂閱需求的核心、是否能更新核心、能否顯示設定檢查錯誤,以及是否支援系統所需的 TUN 模式。對於伺服器或路由器,可直接使用 Mihomo 核心,但這要求使用者自行管理設定檔、服務啟動與記錄檔。
| 層次 | 主要職責 | 與協定相容性的關係 |
|---|---|---|
| GUI 用戶端 | 訂閱、介面、系統代理、TUN、更新與記錄檔入口 | 決定核心如何被封裝、呼叫與更新 |
| 原版 Clash 核心 | 基礎代理、策略組、規則與 DNS 處理 | 適合較早的常見協定與設定結構 |
| Clash Meta / mihomo | 擴充協定、傳輸、DNS、規則與平台能力 | 涵蓋 VLESS、Hysteria2、TUIC 等現代設定 |
| 訂閱或 YAML | 描述節點、策略組、規則與 DNS | 欄位必須符合目前核心語法 |
設定相容性並非完全向下相容
mihomo 通常能讀取大量以 Clash 結構編寫的設定,但不能因此假設所有擴充設定都能反向交給原版核心。包含新協定、新規則類型或擴充 DNS 欄位的設定,回到舊核心時可能失敗。即使兩個核心都認識同一欄位,預設行為也可能不同,例如 DNS 處理順序、規則提供者載入方式、健康檢查行為或 TUN 網路堆疊選擇。遷移用戶端後,應重新檢查設定驗證結果、策略組成員、DNS 解析與規則命中,而不是只確認節點清單出現。
設定檔中的頂層結構也應保持清晰:proxies 存放節點,proxy-groups 定義選擇與測試邏輯,rules 決定流量去向,dns 管理解析行為。訂閱更新可能只替換其中一部分,也可能覆蓋整份設定。用戶端提供的覆寫、合併或腳本功能,用於在更新後穩定加入本地設定,但具體語法依用戶端而異。不熟悉合併順序時,先保留訂閱原始設定並逐項新增,避免一次匯入大量擴充欄位後難以定位錯誤。
如何確認目前使用的核心
在用戶端的設定、關於或核心頁面查看名稱;啟動記錄通常也會列印核心識別與設定載入結果。不要根據安裝包名稱猜測。若記錄出現 unsupported proxy type,可先確認核心是否為 mihomo,再確認用戶端是否啟用了正確的核心檔案。若核心啟動成功但設定載入失敗,查看錯誤行號與欄位名稱;若設定成功但連線失敗,再轉向驗證、TLS、DNS 與網路排查。將「用戶端啟動」、「設定解析」、「節點連線」、「規則轉送」分成四個階段,可以大幅減少無效嘗試。
07 · SUBSCRIPTION
訂閱格式與設定相容性檢查
訂閱位址不等於固定格式
「訂閱連結」描述的是取得設定的方式,不代表回傳內容一定採用同一種格式。伺服器可能回傳完整 Clash YAML、只包含節點的 YAML、經過編碼的 URI 清單,或針對特定用戶端產生的設定。用戶端匯入時要先取得內容,再依回應格式解析。連結能在瀏覽器中開啟,只能說明伺服器回傳了資料,不能證明資料符合目前用戶端與核心的要求。
完整 Clash 或 mihomo 設定通常包含代理節點、策略組、規則、DNS 與連接埠設定;節點訂閱可能只有 proxies 資料,策略組和規則則由用戶端範本補充。URI 清單則使用 ss://、vmess://、trojan://、vless://、hysteria2:// 或 tuic:// 等形式分別表達節點。不同 URI 對複雜傳輸參數的表達能力與實作一致性不同,轉換過程中最容易遺失路徑、SNI、ALPN、指紋、REALITY 和壅塞控制欄位。
匯入前後的四次核對
第一次核對回應狀態。匯入失敗時先確認訂閱位址沒有多餘空格,存取時沒有回傳登入頁、錯誤頁或空白內容。第二次核對節點數量與協定類型,確認預期的 Hysteria2、TUIC 或 VLESS 節點沒有在解析階段消失。第三次核對關鍵欄位,選擇一個節點展開查看伺服器、連接埠、驗證、TLS 與傳輸設定。第四次核對策略組,節點成功解析後還要加入目前策略組,否則代理頁面可能仍只顯示舊節點。
訂閱更新是重新取得與合併的一個流程。若更新後本地修改消失,表示修改位於訂閱管理範圍內;應使用用戶端提供的覆寫或設定合併機制,而不是每次直接編輯產生的檔案。若更新後節點重複,可能是同時啟用了多個內容相同的訂閱,或舊設定沒有被替換。若更新時間正常但節點內容沒有變化,可查看記錄檔與回應快取,並確認訂閱服務確實回傳了新內容。更完整的入口操作與錯誤分類可參考Clash 訂閱連結匯入方法。
完整 mihomo YAML
可攜帶節點、策略組、規則與 DNS;功能完整,但對核心語法與欄位相容性的要求最高。
Clash 節點 YAML
重點提供 proxies,通常要由用戶端或範本補充策略組;應確認節點是否自動加入可選組。
協定 URI 清單
方便逐個節點表達與分享,但複雜擴充欄位可能因產生器與解析器差異而遺失。
欄位遺失時如何定位
首先比較訂閱原始內容與用戶端匯入後的節點詳細資訊。若原始內容已缺少欄位,問題在訂閱產生端;若原始內容完整而用戶端缺失,問題可能在用戶端解析器、訂閱轉換或核心支援。VMess 和 VLESS 重點查看 network、servername、ws-opts、grpc-opts、reality-opts 與 flow;Trojan 重點查看 password、sni 和 TLS;SS 重點查看 cipher、password 與 plugin;Hysteria2 和 TUIC 重點查看驗證、SNI、壅塞控制與 UDP 相關選項。
其次查看設定檢查錯誤。YAML 對縮排敏感,清單項目、映射與字串層級錯誤會導致整份設定無法讀取。節點名稱包含冒號、井號或特殊字元時,使用引號可以減少歧義。布林值、數字和字串也不應混用,例如連接埠應維持數字語意,而 UUID、密碼和路徑通常作為字串。手動編輯後,先讓核心完成語法檢查,再啟動系統代理,避免將格式錯誤誤判為網路問題。
mixed-port: 7890
mode: rule
proxy-groups:
- name: "協定選擇"
type: select
proxies:
- "VLESS-Reference"
- "Hysteria2-Reference"
- DIRECT
rules:
- DOMAIN-SUFFIX,example.com,協定選擇
- MATCH,協定選擇
這段設定展示策略組與規則如何引用節點名稱。引用名稱必須與 proxies 中完全一致,包括大小寫與空格;節點改名後,策略組中的舊名稱會失效。實際設定通常還包含 DNS、規則提供者與更多策略組,但排查時可以先縮小到最小結構,確認一個節點能建立連線,再逐步恢復其他部分。大段複製未知設定會同時引入多個變數,不利於判斷問題位置。
訂閱轉換的界線
轉換工具可以將一種容器格式改寫為另一種,但不能憑空補齊伺服器參數,也不能將協定本身轉換成另一種協定。它能做的是映射欄位、產生策略組、篩選節點與調整名稱。對新協定或擴充傳輸的支援取決於轉換器本身的實作;如果轉換器不認識某欄位,即使來源訂閱正確,輸出也可能不完整。涉及 VLESS REALITY、Hysteria2 或 TUIC 時,優先使用伺服器直接提供的 mihomo 格式,並在更新後抽查關鍵欄位。
遇到訂閱為空、格式無法識別或更新失敗時,可先查看常見問題中的安裝設定分類。排查順序應保持明確:位址可存取、回應內容正確、格式可識別、核心支援協定、關鍵欄位完整、節點進入策略組、連線記錄正常。依此順序逐層確認,比頻繁刪除用戶端和重新安裝更容易找到根本原因。
08 · PRACTICAL CHOICE
依使用情境選擇協定並完成排查
穩定家用寬頻與日常網頁
在延遲與封包遺失較穩定的家用寬頻中,協定差異往往小於線路差異。SS、Trojan、VMess 或 VLESS 的 TCP 類組合都可作為日常選擇。優先選擇訂閱中設定完整、用戶端記錄乾淨、網頁首次開啟穩定的節點。若裝置效能有限,結構較精簡的 SS 值得先測試;若訂閱提供維護良好的 Trojan 或 VLESS TLS 設定,也可直接使用。此情境沒有必要僅為追求協定名稱而切換到 UDP 類方案,除非持續傳輸或高封包遺失測試顯示明確收益。
家用網路中若所有協定都在固定時段變慢,應檢查寬頻壅塞、Wi‑Fi 訊號、路由器負載與伺服器出口。若只有某一個傳輸組合失敗,則檢查對應連接埠、TLS、SNI 與傳輸路徑。使用規則模式時,還要確認測試流量確實經過所選策略組;規則命中 DIRECT 時,切換節點不會影響結果。記錄檔頁面可用於核對目標網域最後命中了哪條規則與哪個策略。
行動數據、公共 Wi‑Fi 與高抖動鏈路
行動數據或公共 Wi‑Fi 的延遲、頻寬與封包遺失變化較大。若 UDP 路徑穩定,可以比較 Hysteria2、TUIC 與一個 TCP 回退節點。測試重點是切換網路後的恢復、持續使用期間的停頓與裝置發熱,而不是單次峰值速度。Hysteria2 的頻寬設定應接近實際能力,TUIC 的壅塞控制與 UDP 中繼設定應採用訂閱提供的組合。切換網路後若 UDP 類節點持續逾時,立即改用 Trojan、SS 或其他 TCP 節點,比不斷重試更有效。
公共 Wi‑Fi 還可能要求先透過入口網站完成網路驗證。連線 Clash 前,應先暫停系統代理並確認基礎網路可存取;完成驗證後再啟用用戶端。若基礎網路本身未連通,任何協定都會失敗。部分網路允許 TCP 但限制 UDP,此時 Hysteria2 與 TUIC 同時不可用是可預期的現象。策略組可以將穩定的 TCP 節點設為 fallback 候選,但自動健康檢查只表示探測位址可達,仍需用實際應用程式驗證。
持續下載、影片與即時通訊
持續下載應關注長時間吞吐量與波動。線路品質良好時,多種協定都可能接近頻寬上限;高封包遺失時,Hysteria2 或 TUIC 的壅塞控制可能表現更好,但伺服器頻寬仍是硬性限制。影片播放還受內容分發、緩衝策略與規則分流影響,不能將一次卡頓直接歸因於協定。應確認影片網域進入預期策略組、DNS 回傳結果合理,並觀察同一節點在不同時段的表現。
即時通訊更重視抖動、尾端延遲與 UDP 轉送。用戶端到伺服器使用 QUIC,不代表目標應用程式的每個 UDP 封包都一定會依預期轉送;需要確認節點支援 UDP、用戶端啟用相應能力,且規則沒有將相關流量分流到錯誤出口。若語音可以連線但週期性中斷,檢查網路切換、UDP 工作階段逾時與 Wi‑Fi 訊號;若完全無法建立連線,則檢查應用程式是否經過 VPN、DNS 是否正常,以及伺服器是否支援對應轉送。
低效能裝置、路由器與伺服器
資源有限的路由器應優先控制規則集規模、連線數量與記錄等級,再比較協定。SS 的精簡實作通常適合作為基礎選項;TLS 或 QUIC 協定能否達到預期吞吐量,要看裝置是否具備足夠 CPU 與加密能力。mihomo 核心適合需要現代協定、規則和 DNS 功能的環境,但啟用大量規則提供者、複雜 DNS 與高並行會增加記憶體使用量。本網站Linux 與核心下載區提供面向伺服器與路由器使用者的 Mihomo 檔案入口,一般桌面使用者更適合使用帶介面的用戶端。
伺服器環境應將核心作為系統服務管理,設定啟動失敗時查看服務記錄與結束狀態。升級核心前先儲存目前設定,並執行設定檢查。若新協定節點無法載入,確認使用的二進位檔架構與設定語法;若服務能啟動但區域網路裝置無法使用,再檢查監聽位址、防火牆、路由與區域網路存取設定。協定選擇只是其中一個層次,系統網路設定錯誤不會因更換節點類型而消失。
| 使用情境 | 優先測試 | 保留回退 | 重點觀察 |
|---|---|---|---|
| 穩定寬頻與網頁 | SS、Trojan、VMess 或 VLESS TCP 組合 | 任一經驗證的同類節點 | 首次開啟、TLS 錯誤、規則命中 |
| 高抖動行動網路 | Hysteria2 或 TUIC | SS、Trojan 或 VLESS TCP | 切換網路後恢復、UDP 逾時、耗電量 |
| 持續傳輸 | 逐一實測線路穩定的候選協定 | 不同線路或不同傳輸類型 | 長時間吞吐量、封包遺失、CPU |
| 低效能裝置 | 精簡 SS 或經驗證的輕量設定 | 減少規則與並行後的現代協定 | 單核心使用率、記憶體、裝置溫度 |
一套可執行的最終決策順序
第一步,選擇支援訂閱協定的現代用戶端。需要跨平台一致體驗時,優先從 Clash Plus 開始,再依系統與介面需求比較 Clash Verge Rev、FlClash 等選項。第二步,確認核心為 mihomo,並讓設定通過語法檢查。第三步,從訂閱中各選一個 TCP 類節點與一個 UDP 類節點,核對驗證、TLS、傳輸與策略組欄位。第四步,在常用網路中執行網頁、持續傳輸、即時應用程式與待機恢復測試。第五步,根據記錄檔將失敗歸入解析、驗證、TLS、DNS、UDP、規則或系統代理,而不是只記下「這個協定不行」。
第六步,為主要情境保留一個首選項和一個回退項。家用寬頻可以選擇穩定的 Trojan、VLESS 或 SS,並保留另一條線路;行動網路在 UDP 可用時可以使用 Hysteria2 或 TUIC,同時保留 TCP 節點;資源有限的裝置則優先選擇處理負擔可控、設定簡單的方案。第七步,訂閱更新或用戶端升級後抽查節點欄位與策略組,不要預設舊結果永久有效。網路、伺服器和核心都會變動,選擇應是一套可重複驗證的方法。
若所有節點都無法連線,先回到基礎鏈路:確認裝置能正常連網、系統時間正確、訂閱可以更新、設定已啟用、代理模式與系統代理狀態一致,再查看第一條明確的錯誤記錄。若只有特定應用程式異常,檢查應用程式是否遵循系統代理、是否需要 TUN、是否使用獨立 DNS 或 UDP。若只有某一類協定異常,再檢查對應核心支援與欄位。進一步的錯誤分支可在FAQ 問題排查中查閱,策略組自動選擇邏輯可參考url-test、fallback 與 load-balance 比較。