VMess 與 VLESS 有什麼差別?選節點前快速看懂協定

快速了解 VMess 與 VLESS 在加密、時間驗證和傳輸搭配上的差異,以及如何從分享連結辨識協定類型。

本文重點

VMess 與 VLESS 都是代理協定,不是用戶端名稱,也不代表線路品質等級。初次選擇節點時,先確認訂閱提供的完整設定能被目前使用的核心辨識,再檢查加密、安全層與傳輸方式是否相符。本文適合已取得訂閱或分享連結的使用者;閱讀後即可辨識協定類型、了解時間錯誤的影響,並在 v2rayN 中逐項檢查連線問題。

快速看懂差異:分清協定、傳輸方式與安全層

一組節點設定通常包含三個層次:代理協定負責身分驗證與請求格式,傳輸方式負責承載資料,安全層則保護連線。VMess、VLESS 屬於第一層;TCP、WebSocket 是傳輸方式;TLS、REALITY 則是設定中需要另外辨識的安全機制。若把這些名稱混為一談、當成「協定排名」,很容易選錯設定。

檢查項目 VMess VLESS
身分與驗證 通常使用 UUID;新式設定採用 VMess AEAD 驗證。 通常使用 UUID,協定與驗證格式則不同於 VMess。
資料加密 協定提供資料加密選項,例如 AES-128-GCM、ChaCha20-Poly1305;實際設定值應符合核心支援範圍。 常見設定的 encryption 為 none,連線保護通常仰賴 TLS 或 REALITY;其他擴充功能須另行確認核心是否支援。
時間相關 驗證與時間有關,用戶端與伺服器的時鐘需要同步。 沒有 VMess 相同的驗證時間要求,但 TLS 憑證有效期限等仍會受系統時間影響。
常見搭配 VMess + TCP,或 VMess + WebSocket + TLS。 VLESS + WebSocket + TLS,或 VLESS + TCP + REALITY 等。

v2rayN 是用來管理設定、呼叫核心並提供代理入口的桌面用戶端。Project V、V2Fly、Xray 則屬於相關協定與核心生態,不能與圖形介面程式混為一談。即使使用相同的 v2rayN 介面,呼叫不同核心或不同版本時,能接受的傳輸方式與欄位也可能不同。

先確認完整組合,再決定是否更換協定

在節點編輯視窗記下「協定、傳輸方式、安全層、flow」四項。只知道 VLESS 或 VMess 其中一個名稱,還不足以判斷用戶端能否連線;若伺服器沒有提供另一種設定,只改本機的協定下拉選單也無法完成轉換。

加密差異:VLESS 的 none 不代表整條連線都未加密

VMess 的加密設定與 TLS 並非同一個開關。使用 VMess 資料加密時,代理協定本身會保護相應資料;再搭配 TLS,則會另外建立 TLS 連線。不要只因看到 TLS,就任意更改 VMess 的加密選項。請保留訂閱提供且核心支援的設定。

常見 VLESS 設定中的 encryption=none,表示該設定未啟用 VLESS 協定層的資料加密。若同時使用 TLS 或 REALITY,用戶端與代理伺服器之間仍會受到相應安全機制保護。反之,若使用未加密的 TCP,且沒有任何安全層,就不能只憑「VLESS」這個名稱認定連線已受到保護。

時間驗證與連接埠:先釐清三個常見誤解

VMess 驗證會使用時間資訊。傳統文件常以約 90 秒的時間差說明同步需求,但排查問題時不應把這個數字視為可長期容忍的誤差。電腦或伺服器從睡眠狀態恢復、手動調整時間或時間同步失敗,都可能讓原本可用的節點突然驗證失敗。

約 90 秒
VMess 常見的驗證時間差說明;時鐘仍應保持同步
0
新式 VMess AEAD 設定常見的 alterId 值
443
TLS 服務常用連接埠,不能用來辨識協定

