先確認伺服器提供的完整組合,再確認用戶端核心是否支援。VMess 內建協定層加密;常見 VLESS 設定則由 TLS 或 REALITY 負責保密,Trojan 仰賴 TLS,現代 Shadowsocks 使用預共享金鑰加密。本文適合正在比較訂閱節點、準備自建服務,或需要多裝置共用設定的讀者;看完即可分辨協定、傳輸方式與安全層,避免只改協定名稱而導致連線失敗。
一、先分清協定、傳輸方式與用戶端
VMess、VLESS、Trojan 與 Shadowsocks 是代理協定,不是四種用戶端。v2rayN 是桌面用戶端,負責儲存節點、管理訂閱、設定代理並呼叫核心;v2rayNG 在 Android 上使用 Xray 核心,v2flyNG 則在 Android 上使用 v2fly 核心。介面上能新增某種節點,不代表目前使用的核心支援該節點的所有傳輸方式與安全選項。
拆解節點的各個層次,比記住「哪種協定最好」更實用。訂閱中的協定名稱只是第一層,伺服器位址、連接埠、傳輸方式、安全層與認證欄位都必須互相搭配。尤其是 VLESS 節點,不能只因名稱相同,就認為能在不同核心之間直接套用。
- 代理協定:決定如何驗證使用者、表示目標位址並封裝代理要求,例如 VMess 或 Trojan。
- 傳輸方式:決定代理資料如何傳送,例如 TCP、WebSocket、gRPC。並非每種協定或核心都支援所有組合。
- 安全層:例如 TLS 或 Xray 的 REALITY,與代理協定名稱並非同一回事。
- 用戶端與核心:用戶端負責操作介面,核心則實際處理連線。排查相容性時,兩者的版本都要記錄。
二、四種協定的認證與加密差異
先確認「由哪一層負責加密」,再比較設定複雜度。下表討論目前常見的部署方式:VMess AEAD、使用 encryption=none 的 VLESS、標準 Trojan,以及現代 Shadowsocks AEAD 系列。歷史設定與新增擴充功能,不能只憑協定名稱套用結論。
| 協定 | 認證依據 | 保密性來源 | 設定重點 |
|---|---|---|---|
| VMess | UUID 與協定認證機制 | 協定層可使用 AEAD 加密,也可再加上 TLS | UUID、加密選項、系統時間、傳輸參數 |
| VLESS | 通常使用 UUID | 常見的 none 設定仰賴 TLS 或 REALITY 等安全層 | 安全層、服務名稱、flow 與核心支援情況 |
| Trojan | 共用密碼,經協定處理後進行認證 | TLS 連線 | 密碼、憑證驗證、伺服器名稱 |
| Shadowsocks | 共用密碼或符合指定格式的預共享金鑰 | 所選加密方式提供的認證加密 | 加密方式、金鑰格式、雙方實作的相容性 |
VMess:留意 AEAD 與時間同步
VMess 不代表「一定得用舊設定」。目前常見設定使用 AEAD,傳統 VMess 設定中的 alterId 通常設為 0。不要為了解決連線問題而任意調高這個值。VMess 認證會考量時間因素;裝置時間若有明顯誤差,即使 UUID 正確也可能無法通過認證。請先開啟作業系統的自動校時,再檢查其他欄位。
VLESS:none 不代表整條連線都未加密
常見 VLESS 設定中的 encryption=none,表示這一層不會加密載荷,不代表外層 TLS 或 REALITY 沒有加密。反過來說,若協定層沒有加密,也沒有可靠的安全層,就不能因為名稱是 VLESS 而認定連線受到保護。若使用其他加密擴充功能,請另外確認兩端的實作方式與版本,不能直接套用 none 模式的判斷。
Trojan 與 Shadowsocks:密碼欄位相似,機制不同
Trojan 的保密性仰賴 TLS,正常部署時必須正確驗證伺服器憑證。Shadowsocks 則由所選的加密方式直接保護代理資料,基本部署不需要網域憑證。傳統 AEAD 方法與 Shadowsocks 2022 的金鑰要求並不相同;例如 2022-blake3-aes-128-gcm 需要符合指定長度的金鑰,不能直接把任意密碼當成有效設定。
三、TLS、REALITY 與 WebSocket 如何搭配
「VLESS + REALITY」和「VMess + WebSocket + TLS」描述的是不同層次的組合。REALITY 是 Xray 提供的安全機制,不是獨立的代理協定;WebSocket 是傳輸方式,本身不能取代 TLS。一般 CDN 反向代理通常需要使用其支援的 HTTP 類傳輸方式,不能只把任意 TCP 節點的位址改成 CDN 網域,就期待連線成功。
連接埠號碼只代表監聽位置。伺服器即使使用 443 連接埠,也可能執行不相符的服務;其他連接埠同樣可以部署 TLS。驗證連線時,應查看實際設定與交握記錄,而不是只看連接埠號碼。使用一般 TLS 時,連線位址可以是 IP,但用於憑證驗證的伺服器名稱仍須與憑證相符。
- 一般 TLS:確認伺服器名稱、憑證有效期限、憑證鏈與裝置時間。不要把「允許不安全連線」當成一般解決方式。
- WebSocket:確認路徑與 Host,並確認反向代理確實將要求轉送至對應入口。路徑大小寫或結尾斜線不同,都可能影響比對。
- gRPC:確認服務名稱及伺服器端支援 HTTP/2,不要直接沿用 WebSocket 的路徑欄位。
- REALITY:確認伺服器端提供的公鑰、shortId、伺服器名稱及配套參數。UUID 正確,不代表這些欄位也會自動正確。
VLESS 的 flow 也不是可以任意填寫的加速選項。只有伺服器端採用相應流程,而且用戶端核心與傳輸組合都支援時,才應設定例如 xtls-rprx-vision。匯入完整訂閱通常比手動拼湊欄位更可靠,但仍須確認訂閱來源可信。
四、如何有效比較效能
沒有適用所有線路的固定速度排名。同一台伺服器上的不同協定,可能受到不同入口、反向代理或限速策略影響;不同地區的兩個節點,更不能靠一次下載結果證明哪種協定較快。加密運算、交握、傳輸封裝與網路封包遺失都可能成為瓶頸,最後仍須以裝置和線路的實際表現為準。
- 加密運算:AES 硬體加速會影響 AES-GCM 的效率;部分裝置使用 ChaCha20-Poly1305 可能更合適。不能只看演算法名稱判斷耗電量或速度。
- 交握成本:頻繁建立短連線時,網路往返時間與 TLS 交握會影響第一個要求;長時間傳輸則更容易受頻寬、壅塞與封包遺失影響。
- 額外封裝:WebSocket、gRPC 與反向代理會增加處理環節,但也可能符合既有部署條件。處理環節較少,不代表線路一定更快。
- UDP 支援:協定、核心、伺服器端與本機接管方式都必須支援。遊戲或語音無法使用時,不能只因網頁正常就認定 UDP 路徑也正常。
可重複使用的比較步驟
- 盡量使用同地區、同伺服器、相同頻寬限制的入口;記錄用戶端版本、核心版本、協定組合與測試時間。
- 關閉背景下載,固定使用同一個目標資源,先預熱一次,再分別測試三次。記錄結果的中位數,不要只保留最高值。
- 分別觀察網頁首次載入、持續下載與即時通訊。用戶端的延遲測試只能反映特定探測結果,不能取代完整的實際使用測試。
- 行動裝置還要觀察背景執行與耗電狀況。切換網路後重新測試,不要把無線訊號變化誤判為協定問題。
五、如何選擇家用、行動網路與多裝置方案
以下「建議」僅適用於具備配套伺服器端、且連線兩端都支援的常見 Xray 部署方式,不代表所有網路的速度排名。已有穩定節點時,優先保留完整設定;新建入口時,再依憑證管理、核心相容性與裝置數量評估取捨。
VLESS + 配套安全層
建議新建 Xray 部署時可優先評估。依實際條件選擇 TLS 或 REALITY,並確實配對安全參數;若需要相容其他核心,先驗證具體組合,不能只確認協定名稱是 VLESS。
適用情境:可管理伺服器端,且桌面與 Android 裝置都使用相容核心
VMess AEAD
既有 VMess 訂閱能正常使用,就沒有必要只為了協定名稱而遷移。保留正確的傳輸參數、處理時間同步問題,並確認沒有沿用不適用的舊認證設定。
適用情境:已有穩定節點,需要沿用現有設定
Trojan + TLS
採用密碼認證與 TLS,設定重點在憑證與伺服器名稱。適合能持續維護網域、憑證及入口轉送的環境;不應透過略過憑證驗證來減少維護工作。
適用情境:已有網域與憑證維護流程的部署環境
Shadowsocks AEAD 系列
基本設定欄位較少,通常不需要憑證。跨裝置使用時,確認加密方式與金鑰格式一致;選用 2022 系列前,先確認所有裝置與伺服器端都支援。
適用情境:欄位較少的直連部署,或已確認相容的多裝置環境
家用網路可優先留意晚間穩定性與多裝置同時連線的狀況;行動網路則需額外考量網路切換、UDP 可達性及背景管理。Android 裝置的省電限制可能中斷代理程序,換協定不一定能解決問題。請先判斷是程序遭系統停止,還是核心仍在執行但連線逾時。
多裝置方案:使用同一訂閱,分別確認各裝置支援情況
桌面端:v2rayN
- 記錄實際啟用的核心與版本,不要只記用戶端版本。
- 先用瀏覽器確認系統代理,再視需要設定終端機或 TUN。
- 保留一個已驗證的節點,更新後方便比對。
Android:v2rayNG 或 v2flyNG
- v2rayNG 依 Xray 的支援情況確認節點,v2flyNG 則依 v2fly 的支援情況確認。
- 首次啟動時確認 VPN 權限,並檢查分應用程式設定是否包含目標應用程式。
- 分別在行動網路與家用無線網路下測試,不要共用同一份測試結論。
同一份訂閱不保證所有裝置都能使用完全相同的節點;遇到 REALITY、flow 或特定加密方式時,應以連線兩端的實際支援情況為準。
六、匯入後無法連線?依欄位逐層排查
選好協定後,最常見的問題不是「協定不好」,而是設定只符合部分條件。請先備份原始節點,每次只修改一個欄位,並記下記錄時間。公開求助時,請隱藏訂閱網址、UUID、密碼與私鑰;記錄中的真實節點位址也應視需要遮蔽。
VLESS 的 UUID 沒錯,為什麼還是連不上?
依序檢查位址與連接埠、安全層、伺服器名稱、傳輸方式與 flow。使用 REALITY 時,還要確認公鑰與 shortId 來自同一個伺服器端入口。不要混用 TLS 節點與 REALITY 節點的欄位。
Trojan 必須關閉憑證驗證才能使用,該怎麼辦?
恢復憑證驗證,檢查裝置時間與伺服器名稱,再從伺服器端確認憑證有效期限及完整憑證鏈。使用 IP 連線時,也要保留正確的驗證名稱;「成功交握」不代表已通過身分驗證。
Shadowsocks 更換加密方式後,密碼相同也無法連線?
用戶端與伺服器端必須使用相同的加密方式。若切換至 2022 系列,還須依該方式重新產生符合長度與編碼要求的金鑰。不能只改用戶端的下拉選單,也不能把舊密碼直接當成新金鑰。
節點延遲測試成功,瀏覽器卻無法開啟網頁?
先確認核心已啟動,且瀏覽器確實使用目前的本機代理連接埠,再檢查 DNS 與路由。若入站監聽位址是 127.0.0.1:10808,應用程式就必須使用該入站支援的代理類型連線;連接埠僅供示範,請以實際設定為準。
訂閱中的 VMess 節點突然全數失效,需要更換協定嗎?
先開啟系統自動校時,再更新訂閱,並檢查節點是否到期或入口是否變更。若記錄顯示認證失敗,請核對 UUID 與認證相關設定;若是連線逾時,先檢查位址、連接埠與網路是否可連通,不要同時修改多個協定欄位。
最後,請從完整組合來理解:協定決定認證與封裝方式,安全層決定相應的保密與身分驗證方式,傳輸方式與線路則會影響連線能力和使用體驗。選擇用戶端時可參閱用戶端比較;想了解 DNS、路由與系統代理之間的關係,可參閱使用說明。先讓一份設定穩定運作,再逐項調整,比同時更換協定、核心與路由更容易找出問題。