VMess、VLESS、Trojan、Shadowsocks 差異與使用情境選擇指南

四種主流代理協議在加密方式、握手開銷與偽裝能力上差異明顯。本文以相同維度比較,並針對行動網路、家用寬頻與舊裝置三種情境提供選擇建議。

本文速覽

本文適合需要在 VMess、VLESS、Trojan 與 Shadowsocks 之間做選擇的 v2rayN、v2rayNG 和 v2flyNG 使用者。重點比較加密職責、傳輸組合、握手成本、時間同步、裝置負載與遷移難度,並提供行動網路、家用寬頻和舊裝置的實際設定順序。

先統一比較維度:協議不等於完整連線方案

VMess、VLESS、Trojan 和 Shadowsocks 首先描述的是代理協議。實際連線還包含傳輸層、加密層、網域解析、路由規則與用戶端核心。看到節點名稱寫著「VLESS」並不能直接判斷效能,還要檢查 TCP、WebSocket、gRPC、TLS、Reality 等參數是否相符。

同一協議套用在不同傳輸組合中,連線特徵與開銷可能有明顯差異。例如 VLESS over TCP with Reality 與 VLESS over WebSocket with TLS 是兩種不同方案;VMess over TCP 與 VMess over WebSocket 也不能只因為「都是 VMess」就一概而論。選擇時應先確認伺服器提供哪些組合,再判斷用戶端是否完整支援。

443
TLS 服務常用連接埠
10808
本機 SOCKS 連接埠範例
10809
本機 HTTP 連接埠範例
<30 秒
VMess 建議校時誤差
比較項目 VMess VLESS Trojan Shadowsocks
協議本身加密 具備驗證與加密機制 不負責內容加密 依賴標準 TLS 使用 AEAD 加密
常見憑證 UUID UUID 密碼 密碼與加密方式
時間敏感度 較高,建議自動校時 通常較低 取決於 TLS 與憑證狀態 通常較低
常見優勢 舊訂閱相容範圍廣 參數精簡,適合現代傳輸 TLS 部署邏輯清楚 實作成熟,裝置負擔較低

四種協議的核心差異與適用範圍

VMess 是 V2Ray 體系中較早普及的協議,節點通常使用 UUID 驗證。它對系統時間較敏感,裝置時間偏差過大時可能發生驗證失敗。現有訂閱中仍有大量 VMess 節點,因此更適合作為相容舊伺服器與舊設定的保留選項,而不是只憑名稱認定為預設首選。

VLESS 將內容加密交由 TLS、Reality 等外層安全機制處理,協議欄位更精簡。使用 Xray 核心時,VLESS 常與 TCP、gRPC、WebSocket、TLS 或 Reality 組合。它的優勢來自完整組合,而不是「取消加密」本身;若在不可信網路上傳輸時沒有適當的外層保護,就不能算是完整的安全方案。

Trojan 通常運作在 TLS 之上,透過密碼完成驗證。設定時必須準確填寫伺服器位址、連接埠、密碼、SNI 或伺服器名稱,並正確處理憑證驗證。若訂閱要求填寫網域名稱,卻手動改成伺服器 IP,TLS 名稱比對可能失敗。遇到憑證錯誤時,應先核對系統時間、網域與 SNI,不應直接將略過驗證設為長期選項。

Shadowsocks 使用預先共用的密碼與 AEAD 加密方式,設定欄位較少,適合效能有限的裝置或結構簡單的伺服器。它不會自動提供複雜的偽裝能力,實際網路表現取決於伺服器實作、所選加密方式與承載方式。匯入舊節點時,也要確認用戶端核心是否支援對應的加密方式。

VLESS

推薦

適合搭配 TLS、Reality 等現代連線方式,欄位清楚,方便在 Xray 核心用戶端中統一管理。

適合:新部署、行動網路主力、長期維護

VMess

涵蓋許多舊訂閱與既有伺服器,但需要留意裝置時間、傳輸參數與安全欄位。

適合:舊節點相容、既有設定遷移

Trojan

以 TLS 為基礎,部署結構直觀,對網域、憑證與伺服器名稱的準確性要求較高。

適合:固定網域、標準 TLS 部署

Shadowsocks

欄位少、實作成熟,在舊硬體與簡單轉發情境中仍能降低設定負擔。

適合:低負載裝置、輕量相容方案

