2026-08-06 · 協定科普 · 約 8 分鐘

VMess 與 VLESS 有什麼差別:v2rayNG 協定比較指南

從加密方式、額外 ID、傳輸組合到 REALITY 相容性,快速掌握 VMess 與 VLESS 的差異,以及匯入節點時需要核對的欄位。

本文重點

在 v2rayNG 開啟節點編輯頁,先看協定,再檢查傳輸方式與安全設定。VMess 有自己的資料加密機制;常見的 VLESS 設定則由 TLS 或 REALITY 保護連線。本文適合已取得訂閱、需要核對欄位的 Android 使用者,重點說明額外 ID、SNI、傳輸路徑與 flow,協助分辨匯入設定錯誤和連線問題。

先在節點編輯頁分清協定、傳輸方式與安全層

在 v2rayNG 主畫面找到節點,點選該項目的編輯圖示,查看頂端的協定,以及下方的連線參數。不同版本的欄位順序可能不同,但核對順序相同:伺服器位址與連接埠、使用者 ID、傳輸方式、傳輸層安全。查看後若沒有明確的修改依據,直接返回即可,不要儲存試填的值。

VMess、VLESS 是代理協定;TCP、WebSocket、gRPC 是傳輸方式;TLS、REALITY 則是與連線安全相關的選項。它們不屬於同一層,不能互相取代。節點標示為 VLESS,不代表它使用哪種傳輸方式,也無法據此判斷是否啟用了 REALITY。

核對項目VMessVLESS
使用者身分通常使用 UUID通常使用 UUID
協定資料加密支援自身的資料加密機制常見設定的 encryption 為 none,由外層提供保護
額外 ID現代 AEAD 設定使用 0沒有這個欄位
常見連線組合VMess + WebSocket + TLSVLESS + TCP + REALITY,或 WebSocket + TLS
匯入時的檢查重點額外 ID、加密選項與傳輸參數安全層、flow 與相應的安全參數

訂閱是散布設定的入口,不是第四種協定。同一份訂閱可以包含這兩種節點。路由規則決定哪些連線使用哪個出口,不會自動將 VMess 轉成 VLESS;應用程式代理也只是調整哪些流量會經過用戶端。

加密方式不同,不代表 VLESS 可以省略安全設定

在 VMess 編輯頁查看「加密方式」時,通常會看到 auto 等選項。VMess 的協定機制與外層 TLS 是兩回事:即使協定本身提供加密,伺服器仍可能要求 WebSocket 搭配 TLS。刪除 TLS 設定不會讓節點變成「更直接」的連線,反而可能導致伺服器無法接收要求。

常見 VLESS 設定中的 encryption=none,表示協定本身不負責這一層的資料加密,不代表整條連線沒有保護。請繼續檢查「傳輸層安全」是否設為伺服器要求的 TLS 或 REALITY。只看到 none 就啟用「略過憑證驗證」,不但沒有解決層級問題,還會削弱 TLS 的身分驗證。

伺服器已提供完整參數的 VLESS

建議

若要建立新設定,且參數齊全,直接匯入伺服器提供的 TLS 或 REALITY 組合。保留安全層、SNI 與 flow,不要只複製位址和 UUID。

適用情況:建立新連線,且訂閱明確支援目前的 v2rayNG 核心

已穩定運作的 VMess AEAD

保留現有協定與傳輸設定。連線正常時,不必為了更新名稱而手動改用 VLESS;更換協定必須有伺服器端的相應支援。

適用情況:現有訂閱以 VMess 為主,日常連線穩定

判斷原則:選擇能完整匯入的組合,不要只看協定名稱

如果 VLESS 節點缺少 REALITY 公鑰等必要資訊,請先更新訂閱或向提供者索取完整設定;不要拿其他節點的參數來補。仍可使用的 VMess 節點可以留著,作為比對連線。

額外 ID 怎麼填:現代 VMess 通常設為 0

開啟 VMess 節點編輯頁,找到「額外 ID」或 alterId。現代 VMess AEAD 設定使用 0。舊教學常見的 64 適用於過去的設定情境,不能視為提升相容性或速度的通用數值。目前核心對舊式驗證方式的支援,也可能因版本而異。

0
現代 VMess AEAD 的額外 ID
36
標準 UUID(含連字號)的字元數
443
常見 TLS 伺服器連接埠,並非固定要求

這三個數字分別對應驗證模式、識別碼格式與網路入口,彼此無法推導。UUID 長度正確不代表帳號有效,連接埠是 443 也不代表伺服器一定啟用了 TLS。連接埠應以訂閱提供的值為準,不要只因看到 TLS 就把其他連接埠改成 443。

WebSocket、TLS 與 REALITY:逐項比對伺服器端設定

