這篇比較適合正在整理訂閱、手動新增節點或準備更換協定的使用者。重點不是替四種協定排出固定名次,而是確認目前客戶端能否完整支援節點參數、網路環境是否穩定,以及伺服器端提供哪種傳輸層組合。
先看結論:協定名稱不是唯一的選擇條件
VMess、VLESS、Trojan 和 Shadowsocks 都能承載代理流量,但解決問題的方式不同。VMess 將身分驗證、時間檢查與資料加密放在協定內部;VLESS 讓協定層更精簡,主要將機密性交給 TLS、REALITY 等外層安全機制;Trojan 從設計之初便以 TLS 連線為基礎組織驗證與資料傳輸;Shadowsocks 則以結構簡單、實作成熟和資源佔用較低見長。
一般使用者看到訂閱中同時出現四種節點時,不必只憑協定名稱判斷速度。實際體驗還會受到線路頻寬、往返延遲、封包遺失、傳輸方式、TLS 交握、伺服器負載與客戶端核心影響。同一台伺服器上,協定層負載通常只佔總耗時的一部分;如果線路本身延遲達 180 毫秒或持續遺失封包,單純將 VMess 換成 VLESS 並不會自動改善線路品質。
VMess
協定內含驗證與加密機制,歷史設定較多,在舊訂閱與既有部署中的支援範圍較廣。
適合:繼續使用穩定的既有節點、相容舊設定
VLESS
推薦協定層較精簡,常與 TLS 或 REALITY 搭配;參數組合清楚時,適合作為新設定的主要方案。
適合:使用 Xray 核心、重視新傳輸組合
Trojan
依賴 TLS 提供加密,常使用標準 TLS 連接埠;部署時需要正確處理憑證、網域與交握參數。
適合:已有穩定網域與 TLS 部署條件
Shadowsocks
設定欄位較少,AEAD 加密方式成熟,在低規設備與結構簡單的接入情境中容易維護。
適合:輕量接入、低資源佔用、簡單設定
如果只需要一個容易執行的起點,可以先依客戶端核心篩選:v2rayN 搭配 Xray 核心時,優先檢查 VLESS、VMess 與 Trojan 節點;v2rayNG 同樣以 Xray 核心處理常見協定;使用 v2flyNG 搭配 v2fly 核心時,則應以目前核心實際支援的協定與傳輸參數為準。節點能夠匯入,不代表目前核心能辨識所有擴充欄位,連線前仍應查看日誌。
四個面向逐項比較:加密、負載、傳輸與相容性
VMess 使用使用者識別碼與時間資訊完成驗證,並在協定內部處理資料保護。它對系統時間較敏感,裝置時間偏差過大時可能導致驗證失敗。VLESS 使用 UUID 等資訊識別使用者,但本身不負責完整的內容加密,因此不能脫離安全傳輸層只看協定名稱;實際設定通常還需同時確認 security、flow、TLS 或 REALITY 等欄位。
Trojan 的驗證與資料承載建立在 TLS 連線之上,伺服器憑證、網域是否相符及系統時間都會影響交握。Shadowsocks 使用預先共用的密碼與指定加密方法,現代設定應採用 AEAD 或 Shadowsocks 2022 系列方法,客戶端與伺服器端的加密方法名稱必須完全一致。舊式方法即使仍出現在歷史設定中,也不適合作為新部署的預設選項。
| 比較項目 | VMess | VLESS | Trojan | Shadowsocks |
|---|---|---|---|---|
| 協定層加密 | 包含驗證與資料保護機制 | 主要依賴外層 TLS 或 REALITY | 依賴 TLS | 由所選 AEAD 方法提供 |
| 常見身分資訊 | UUID、alterId 等歷史欄位 | UUID、flow | 密碼 | 密碼與加密方法 |
| 常見傳輸組合 | TCP、WebSocket、gRPC | TCP、WebSocket、gRPC、REALITY | TCP 上的 TLS,也可搭配特定傳輸 | 原生 TCP/UDP,擴充能力取決於實作 |
| 設定複雜度 | 中等,歷史欄位較多 | 中等,需要核對安全層參數 | 中等,需要處理 TLS 條件 | 較低,核心欄位較少 |
| 時間敏感項目 | 驗證依賴正確時間 | TLS 或 REALITY 交握受時間影響 | 憑證驗證受時間影響 | 通常不依賴憑證時間 |
| 典型優勢 | 舊設定相容範圍較廣 | 協定層簡潔、組合彈性高 | TLS 部署路徑明確 | 輕量、參數少、資源負載低 |
結論:先核對完整參數,再比較協定名稱
一個 VLESS 節點至少要整體檢查位址、連接埠、UUID、傳輸方式、安全層與 flow;Shadowsocks 節點則必須同時符合連接埠、密碼與加密方法。欄位缺漏導致的連線失敗,遠比協定之間幾個百分點的理論負載差異更常見。
桌面、行動與低規設備如何選擇
桌面辦公通常會同時執行瀏覽器、同步工具與即時通訊程式,連線持續時間較長,穩定性比短時間測速更重要。若訂閱提供 VLESS 搭配 TLS 或 REALITY,且 v2rayN 目前使用 Xray 核心,可以先將它作為主要連線;保留一條 VMess 或 Trojan 節點作為同線路對照。切換時不要同時變更伺服器地區、傳輸方式與協定,否則無法判斷是哪項變化影響結果。
Android 裝置經常在無線網路與行動網路之間切換,重新連線速度、耗電量與 UDP 可用性,比單次峰值速度更值得關注。v2rayNG 可處理常見的 Xray 節點,適合接收包含 VLESS、VMess 或 Trojan 的統一訂閱;使用 v2flyNG 時,應選擇訂閱中符合 v2fly 核心能力的節點。兩端共用訂閱可以同步節點清單,但路由規則、分應用程式代理與本機連接埠屬於客戶端本地設定,不會自動隨訂閱轉移。
推薦方案:主要協定與備用協定分工
桌面端(v2rayN)
- 主要連線使用參數完整的 VLESS 節點
- 保留 VMess 或 Trojan 作為對照
- 在日誌中觀察交握與重新連線記錄
Android 端(v2rayNG 或 v2flyNG)
- 透過同一份訂閱保持節點名稱一致
- 依目前核心篩選可辨識的節點
- 分別測試無線網路與行動網路
先固定伺服器地區與線路,再單獨切換協定;連續使用一段時間,比只看一次測速更容易找出穩定組合。
低規設備或需要大量並行小連線時,可以優先測試 Shadowsocks。它的核心設定通常只有伺服器、連接埠、密碼與加密方法,排錯流程較短。若業務必須使用複雜路由、特定流量控制或 REALITY,則應改用支援相應能力的 Xray 組合,而不是為了少幾個欄位,硬套不相容的協定。
- 辦公主力:優先比較 VLESS 與 Trojan 的長時間連線穩定性,再用 VMess 節點作為相容性備援。
- 頻繁切換網路:記錄切換網路後首次恢復所需時間,並確認 UDP 應用程式是否正常運作。
- 低規設備:先測試 Shadowsocks 的 CPU 使用率與持續吞吐量,再決定是否需要更複雜的傳輸層。
- 既有訂閱:穩定的 VMess 節點不必只因協定較早便立即替換,先評估線路與伺服器端的維護狀態。
用可重複測試取代單次測速
協定測試應固定伺服器、出口線路、目標檔案與測試時段。可執行的基本條件是:客戶端到伺服器的往返延遲約 50 毫秒、閒置時封包遺失率低於 1%、本地接入頻寬為 100 Mbps;每個節點連續測試 3 次,並在測試前關閉背景同步工作。以下數字用於示範測試記錄方式,不代表不同網路中的固定排名。
測試結果至少記錄四項:首次連線耗時、持續下載速度、10 分鐘內重新連線次數,以及 UDP 是否可用。峰值速度只能反映某個瞬間,無法說明協定在切換網路或弱網環境下是否穩定。若四種節點並非位於同一台伺服器,就應將結果標記為「線路綜合表現」,不能歸因於協定本身。
還可以進行簡單的交叉驗證:先依 VLESS、VMess、Trojan、Shadowsocks 的順序測試,再反向重複一次。如果最先測試的節點總是較快,可能代表背景工作、伺服器短時負載或網路壅塞正在變化。只有正向與反向結果接近,才適合進一步比較平均值。
- 速度差距小於 8%:優先選擇重新連線次數較少、日誌較乾淨的節點。
- 延遲差距超過 30 毫秒:先檢查伺服器地區與線路,不要直接歸因於協定。
- 封包遺失率超過 5%:先處理網路品質問題,繼續微調加密方式通常收益有限。
- 只有 UDP 失敗:檢查節點是否支援 UDP、客戶端是否啟用相應轉發,以及路由規則是否攔截。
結論:穩定性指標應排在峰值速度之前
在 100 Mbps 接入環境中,連續 10 分鐘不重新連線、切換網路後能恢復,且 UDP 行為符合預期,通常比某次測試多出 5 Mbps 更有實際價值。
在 v2rayN 與 Android 客戶端中檢查協定參數
在 v2rayN 中,先從伺服器清單的類型欄確認節點是 VMess、VLESS、Trojan 還是 Shadowsocks,再開啟對應的伺服器設定。VLESS 需重點核對位址、連接埠、使用者 ID、傳輸協定、TLS 或 REALITY、安全流量控制;VMess 需重點核對使用者 ID、傳輸方式與安全設定;Trojan 檢查密碼、伺服器名稱及憑證相關選項;Shadowsocks 則核對密碼與加密方法。
本機代理連接埠也需要與瀏覽器或系統設定一致。常見設定會使用 SOCKS 連接埠 10808、HTTP 連接埠 10809,但這些數字可以由使用者修改,不能將範例值視為所有安裝環境的固定值。遇到應用程式無法連線時,應開啟「設定」→「參數設定」,查看目前本機監聽連接埠,再與應用程式中的代理位址逐項比對。
- VMess 驗證失敗:先同步系統時間,再確認 UUID 與伺服器端一致。
- VLESS 無法完成交握:檢查 security、flow、serverName、publicKey 和 shortId 等實際出現的欄位。
- Trojan 顯示 TLS 錯誤:檢查裝置時間、伺服器名稱、連接埠與憑證網域是否相符。
- Shadowsocks 連線後沒有流量:確認客戶端與伺服器端使用完全相同的加密方法與密碼。
- 匯入訂閱後類型異常:更新訂閱,並查看原始節點是否因舊核心而忽略擴充參數。
Android 端的排查順序類似。在 v2rayNG 中先開啟節點編輯頁面檢查協定欄位,再查看執行日誌中的 DNS、交握與連線錯誤;v2flyNG 則要額外確認節點使用的功能是否包含在目前 v2fly 核心中。若同一份訂閱在桌面可用、Android 端不可用,應優先比較兩端的核心與節點欄位,而不是立即認定伺服器故障。
常見誤區與最終選擇清單
「VLESS 一定比 VMess 快」是最常見的簡化判斷。VLESS 的協定層較精簡,但在實際連線中,TLS、傳輸封裝、網路往返與伺服器負載往往佔更大比例。另一個誤區是把 Trojan 等同於一般網頁流量;它確實建立在 TLS 之上,但實際網路特徵還會受到交握參數、傳輸行為與部署方式影響,不能只憑協定名稱得出絕對結論。
Shadowsocks 也不代表只能用於簡單的網頁存取。是否支援 UDP、並行連線與特定路由,取決於客戶端、伺服器端及設定組合。反過來說,設定欄位較多也不代表連線自然更可靠。任何協定都需要正確的伺服器端參數、可用線路與相符的核心。
訂閱中有四種協定,應該先測哪一個?
先選擇同一地區、同一電信線路的節點,依 VLESS、Trojan、VMess、Shadowsocks 各測試 3 次。若伺服器不同,就先依延遲與封包遺失率篩選線路,再比較協定。
VMess 節點還能繼續使用嗎?
可以。只要客戶端核心能辨識設定、伺服器仍在維護且連線穩定,就沒有只因協定名稱而更換的必要。新部署則可依安全層與維護條件評估 VLESS 等方案。
VLESS 匯入成功但無法連線,該怎麼辦?
依序檢查連接埠、UUID、傳輸方式、security、flow 與伺服器名稱。使用 REALITY 時,還要核對 publicKey、shortId 與指紋參數,並從核心日誌定位交握階段。
Trojan 使用 443 連接埠就代表設定一定正確嗎?
不是。443 只是常見連接埠,還要確認密碼、伺服器名稱、TLS 交握與伺服器端監聽狀態。若連接埠被其他服務佔用,日誌通常會出現連線遭拒或交握失敗。
Shadowsocks 為什麼連得上卻沒有流量?
先比對加密方法與密碼,再檢查本機 SOCKS 或 HTTP 連接埠。若只有特定應用程式失敗,繼續查看系統代理、分應用程式代理與路由規則是否涵蓋該應用程式。
最終選擇可以濃縮成三步:第一步確認目前客戶端與核心是否完整支援節點欄位;第二步在線路固定的條件下測試連線、重新連線與 UDP;第三步保留一個不同協定的備用節點。桌面主力可以優先評估 VLESS 搭配 Xray 核心,已有穩定的 VMess 節點則可繼續使用;TLS 部署條件成熟時可以選擇 Trojan;低規與簡單接入情境可以優先測試 Shadowsocks。
協定並不是選定一次後便永久不變的設定。訂閱提供者調整伺服器端、客戶端核心升級或網路環境改變後,原本的最佳組合可能會變動。保留測試記錄並在相同條件下重新測試,比追逐單一協定名稱更可靠。