alterId=0 不等於「關閉加密」。舊教學提到的非零額外 ID,不應直接套用到新式 VMess AEAD 設定;新核心對舊式設定的相容情況也各不相同。遇到舊分享連結時,優先請服務提供者重新匯出,不要憑猜測填入額外 ID。

  1. 在 Windows 開啟「設定」→「時間與語言」→「日期與時間」,啟用自動設定時間並執行同步。介面名稱可能會因系統版本略有不同。
  2. 確認日期、年份與實際時間都正確。只切換時區通常不會改變正確維護的系統絕對時間,不必為了連線節點而改成伺服器所在時區。
  3. 若你能管理伺服器,也請檢查伺服器的時間同步;只修正電腦時鐘,無法解決伺服器時間偏差。
  4. 若問題仍未解決,請查看用戶端記錄中的具體錯誤。憑證過期、連線逾時與驗證失敗發生在不同階段,不應一律歸因於時間問題。

VLESS 不採用 VMess 相同的時間驗證機制,但不代表系統日期可以錯誤。TLS 憑證有有效期限,日期錯誤會導致憑證驗證失敗;部分 REALITY 設定也可能有時間限制。因此,排查這兩類節點時,都應先確認時鐘正常。

辨識分享連結:先看前綴,再檢查欄位

單一節點分享連結最容易辨認的差異是前綴:vmess:// 代表 VMess,vless:// 代表 VLESS。節點備註中的「高速」、「專線」或其他自訂名稱,都不會改變協定類型。訂閱網址則常以 https:// 開頭,用來取得一組設定,不能據此判斷訂閱內所有節點採用哪種協定。

兩種分享格式的檢查順序

VMess 分享連結
  • 常見格式是在 vmess:// 後接上以 Base64 編碼的 JSON 資料。
  • 常見欄位包括 add、port、id、aid、net、tls。
  • 匯入用戶端後,請核對位址、連接埠、UUID、加密方式與傳輸設定,不要只靠備註推測。
  • Base64 是編碼方式,不是保密機制;解碼後的內容仍包含連線憑證。
VLESS 分享連結
  • 常見格式是在 vless:// 後接上使用者識別碼、伺服器位址與查詢參數。
  • type 通常用來指定傳輸類型,security 通常用來指定安全層。
  • TLS 通常需要檢查 sni;WebSocket 通常需要檢查 host 與 path。
  • REALITY 常見欄位包括 pbk、sid、fp 等,欄位名稱與解析支援會依用戶端而異。

分享連結沒有一種格式能涵蓋所有歷史版本的實作。優先使用用戶端的匯入功能,並在編輯視窗確認解析結果;不要將完整連結貼到公開頁面。

在 v2rayN 桌面版中,常見操作路徑是「伺服器」→「從剪貼簿匯入批次 URL」。從節點清單開啟編輯視窗後,先確認協定類型,再檢查傳輸與安全設定。不同版本的選單文字可能略有差異,請選擇包含「剪貼簿匯入」的相應功能。匯入成功只代表格式可接受,不代表 UUID、連接埠或伺服器端參數一定正確。

若訂閱更新後出現多個同名節點,可以分別查看類型欄與編輯視窗,不要只看備註。不要為了「換成 VLESS」就直接修改分享連結前綴:VMess 的編碼內容與 VLESS 的參數結構不同,伺服器也必須啟用相應的入站設定。

選擇節點:優先確認設定相容性,別用協定名稱判斷速度

VMess 與 VLESS 的額外負擔和實作確實不同,但網頁載入速度也會受到線路壅塞、往返延遲、封包遺失、伺服器負載及傳輸封裝影響。比較不同伺服器的測速結果,無法單獨證明某種協定比較快。若要比較,應固定裝置、網路、目標網站與測試時段,並盡量使用同一台伺服器的兩種設定。

服務提供者明確支援的完整設定

建議

保留訂閱提供的協定、傳輸方式、安全層與 flow;確認目前使用的核心支援後,再直接測試。不論設定採用 VMess 或 VLESS,判斷時都應以能否連線、驗證及維護為準。