選擇協議前的三項條件

行動網路、家用寬頻與舊裝置如何選擇

行動網路的主要變因包括基地台切換、網路位址變更、短暫丟包與背景限制。協議名稱無法消除這些問題。優先選擇伺服器明確提供、用戶端核心完整支援的 VLESS 組合,再觀察從無線網路切換到行動數據後的恢復時間。若切換網路後長時間沒有流量,可在 v2rayNG 中停止連線後重新啟動,並檢查裝置廠商的電池策略是否限制背景網路。

家用寬頻較適合用來比較穩定性。測試時固定相同裝置、相同接入方式與相同目標網站,分別記錄晚間尖峰時段的連線耗時、持續下載與影片拖曳表現。若 VLESS 與 Trojan 位於不同伺服器,測試結果主要可能反映線路差異,不能直接歸因於協議。

舊裝置應減少不必要的並行連線、複雜路由與高頻測速。Shadowsocks 的設定欄位相對精簡,在伺服器已提供時可作為輕量選項;既有穩定的 VMess 節點也不必只為了更換名稱而遷移。效能應以 CPU 使用率、發熱、重新連線次數與實際吞吐量為準。

推薦方案:桌面與 Android 使用同一訂閱驗證

桌面端(v2rayN)
  • 在「訂閱群組」→「訂閱群組設定」新增訂閱
  • 優先使用伺服器推薦的 Xray 核心組合
  • 在「設定」→「參數設定」核對本機連接埠
  • 使用核心記錄檔查看握手與連線錯誤
Android 端(v2rayNG)
  • 更新相同訂閱後選擇同名節點
  • 在「設定」→「路由設定」核對分流模式
  • 行動數據與無線網路各測試三次
  • 需要時啟用分應用程式代理,減少背景流量

同一節點在兩端參數一致時,更容易區分協議設定、裝置網路與用戶端設定這三類問題。

依情境提供直接結論

  1. 行動網路主力:伺服器提供 VLESS 與相符的安全傳輸時,優先測試 VLESS,重點觀察切換網路後的恢復與背景保活。
  2. 家用寬頻常駐:VLESS 與 Trojan 都可作為穩定方案,使用相同線路與相同時段進行至少三輪比較。
  3. 舊 Android 裝置:優先保留已驗證穩定的 Shadowsocks 或 VMess,不要啟用沒有實際需求的並行連線與複雜規則。
  4. 舊訂閱遷移:先完整匯入,不要批次手動修改協議欄位;確認新舊節點都能連線後,再逐項淘汰失效設定。

在 v2rayN、v2rayNG 與 v2flyNG 中核對參數

匯入訂閱後,先不要立即修改節點。訂閱內容可能包含協議、位址、連接埠、使用者 ID、密碼、傳輸、路徑、Host、SNI、指紋與流量控制等參數。將節點名稱中的欄位當成實際設定並手動修改,容易造成「看起來一樣,實際卻連不上」的情況。

v2rayN 桌面端可先開啟「訂閱群組」→「更新全部訂閱」,再選擇節點並查看設定詳情。接著進入「設定」→「參數設定」,確認本機 SOCKS 與 HTTP 監聽連接埠沒有被其他程式占用。若使用範例連接埠 10808 和 10809,系統中的其他代理工具不能同時監聽相同位址與連接埠。

v2rayNG 可透過右上角的新增入口,從剪貼簿匯入單一連結,也可在訂閱群組中新增訂閱位址。連線前檢查目前活動設定,連線後開啟即時記錄。v2flyNG 使用 v2fly 核心,匯入較新的 VLESS 擴充設定時,應先確認訂閱提供者標示的核心要求,不能假設不同核心對所有擴充欄位的支援完全一致。

核對順序
1. protocol:vmess / vless / trojan / shadowsocks
2. address:伺服器網域名稱或位址
3. port:伺服器監聽連接埠,例如 443
4. credential:UUID、密碼或 Shadowsocks 金鑰
5. transport:tcp / ws / grpc
6. security:tls / reality / 伺服器指定值
7. serverName:TLS 或 Reality 使用的伺服器名稱
8. path 或 serviceName:僅在對應傳輸需要時填寫

