VMess 和 VLESS 有何差異?1 分鐘看懂設定與相容性

快速了解 VMess 與 VLESS 在加密、設定欄位及用戶端相容性上的差異,看懂訂閱中的協定類型,正確匯入節點。

本文重點

VMess 與 VLESS 是兩種代理協定,不是兩種用戶端。VMess 常見設定會在協定層加密資料;常見的 VLESS 設定則由 TLS 或 REALITY 負責傳輸保護。一般使用者先照訂閱內容匯入,再確認協定、傳輸方式與安全設定,通常比手動更改協定可靠。本文將從辨識節點到排除匯入問題,說明哪些欄位必須一致、哪些設定不能照搬。

1 分鐘分清楚:協定、傳輸方式與安全層

在 v2rayN 的節點編輯視窗中,VMess、VLESS、WebSocket、TLS 可能同時出現,但它們屬於不同層級:VMess 和 VLESS 負責代理協定;TCP、WebSocket 等決定連線如何傳輸;TLS 或 REALITY 則提供相應的連線保護與身分驗證機制。只看到其中一個名稱,還不足以判斷整組節點設定。

比較項目VMessVLESS
身分憑證通常使用 UUID通常使用 UUID
常見加密設定常見選項為 auto 等,由實作選擇適用的演算法常見的傳統設定中,encryption 為 none,並另行設定 TLS 或 REALITY
需額外確認的欄位加密方式、舊設定中的 alterId安全層、flow,以及 REALITY 所需參數
能否直接互換不能。伺服器端與用戶端的協定必須一致

UUID 可視為伺服器用來辨識使用者的一項憑證,但它不是完整設定。即使兩個節點使用相同 UUID,只要連接埠、協定或傳輸路徑不同,就不能互相替代。協定名稱也不代表連線品質;跨電信業者連線、網路壅塞與伺服器負載,往往更影響使用體驗。

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

VMess 的常見設定會在協定層加密代理資料,現代設定通常使用 VMess AEAD。外層也可再套用 TLS,以保護傳輸。不要把 VMess 的資料加密選項和 TLS 開關混為一談:兩者作用的層級不同。

常見的傳統 VLESS 設定中,encryption=none 描述的是 VLESS 本身這一層,並非表示 TLS 或 REALITY 失效。要判斷連線是否受到保護,還得查看安全層設定。如果使用 VLESS 搭配一般 TCP,且沒有設定額外的傳輸保護,就不能將其視為 VLESS 搭配 TLS 的安全條件。

判斷方式:先看完整組合,再檢查個別欄位

看到 VLESS 的 none 時,先查看 TLS 或 REALITY 設定;看到 VMess 的 auto 時,也仍要確認傳輸方式與伺服器端要求。不要只為了消除看起來「不安全」的字樣,就擅自修改訂閱參數。

設定欄位:如何確認連接埠、UUID、alterId 與 flow

匯入失敗和連線失敗是兩回事。前者常見原因是連結格式不相容或內容不完整;後者通常發生在節點已出現在清單之後。手動檢查時,先確認位址、連接埠與 UUID,再檢查協定專屬欄位,最後查看傳輸方式與安全層。

443
常見的 TLS 服務連接埠,並非固定值
0
現代 VMess AEAD 設定常見的 alterId 值
10808
本機代理連接埠範例,請以用戶端顯示為準

這三個數字代表不同位置。443 是遠端服務可能使用的監聽連接埠;10808 是本機應用程式連線至代理時可能使用的入口;alterId 則是 VMess 的歷史設定欄位。不能因為瀏覽器設定了 10808,就把節點的遠端連接埠也改成 10808。現代 VMess AEAD 設定通常將 alterId 設為 0;若舊教學使用非零值,應先向提供者確認,不要直接套用到新節點。

  1. 位址與連接埠:依照提供者給的完整資訊填寫。TLS 節點不一定使用 443,其他連接埠也能承載 TLS。
  2. UUID:完整複製,避免多出空格。不要把訂閱權杖誤填到使用者 ID 欄位。
  3. VMess 加密:保留訂閱中的設定;不要直接搬用 VLESS 的 encryption 欄位。
  4. VLESS flow:只有伺服器端要求時才填寫,例如 xtls-rprx-vision。不是所有 VLESS 節點都使用 Vision。
  5. 傳輸方式與安全層:確認路徑、Host、伺服器名稱等欄位。REALITY 參數不應套用到一般 TLS 節點。

用戶端相容性:確認核心支援,不只看應用程式名稱