先在節點編輯頁展開「傳輸方式」和「傳輸層安全」。WebSocket 節點要檢查路徑與 Host;TLS 節點要檢查伺服器名稱,也就是 SNI。伺服器位址用來找到連線入口,SNI 用於交握時宣告目標伺服器名稱,WebSocket Host 則是 HTTP 要求欄位。三者可能相同,也可能依部署需求而不同。

兩種常見設定的核對方式

VMess + WebSocket + TLS
  • 確認協定為 VMess,且額外 ID 符合伺服器設定。
  • 傳輸方式選擇 WebSocket,路徑開頭的斜線要保留。
  • Host 與 SNI 分別依設定填寫,不要只因名稱相似就互換。
  • 保持啟用 TLS 憑證驗證,網域名稱須符合憑證要求。
VLESS + TCP + REALITY
  • 確認安全層為 REALITY,而不是一般 TLS。
  • 逐項核對伺服器名稱、公鑰、shortId 與指紋設定。
  • 若伺服器要求 Vision,flow 請使用正確的 x­tls-rprx-vision 設定值。
  • 不要另外加入其他 WebSocket 節點的路徑或 Host。

以上是兩種常見組合,並非所有可用組合的完整清單;實際參數應以伺服器設定與核心支援為準。

REALITY 不是在一般 TLS 設定中隨意切換一個選項就能使用。用戶端持有的公鑰必須與伺服器私鑰相符;shortId 必須符合伺服器允許的值;伺服器名稱也須符合伺服器要求。依伺服器設計,shortId 可以留空,因此「空值」本身並不能證明設定有誤。

使用 Vision 的 VLESS 節點,常見的 flow 值是 xtls-rprx-vision。它不是加密演算法名稱,也不適合複製到任意 WebSocket 設定中。VMess 也不能只靠填入這個 flow,就變成 VLESS + REALITY。遇到不支援的欄位時,請先確認用戶端與核心是否支援,再確認訂閱是否為該用戶端產生。

匯入後無法連線:先判斷失敗階段,再檢查協定

在 v2rayNG 點選右上角「+」→「從剪貼簿匯入」,即可匯入分享連結。要新增訂閱,請開啟側邊欄的「訂閱群組設定」,新增群組並儲存網址,再從主畫面的選單更新訂閱。不同版本可能顯示為「更新訂閱」或含有更新方式的選單項目。成功貼上連結只代表用戶端完成解析,不代表帳號、伺服器和網路都能正常使用。

  1. 確認匯入結果:開啟新項目的編輯頁,核對協定、連接埠、UUID、傳輸方式與安全層。不要只看節點備註;備註中的「VLESS」文字不能取代實際的協定欄位。
  2. 啟動後查看記錄:在側邊欄開啟「記錄」。若核心尚未啟動就回報欄位或設定錯誤,請先處理設定相容性問題;此時反覆測試延遲沒有太大意義。
  3. 分辨連線與交握問題:連線逾時時,先檢查伺服器是否可連及連接埠;若是憑證或交握錯誤,再檢查時間、SNI、憑證與安全層參數。錯誤訊息只能提供線索,仍須配合完整情境判斷。
  4. 最後檢查流量轉送範圍:若節點可以連線,但某個應用程式無法使用,請確認 VPN 權限、應用程式代理與路由規則。若該應用程式被排除在代理範圍外,改用 VMess 或 VLESS 都不會讓它自動走代理。

可以直接把 VMess 節點改成 VLESS 嗎?

不能只在用戶端更改協定。請先讓伺服器提供 VLESS 連線入口與完整參數,再匯入為新項目。保留原節點,方便還原與比對。

VLESS 顯示 none,是不是忘了啟用加密?

先確認 none 是哪個欄位的值。若是協定 encryption,請繼續檢查 TLS 或 REALITY;若傳輸層安全欄位也是空白,請向提供者確認部署方式,不要自行猜測。

匯入 REALITY 後一直交握失敗,要關閉憑證驗證嗎?

不要把略過憑證驗證當成解決方法。先依訂閱核對伺服器名稱、公鑰、shortId、指紋與 flow,再確認核心是否支援及伺服器狀態。

同一份訂閱在桌面版可用,為什麼 Android 不行?

先在 v2rayN 與 v2rayNG 核對同名節點的實際參數和更新時間,再檢查 Android 的 VPN 授權與應用程式代理規則。同名項目不一定來自同一次訂閱更新。

該選哪種協定:保留穩定節點,再以相同條件測試

不能只憑「輕量」就斷定 VLESS 一定比較快。實際表現還受到線路壅塞、伺服器負載、傳輸方式與目標網站影響。即使兩個節點使用不同協定,只要地區和連線入口不同,也不能透過一次測速判斷協定效能高低。

實際維護時,請把「協定、傳輸方式、安全層」視為一組完整設定。先更新訂閱,再核對欄位,最後調整路由與應用程式代理。如此既能保留可用連線,也能避免將伺服器參數錯誤誤認為某種協定本身不可靠。

下載用戶端v2rayNG / v2rayN