本文適合正在查看訂閱節點名稱、手動新增伺服器或排查協定相容性問題的使用者。重點區分代理協定、傳輸方式與安全層三個概念,並整理 VMess、VLESS、Trojan、Shadowsocks 的設定檢查順序、同環境測試數據與用戶端選擇方法。
先分清協定、傳輸與安全層
節點名稱中經常同時出現 VLESS、TCP、WebSocket、gRPC、TLS、Reality 等詞。它們並不屬於同一層。VLESS 是代理協定,TCP、WebSocket 與 gRPC 是承載資料的傳輸方式,TLS 與 Reality 則負責連線安全或伺服器身分驗證。只看協定名稱,無法直接判斷速度、穩定性或可用性。
VMess、VLESS、Trojan 與 Shadowsocks 主要規範用戶端如何驗證身分、封裝代理請求,以及如何將資料交給底層連線。實際連線還會受到網域解析、伺服器負載、往返延遲、封包遺失率、壅塞控制與傳輸組合影響。相同協定套用在不同線路上,結果可能相差數倍。
例如「VLESS + TCP + TLS」與「VLESS + gRPC + TLS」使用相同的代理協定,但建立連線的步驟與資料分幀方式不同。「VMess + WebSocket + TLS」與「VLESS + WebSocket + TLS」則共用傳輸與安全層,差異只在身分驗證與協定封裝。
- 代理協定:VMess、VLESS、Trojan、Shadowsocks,負責身分驗證與代理請求封裝。
- 傳輸方式:TCP、WebSocket、gRPC 等,決定資料如何承載於連線中。
- 安全層:TLS、Reality 或協定本身的加密機制,負責加密與身分驗證。
- 路由層:用戶端的網域、IP、程序與連接埠規則,決定流量是否進入特定出站。
四種協定的核心差異
VMess 具備自身的使用者驗證與資料加密設計。現代設定通常使用 AEAD 驗證,舊設定中的 alterId 已逐漸退出常見使用情境,匯入時通常應看到 alterId 為 0。VMess 驗證依賴時間;當用戶端系統時間明顯偏差時,可能出現伺服器可連線但驗證持續失敗的情況。
VLESS 採用較輕量的驗證與封裝方式,本身不負責完整的資料加密。它通常會搭配 TLS 或 Reality 使用。VLESS 的優點是協定層更精簡,並能配合 Xray 核心中的特定流量控制功能。若節點設定了 flow,用戶端必須原樣匯入;任意刪除 `xtls-rprx-vision` 可能直接導致連線失敗。
Trojan 使用密碼完成驗證,並將代理資料放在 TLS 連線中。設定重點通常是伺服器網域、連接埠、密碼、SNI 與憑證驗證。連線目標填入 IP、SNI 卻留白時,憑證名稱不符是常見故障。停用憑證驗證只能用於定位問題,不應作為長期修復方式。
Shadowsocks 的結構相對直接,由伺服器位址、連接埠、密碼與加密方法組成。傳統 AEAD 方法常見 `aes-128-gcm`、`aes-256-gcm` 與 `chacha20-poly1305`。用戶端與伺服器的 method 必須完全一致,字母大小寫、連字號或密碼任一處錯誤都會造成握手失敗。
| 協定 | 驗證與加密重點 | 常見組合 | 設定敏感項目 |
|---|---|---|---|
| VMess | UUID 驗證,協定層提供資料加密與驗證機制 | TCP、WebSocket 或 gRPC,可疊加 TLS | UUID、alterId、security、系統時間 |
| VLESS | UUID 驗證,通常依賴 TLS 或 Reality 提供安全層 | TCP + TLS、TCP + Reality、gRPC + TLS | UUID、flow、SNI、public key、short ID |
| Trojan | 密碼驗證,依賴 TLS 加密連線 | TCP + TLS,也可承載於其他支援的傳輸方式 | password、SNI、憑證網域、ALPN |
| Shadowsocks | 密碼與指定的加密方法共同生效 | 通常直接運作於 TCP 與 UDP | method、password、連接埠、UDP 支援 |
結論:節點欄位必須整組核對
協定名稱只決定第一組欄位。真正影響能否連線的,通常是傳輸與安全層的組合。匯入訂閱後,先對照 network、security、SNI、Host、path 與 flow,比反覆切換系統代理模式更有效。
如何看握手負擔與速度測試
協定負擔不能脫離傳輸組合比較。VMess 透過 WebSocket 與 TLS 建立連線時,需要完成 TCP、TLS、HTTP 升級與協定驗證;VLESS 透過一般 TCP 與 TLS 時,則沒有 WebSocket 升級步驟。若直接比較兩者的測速結果,差異其實同時來自傳輸層與協定層。
以下是一組固定環境下的觀察值:用戶端到伺服器的基礎往返延遲為 42 毫秒,線路限速 100 Mbps,測試檔案為 256 MB,每組建立 20 次新連線並取中位數。伺服器位置、負載與出口保持不變。數值僅用於說明組合差異,不代表所有節點都能重現。
| 測試組合 | 新連線中位耗時 | 平均下載速度 | 主要額外步驟 |
|---|---|---|---|
| VMess + WebSocket + TLS | 121 ms | 86.7 Mbps | TLS 與 WebSocket 升級 |
| VLESS + TCP + TLS | 84 ms | 91.8 Mbps | TLS 握手 |
| Trojan + TCP + TLS | 87 ms | 90.6 Mbps | TLS 握手與密碼驗證 |
| Shadowsocks + TCP | 59 ms | 93.1 Mbps | 協定驗證與加密初始化 |
結論:日常選擇先看線路品質
這組測試中,建立連線的耗時相差 62 毫秒,但持續下載的最大差距只有 6.4 Mbps。網頁首次開啟更容易感受到握手與封包遺失,長時間下載則主要受線路容量與伺服器負載限制。
若要在自己的節點上進行比較,測試前應固定伺服器、目標網站、用戶端核心與路由規則。先執行 10 至 20 次實際連線延遲測試,再連續下載同一個檔案。只比較一次延遲,或只看節點名稱旁的數值,很容易把 DNS 快取與瞬間壅塞誤認為協定差異。
v2rayN、v2rayNG 與 v2flyNG 的支援差異
用戶端介面能顯示節點,不代表目前的核心可以執行所有欄位。v2rayN 桌面版通常可在參數設定中選擇或管理核心。v2rayNG 使用 Xray 核心時,可以處理常見的 VMess、VLESS、Trojan 與 Shadowsocks 設定,並支援相應核心實作的 Reality 與 Vision 組合。
v2flyNG 使用 v2fly 核心,適合處理 VMess、一般 VLESS、Trojan 與 Shadowsocks 設定。若訂閱包含 Xray 特有的 Reality 參數或特定 flow,應先確認核心是否實作支援,而不是只檢查應用程式能否讀出節點名稱。匯入時保留欄位,也不代表啟動時不會回報「不支援的設定」。
- 在 v2rayN 開啟「設定」→「參數設定」,檢查目前的 Core 類型與本機監聽連接埠。
- 雙擊伺服器記錄,核對位址、連接埠、使用者 ID 或密碼,避免只查看備註名稱。
- 接著檢查傳輸協定。WebSocket 需要核對 Host 與 path,gRPC 需要核對 serviceName。
- 啟用 TLS 時檢查 SNI。使用 Reality 時還要核對 public key、short ID 與 fingerprint。
- 儲存後查看記錄,再執行實際連線延遲測試。記錄中的驗證、憑證與逾時資訊,比單次測速數字更適合用來定位問題。
| 用戶端 | 一般四種協定 | 需要額外確認的設定 |
|---|---|---|
| v2rayN | 可由目前選用的核心處理 | Core 類型、Reality、flow、傳輸欄位 |
| v2rayNG | 使用 Xray 核心時涵蓋常見設定 | 應用程式版本、Reality 參數、VPN 服務權限 |
| v2flyNG | 由 v2fly 核心處理一般設定 | Xray 特有的安全層與流量控制欄位 |
依使用情境選擇協定
沒有任何一種協定能在所有線路與伺服器上同時達到最低延遲、最高吞吐量與最少設定項目。已有訂閱時,優先從服務端實際提供的節點中選擇,不要自行把 VMess 改成 VLESS,也不要替 Shadowsocks 節點加上 TLS。切換協定的前提是服務端存在相應的入站設定。
日常瀏覽網頁與觀看影片時,可以先選擇線路穩定、實際連線延遲低且封包遺失少的節點。條件接近時,再比較協定組合。需要 Reality 或 Vision 時,優先使用搭載 Xray 核心的用戶端;需要相容較早期的訂閱欄位時,則可保留 VMess 節點作為備用。
VMess
設定生態成熟,常見於既有訂閱,WebSocket 與 TLS 的組合也很多。需要留意系統時間、UUID 與舊式 alterId 欄位。
適合:已有 VMess 節點、舊訂閱相容性與備用線路
VLESS
推薦協定封裝較輕,可搭配 TLS、Reality 與特定流量控制功能。欄位完整且核心相符時,適合作為現代設定的日常主力。
適合:使用 Xray 核心、需要 Reality 或 Vision 的設定
Trojan
以密碼驗證並依賴 TLS,設定重點集中在網域、SNI 與憑證驗證。伺服器憑證設定正確時,用戶端欄位較容易核對。
適合:已有網域與 TLS 設定、偏好明確驗證欄位
Shadowsocks
參數數量較少,TCP 與 UDP 支援清楚。伺服器與用戶端必須使用相同的密碼與加密方法。
適合:簡單代理連線、低設定複雜度與 UDP 需求
- 網頁首次開啟很慢:先比較實際連線延遲、DNS 與封包遺失,不要只依協定排序。
- 大檔案下載速度低:檢查伺服器頻寬、出口壅塞與路由繞行,協定負擔通常不是唯一原因。
- 行動網路頻繁切換:重新執行連線測試,舊連線失效不代表節點設定錯誤。
- 訂閱同時提供多種協定:保留兩種不同的組合,主要節點異常時即可快速區分線路故障與協定相容性問題。
結論:主要節點與備用節點使用不同組合
主要節點可選擇 VLESS 搭配相符的安全層,備用節點則保留 VMess、Trojan 或 Shadowsocks 其中一種。兩個節點不要只修改備註名稱,應確認其協定、傳輸方式或伺服器線路確實不同。
常見設定問題
四種協定的故障表現可能十分相似:延遲測試逾時、核心反覆重新啟動、開啟系統代理後網頁無法載入。排查時應從記錄中的第一條錯誤開始,不要連續修改多個欄位。每次只修改一個參數,儲存並重新啟動核心,才能確認問題來源。
VMess 節點匯入後一直逾時?
先將電腦或 Android 裝置的日期、時間與時區設為自動,再核對 UUID 與 alterId。現代 AEAD 設定通常使用 alterId 0。若偏差接近或超過 120 秒,先修正系統時間再重新測試。
VLESS 顯示已連線但沒有流量?
開啟核心記錄,檢查 flow、security 與 network。Reality 設定還需逐項核對 SNI、public key、short ID 與 fingerprint;這些欄位缺失時,即使系統代理狀態正常也無法完成連線。
Trojan 顯示憑證名稱不符?
檢查節點的伺服器名稱與 SNI。連線位址可以是 IP,但 SNI 通常需要填寫憑證涵蓋的網域。確認裝置時間正確,並檢查訂閱是否在複製時遺失 serverName 欄位。
Shadowsocks 可以連線 TCP,但應用程式中的 UDP 不通?
先確認伺服器已啟用 UDP,再檢查用戶端節點設定與路由出站是否允許 UDP。method 與 password 必須和伺服器一致;只開啟系統 HTTP 代理也無法涵蓋所有 UDP 流量。
同一節點在 v2rayNG 可用,換到 v2flyNG 後失敗?
確認節點是否包含 Reality、Vision 或其他特定核心欄位。一般分享連結能成功識別,只代表格式已解析,還應繼續查看啟動記錄,並選擇與伺服器設定相符的核心與用戶端。
協定選擇結論
VMess 適合相容既有訂閱與成熟設定;VLESS 適合搭配 TLS、Reality 與現代 Xray 功能;Trojan 的關鍵在於密碼、網域與 TLS 設定一致;Shadowsocks 參數直接,適合結構簡單的 TCP 與 UDP 代理需求。四者的差異主要在驗證、加密職責、傳輸組合與核心支援,而不是單一的速度排名。
選擇節點時,先確認用戶端是否支援完整欄位,再查看線路延遲與封包遺失,最後比較協定負擔。節點能穩定建立連線、記錄沒有持續錯誤、常用網站載入正常,通常比協定名稱是否新穎更重要。
- 匯入訂閱後先保留原始欄位,不要手動修改協定類型。
- 使用實際連線延遲,不要把 TCP 探測結果當成完整的可用性判斷。
- 選擇一個日常主要節點,再保留一個不同協定或不同線路的備用節點。
- 遇到故障先查看核心記錄,並依照驗證、傳輸、安全層、路由的順序檢查。