v2rayN 是桌面用戶端,實際連線由它呼叫的核心處理。v2rayNG 是使用 Xray 核心的 Android 用戶端;v2flyNG 則使用 v2fly 核心。支援基本的 VLESS,不代表支援所有 VLESS 擴充組合,尤其不能據此推斷 REALITY、Vision 或某種新傳輸方式已可使用。

依訂閱內容原樣匯入

建議

保留提供者指定的協定與安全層,再確認目前用戶端核心能否辨識整組設定。已有可用節點時,無須只為了協定名稱重新搭配參數。

適合:首次設定、日常使用、跨裝置匯入

手動建立節點

取得完整設定後再手動填寫。VMess 與 VLESS 都需要伺服器端配合,只在用戶端下拉選單切換協定並不會完成轉換。

適合:自架服務、找出缺少的欄位、確認匯入結果

匯入前先查看用戶端的「關於」頁面與核心版本資訊。若記錄明確指出不支援某個欄位、flow 或傳輸方式,應先確認版本與所選核心,而不是一再更換 UUID。對於 Xray 專屬的設定組合,不能只因 v2flyNG 能辨識 VLESS 名稱,就認定它相容。

雙端確認方式:訂閱來源一致,各自確認執行能力

桌面端:v2rayN
  • 透過「訂閱分組」→「訂閱分組設定」儲存訂閱網址。
  • 更新訂閱後,開啟節點編輯視窗,確認協定與安全層。
  • 使用 REALITY 等組合時,確認實際呼叫的核心及其版本是否支援。
Android 端:v2rayNG 或 v2flyNG
  • 先確認目前應用程式支援訂閱回傳的格式。
  • v2rayNG 依 Xray 的支援能力確認;v2flyNG 則依 v2fly 的支援能力確認。
  • 分別更新訂閱,檢查節點數量與重要欄位,不要假設內容會自動同步。

選單名稱可能因版本而異;同一份訂閱也可能依提出請求的用戶端回傳不同內容,因此兩端仍須分別驗證。

訂閱匯入與連線檢查:先確認格式,再查看記錄

單一節點分享連結與訂閱網址用途不同。前者通常包含一個節點的參數,常見前綴為 vmess:// 或 vless://;後者通常是可回傳一組節點的網路網址。將訂閱網址貼到單一節點編輯視窗,或把整段網頁內容當成分享連結,都可能造成匯入失敗。

  1. 確認輸入類型。單一節點連結請使用剪貼簿匯入;訂閱網址則先加入訂閱分組,再執行更新。不要把訂閱管理頁面的網址當成訂閱介面。
  2. 檢查匯入結果。開啟節點編輯視窗,確認協定類型,不要只靠備註猜測;再檢查連接埠、傳輸方式與安全層。
  3. 啟動後查看記錄。先排除設定解析錯誤,再檢查連線逾時、驗證失敗或憑證驗證失敗。不同錯誤應分別處理。
  4. 最後檢查應用程式的代理設定。桌面瀏覽器通常需要設定系統代理或個別代理;若應用程式未使用代理,即使節點本身可用,也不代表流量已經經過該節點。

測速結果只能反映特定測試條件下的表現,不能證明 VLESS 一定比 VMess 快。更換協定時通常也同時換了伺服器、傳輸方式與線路,很難單獨比較協定開銷。若現有 VMess 節點連線穩定,先保留即可;若提供者有適用於目前用戶端的 VLESS 節點,再分別測試網頁開啟、持續下載,以及切換網路後的恢復狀況。

常見問題:節點名稱相似,為何不能照搬設定?

把 VMess 改成 VLESS,就能直接連線嗎?

不能。請先向提供者索取 VLESS 設定,或在自架伺服器上新增對應的入站設定,再匯入新節點。不要覆蓋原本可用的 VMess 節點,方便測試失敗時還原。

VLESS 顯示 none,應該改成 auto 嗎?

常見的傳統 VLESS 設定應保留 encryption 為 none,再檢查 TLS 或 REALITY 是否符合提供者的要求。auto 常見於 VMess 的加密選項,不能跨協定照搬。

同一份訂閱,電腦能用、Android 不能用,該怎麼辦?

先分別更新訂閱,確認節點的協定、傳輸方式與安全層,再查看兩端的核心版本。若無法使用的節點依賴 REALITY 或 Vision,請優先確認 Android 端核心是否支援,不要只比較節點備註。

顯示連線逾時,應該先換協定還是換連接埠?

都不要直接亂改。先確認訂閱是否已過期、位址與連接埠是否正確,再檢查網路是否能連到伺服器。只有提供者明確提供備用連接埠或另一種協定設定時,才新增節點測試。

下載 v2rayN