適用情況:初次匯入訂閱、日常使用,或不管理伺服器的使用者。

已有可用的 VMess 設定

先確認使用受支援的驗證方式、時鐘同步正常,且加密與 TLS 參數正確。不必只因為這個協定出現得比較早,就刪除仍可正常使用的節點。

適用情況:現有服務只提供 VMess,或需要保留既有連線設定。

具有明確配套參數的 VLESS 設定

伺服器提供 TLS 或 REALITY 等完整參數時,請先確認核心支援並核對所有欄位再使用。不要把其他節點的公鑰、伺服器名稱或 flow 填入目前的設定。

適用情況:服務提供者已部署相應組合,並提供完整訂閱或分享連結。

桌面版 v2rayN 可管理多種核心設定,實際支援範圍取決於所選核心。Android 版 v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心;兩者不一定能接受相同的擴充參數。例如,不能因為兩端都顯示 VLESS,就假設 Xray 的 REALITY、Vision 組合能原封不動地交給 V2Fly 核心執行。

更換用戶端前,先確認伺服器組合是否受到支援

記下節點的完整組合,並對照核心支援能力。如果問題是缺少 REALITY 支援,調整系統代理也無法補上協定功能;如果節點已可使用,但瀏覽器沒有透過代理連線,就該檢查應用程式的流量入口,而不是繼續修改 UUID。

常見問題:分別處理匯入、交握與瀏覽器連線

排查時依序確認「能否解析設定 → 能否連上伺服器 → 能否完成交握 → 應用程式是否使用代理」。每次只修改一個項目,並保留原始訂閱設定,避免多個欄位同時變動而無從比較。

VMess 節點昨天還能用,今天為什麼驗證失敗?

先同步本機時間,再確認訂閱是否更新、UUID 是否變更。若記錄明確顯示驗證問題,請聯絡服務提供者檢查伺服器時間與使用者狀態;若是連線逾時,先檢查位址、連接埠與網路是否可連通,不要先修改 alterId。

VLESS 顯示 none,需要手動改成 AES 嗎?

不要把 VMess 的加密選項套用到 VLESS。開啟節點編輯視窗,確認 TLS 或 REALITY 設定與訂閱相符;若安全層為空,請向服務提供者確認完整設定。自行填入不支援的 encryption 值,通常只會造成解析或交握失敗。

連接埠都是 443,為什麼一個能連、另一個不行?

443 只是伺服器的監聽連接埠。請繼續比對協定、UUID、傳輸方式、安全層與伺服器名稱;使用 WebSocket 時還要檢查路徑與 Host,使用 REALITY 則要檢查公鑰、shortId 及相關參數。連接埠相同,不代表兩個節點的設定也相同。

匯入成功卻顯示 TLS 交握失敗,應該關閉驗證嗎?

先確認系統日期、伺服器名稱與憑證有效期限,再核對連線位址及伺服器部署設定。請保留憑證驗證;若服務提供者的憑證已過期,應由服務提供者更新。關閉驗證會略過重要的身分檢查,不應作為日常修復方式。

節點測試正常,瀏覽器仍無法開啟網頁,需要換成 VLESS 嗎?

先在 v2rayN 主畫面的「系統代理」選擇「自動設定系統代理」,再檢查瀏覽器是否有自己的代理設定或擴充功能覆寫設定。必要時也要確認路由規則。系統代理與 TUN 是流量接入方式,VMess 與 VLESS 則是節點協定;切換協定不等於讓應用程式的流量改走代理。

最後保留一份簡單的排查紀錄:用戶端與核心版本、節點協定與傳輸方式、錯誤發生時間,以及記錄中的錯誤類別。向服務提供者回報時,請遮蔽 UUID、訂閱網址與完整分享連結。這樣有助於判斷問題來自參數相容性還是網路,也能減少反覆修改同一項設定的時間。

下載v2rayN