發生連線錯誤時依記錄分類

  1. 連線逾時:先檢查位址、連接埠、目前網路與伺服器狀態。逾時通常發生在建立協議工作階段之前。
  2. 驗證失敗:核對 UUID、密碼、加密方式與裝置時間。VMess 設定尤其應先啟用系統自動校時。
  3. TLS 握手失敗:檢查網域、SNI、系統時間與憑證鏈。Trojan 以及使用 TLS 的 VLESS、VMess 都可能出現這類錯誤。
  4. 連線成功但沒有流量:檢查系統代理、VPN 權限、DNS、路由規則與分應用程式代理範圍,不要立刻更換協議。
  5. 更新訂閱後節點消失:先確認目前的訂閱群組與篩選條件,再檢查訂閱來源是否回傳了新的節點清單。

用可重複的測試取代單次峰值判斷

協議測試應盡量排除線路與伺服器負載差異。最可靠的方法是在同一台伺服器、相同出口頻寬與相近設定下比較;如果條件不允許,就將結論限定為「這幾個具體節點的表現」,不要擴大成協議的普遍結論。

首包延遲比單純的網路往返時間更接近日常瀏覽體驗。可以連續開啟三個未快取頁面,記錄從發出請求到正文出現的時間。影片與大型檔案則應觀察持續吞吐量及一分鐘內的速度波動。行動網路還應增加一次無線網路與行動數據互切測試。

測試時關閉其他下載工作,固定 DNS 與路由模式,並在每輪開始前確認活動節點。至少執行三輪,取中位數而非最高值。若三輪結果差異超過 30%,優先判斷線路壅塞、訊號波動或伺服器負載,不要急著歸因於協議。

  1. 更新訂閱並記錄節點的協議、位址、連接埠、傳輸與安全層。
  2. 固定用戶端、網路與路由模式,連續連線三次,記錄成功次數。
  3. 分別記錄 DNS 解析、首包、持續下載與切換網路後的恢復表現。
  4. 查看記錄中是否出現重試、握手失敗、連線重設或 DNS 逾時。
  5. 保留表現穩定的兩個節點,一個作為主要使用,另一個作為故障切換。
指標 測試方式 重點判斷
連線成功率 每個節點連續連線 5 次 是否出現逾時或握手失敗
首包時間 開啟 3 個未快取頁面並取中位數 日常瀏覽等待是否穩定
持續吞吐量 固定目標連續傳輸 60 秒 速度是否頻繁歸零或大幅波動
切換網路後的恢復 無線網路與行動數據互切 3 次 是否需要手動重新啟動連線
裝置負載 持續執行 15 分鐘後觀察 發熱、耗電與背景存活情況

協議選擇常見問題

多數協議問題最終都可歸入參數不一致、核心能力不相符、時間錯誤、TLS 名稱錯誤或本機路由異常。先依錯誤類型定位,再決定是否切換協議,比反覆隨機更換節點有效。

VLESS 一定比 VMess 快嗎?

不一定。先確認兩個節點是否位於同一台伺服器與同一條線路,再固定傳輸、路由與測試時間。連續測試 3 至 5 次並比較中位數;若伺服器不同,結果不能用來證明協議本身較快。

VMess 節點突然全部驗證失敗,該怎麼辦?

先在系統日期與時間設定中啟用自動校時,將誤差控制在 30 秒以內。接著更新訂閱並重新啟動核心;若仍然失敗,再核對 UUID、連接埠及伺服器是否已更換設定。

Trojan 顯示憑證或 TLS 握手錯誤,該如何檢查?

依序核對系統時間、伺服器網域、連接埠與 SNI。訂閱要求使用網域名稱時,不要改填 IP。若多個用戶端在同一網路中同時失敗,應檢查伺服器憑證狀態與網域解析結果。

Shadowsocks 匯入後顯示不支援加密方式,該怎麼辦?

查看節點中的加密方式名稱,並確認目前用戶端核心支援該方式。不要自行替換成其他方式,因為伺服器與用戶端必須完全一致。正確做法是更新核心,或請伺服器提供相容設定。

同一訂閱在 v2rayN 可以使用,v2rayNG 卻不能使用,該如何定位?

先比較兩端節點詳情中的協議、連接埠、傳輸、SNI、路徑與流量控制欄位,再檢查 Android 端的 VPN 權限、私人 DNS、分應用程式代理與電池限制。若參數一致,匯出兩端同一時間的核心錯誤類型繼續比對。

下載 V2Ray 用戶端 依系統選擇安裝套件