本文適合正在設定 v2rayN、v2rayNG 或 v2flyNG,卻不確定該選 VMess、VLESS、Trojan 還是 Shadowsocks 的使用者。判斷重點不是協定名稱的新舊,而是伺服器端核心、傳輸層、安全層、裝置效能與網路波動是否相符;讀完後可依情境縮小選擇範圍,也能辨識訂閱中影響實際表現的關鍵欄位。
先釐清協定、安全層與傳輸層
VMess、VLESS、Trojan 和 Shadowsocks 首先處理的是客戶端與伺服器端如何驗證、封裝及轉送流量。TCP、WebSocket、gRPC 等屬於傳輸方式,TLS 與 REALITY 則屬於連線安全或握手方案。若將這些層次混為一談,就容易誤判為「某個協定天生適合某個連接埠」或「改用 WebSocket 就一定更隱密」。
例如,VLESS 本身不負責加密業務資料,通常必須搭配 TLS 或 REALITY;Trojan 的常見部署則直接依賴 TLS;VMess 內建驗證與加密機制,但仍可再疊加 TLS;Shadowsocks 使用預共享金鑰與對稱式加密方法。協定相同但傳輸層不同時,建立連線所需時間、額外標頭與故障表現都可能不同。
連接埠號只代表服務的監聽位置,不決定協定強弱。443 常用於 TLS 服務,是因為符合標準 HTTPS 連接埠的慣例;Shadowsocks、VMess 或其他設定也能使用不同連接埠。v2rayN 的本機連接埠同樣可以修改,檢查時應以「設定」→「參數設定」中顯示的目前值為準,而不是機械式套用 10808 或 10809。
| 協定 | 驗證與加密重點 | 常見安全組合 | 主要注意事項 |
|---|---|---|---|
| VMess | 使用使用者 ID、時間校驗與協定本身的驗證加密 | VMess + TCP + TLS,或 VMess + WebSocket + TLS | 客戶端與伺服器端時間差距過大時可能驗證失敗 |
| VLESS | 驗證與資料轉送保持精簡,不內建資料加密 | VLESS + TLS,或 VLESS + REALITY + Vision | 必須正確理解 security、flow 與傳輸欄位 |
| Trojan | 以密碼驗證,並依賴 TLS 保護連線 | Trojan + TCP + TLS | 憑證、網域與系統時間都會影響 TLS 握手 |
| Shadowsocks | 預共享金鑰與 AEAD 或 2022 系列加密方法 | AES-GCM、ChaCha20-Poly1305 或 2022 方法 | 兩端必須使用完全一致且都受支援的方法 |
四種協定的核心差異
VMess 是 V2Ray 生態系中較早普及的協定,在成熟訂閱中仍十分常見。它包含驗證、時間校驗與加密流程,伺服器端與客戶端通常透過 UUID 識別使用者。VMess 的優勢是既有設定涵蓋廣,v2rayN、v2rayNG 與 v2flyNG 都能處理常見組合;代價則是協定邏輯與封裝比 VLESS 複雜。
VLESS 採用精簡的驗證與轉送設計,使用者識別碼通常為 UUID,二進位長度為 16 位元組。由於 VLESS 不會自行加密資料層,部署時不能省略安全設計。Xray 核心常見的 VLESS + REALITY + XTLS Vision 組合,重點在於讓安全握手與流量控制協同運作,而不是單靠「VLESS」四個字。
VMess
相容於現有 V2Ray 訂閱及傳統 WebSocket、TCP 設定,遷移舊服務時需要修改的地方較少。
適合:已有穩定 VMess 節點,需要相容既有設定
VLESS
推薦協定層精簡,可搭配 Xray 的 REALITY、XTLS Vision 等功能,參數界線清楚。
適合:新建 Xray 服務,作為桌面與 Android 日常主力
Trojan
以 TLS 為基礎,設定重點集中在網域、憑證、密碼與伺服器端監聽關係。
適合:已有規範的 TLS 部署,希望維持直觀的設定結構
Shadowsocks
協定實作相對精簡,選擇受支援的加密方法後,可降低低效能裝置的處理負擔。
適合:簡單轉送、資源受限裝置,以及能明確控管兩端版本的情境
Trojan 的常見形式建立在標準 TLS 連線之上,驗證資訊位於 TLS 保護的連線內部。它的排錯流程相對明確:先檢查網域解析,再確認憑證有效性與系統時間,接著核對密碼、連接埠和傳輸設定。若 TLS 握手尚未完成,繼續調整路由規則通常無法解決問題。
Shadowsocks 的效能直接取決於所選的加密方法、處理器指令集與實作版本。支援 AES 硬體加速的桌面處理器通常適合 AES-GCM;缺少相應加速的裝置則可比較 ChaCha20-Poly1305。2022 系列方法進一步規範金鑰與重放防護,但客戶端和伺服器端必須同時支援,不能只修改其中一端。
結論:協定名稱不能取代完整設定
看到 VLESS 時,還要檢查 security、flow、network 與 serverName;看到 Shadowsocks 時,則要檢查 method 與金鑰。訂閱中只要缺少任一關鍵欄位,就可能比協定本身的理論負載更影響連線結果。
家庭寬頻、行動網路與低效能裝置該怎麼選
家庭寬頻通常連線穩定、封包遺失率低,可選範圍最大。若伺服器端使用 Xray 且參數完整,可優先評估 VLESS + REALITY + XTLS Vision;已有 VMess + TLS 節點長期穩定時,沒必要只為了更換名稱而重建。Trojan 適合已正確維護網域與 TLS 服務的環境,Shadowsocks 則適合結構簡單、雙方版本可控的轉送需求。
行動網路會遇到基地台切換、位址變更與短暫抖動。此時應先減少不必要的傳輸層疊加,再比較協定。WebSocket 方便透過既有 HTTP 基礎設施轉送,但會增加 HTTP 標頭與訊框封裝;直接使用 TCP 結構簡單,卻要確認伺服器端入口與網路環境允許穩定連線。不存在適用於所有行動網路的固定最佳答案。
推薦方案:依穩定網路與波動網路分別建立測試組
家庭寬頻桌面端
- v2rayN 使用 Xray 核心
- 優先比較 VLESS 與現有 VMess
- 系統代理連接埠以參數設定為準
- 固定使用同一台伺服器,排除線路差異
Android 行動網路
- v2rayNG 使用 Xray 核心
- 分別測試無線網路與行動網路
- 保留一個結構簡單的備用設定
- 切換網路後重新檢查連線記錄
比較協定時必須維持伺服器、出口線路與測試時段一致,否則測到的主要是線路差異,而不是協定差異。
低效能裝置的關鍵在於加密運算與封裝層數。若處理器具備 AES 指令加速,Shadowsocks 的 AES-128-GCM 通常可作為評估起點;若沒有,則可在雙方實作都支援的前提下比較 ChaCha20-Poly1305。VLESS 的協定層較輕,但疊加的 TLS、REALITY 或複雜傳輸仍需要運算資源,因此不能只因協定層精簡,就斷言整條鏈路的負載最低。
- 先記錄伺服器端協定、核心、安全層、傳輸方式與連接埠,不要只記節點名稱。
- 在同一個網路、同一台伺服器上分別連線候選設定,避免把不同線路混入比較。
- 觀察首次連線是否穩定、連續瀏覽是否中斷,以及裝置是否出現明顯發熱或耗電變化。
- 行動網路測試至少要涵蓋一次網路切換,確認切換後客戶端能否恢復連線。
- 保留一個已驗證可用的設定作為回復項目,再逐步調整單一參數。
在 v2rayN、v2rayNG 與 v2flyNG 中核對設定
桌面端使用 v2rayN 時,先更新訂閱並開啟節點編輯介面,核對位址、連接埠、使用者 ID 或密碼、傳輸協定、安全類型、SNI 或 serverName。接著進入「設定」→「參數設定」,確認本機 SOCKS 與 HTTP 監聽連接埠。若瀏覽器或其他應用程式手動指定了 10808,客戶端修改連接埠後也要同步修改呼叫端。
VLESS + REALITY 設定還要檢查 publicKey、shortId、serverName、fingerprint 與 flow。常見的 flow 值為 xtls-rprx-vision,但是否啟用必須與伺服器端一致。REALITY 不使用傳統網站憑證檔案來完成相同的部署流程,因此不能照搬 Trojan 的憑證排錯方式。
- 在 v2rayN 中選擇目標伺服器,開啟編輯視窗,確認協定欄位沒有被訂閱解析成其他類型。
- VMess 主要核對 UUID、alterId、security、network 與 TLS;現代設定中的 alterId 通常為 0。
- VLESS 主要核對 UUID、encryption、flow、security、network 與 serverName,常見的 encryption 值為 none。
- Trojan 主要核對密碼、連接埠、TLS、serverName,以及與憑證相符的網域。
- Shadowsocks 主要核對 method、密碼與連接埠,方法名稱必須與伺服器端完全一致。
協定排錯記錄範例
協定:VLESS
位址與連接埠:已與伺服器端核對
傳輸:tcp
安全層:reality
flow: xtls-rprx-vision
serverName:已與伺服器端核對
本機 SOCKS:10808
本機 HTTP:10809
Android 端若需要 Xray 的 REALITY 與 Vision 功能,應使用搭載 Xray 核心的 v2rayNG,並確認匯入後相關欄位沒有遺失。v2flyNG 採用 v2fly 核心,適合處理該核心支援的 VMess、VLESS、Trojan 與 Shadowsocks 設定,但某些 Xray 專屬組合不能只憑分享連結名稱推斷是否可用。
成功匯入訂閱只代表客戶端能辨識文字,不代表伺服器端參數正確。連線失敗時應開啟客戶端記錄,區分 DNS 解析失敗、連線遭拒、TLS 握手失敗、驗證失敗與本機連接埠遭佔用。不同錯誤需要處理不同層級,反覆切換協定通常只會掩蓋真正的問題。
常見選擇問題與具體處理方式
家庭寬頻直接選 VLESS 就可以嗎?
先確認伺服器端使用 Xray,並提供完整的 VLESS 參數。若現有 VMess 節點穩定,不需要只為了協定名稱而遷移;新建設定時可優先評估 VLESS + REALITY + XTLS Vision。
VMess 匯入後一直顯示驗證失敗,該怎麼辦?
先開啟系統自動校時,再核對 UUID、alterId 與 security。VMess 驗證依賴時間,裝置與標準時間差距過大時,即使位址和連接埠正確也可能失敗。
Trojan 密碼正確,但 TLS 握手失敗,該怎麼辦?
依序檢查網域解析、443 或實際監聽連接埠、serverName、與憑證相符的網域及裝置時間。TLS 尚未建立時,修改 Trojan 密碼無法修復憑證或網域問題。
Shadowsocks 該選 AES 還是 ChaCha20?
桌面處理器支援 AES 硬體加速時,可先嘗試 AES-128-GCM;低效能裝置則可比較 ChaCha20-Poly1305。最終方法必須由伺服器端提供,並確認客戶端核心明確支援。
更換協定後速度沒有變化,正常嗎?
正常。頻寬瓶頸經常位於伺服器出口、跨網路線路或本地無線網路。維持同一台伺服器和同一時段,只替換協定設定,才有條件判斷封裝與加密造成的差異。
協定選擇清單
如果目標是新建 Xray 設定,且桌面端使用 v2rayN、Android 端使用 v2rayNG,可先考慮 VLESS 與 Xray 支援的安全組合。如果已有大量 VMess 設定且運作穩定,繼續使用並維護正確參數更實際。具備規範的 TLS 網域與憑證管理條件時,Trojan 的結構清晰;裝置資源有限且伺服器端支援相符方法時,Shadowsocks 值得單獨測試。
- 優先相容舊訂閱:選擇 VMess,保留原有 UUID、傳輸與 TLS 參數。
- 新建 Xray 主力設定:評估 VLESS + REALITY + XTLS Vision,並逐項核對 flow 與公鑰參數。
- 已有標準 TLS 服務:評估 Trojan,重點維護網域、憑證、密碼與監聽連接埠。
- 資源受限且雙方版本可控:評估 Shadowsocks,依處理器能力選擇伺服器端支援的加密方法。
- 行動網路波動明顯:減少多餘封裝,保留備用設定,並測試網路切換後的恢復能力。
- 無法確定瓶頸位置:先查看核心記錄與系統代理連接埠,再討論是否更換協定。
最終判斷:穩定且可重現優先於理論排名
同一個協定在不同線路、核心與傳輸組合下,可能呈現完全不同的表現。保留完整參數記錄,使用同一台伺服器逐項比較,並選擇能在日常網路中穩定恢復、方便排錯的組合。