VMess 與 VLESS 有什麼差異?一分鐘快速看懂

從加密、時間校驗與效能開銷比較 VMess 和 VLESS,說明訂閱該如何選擇,以及 v2rayN 各欄位的用途。

本文重點

VMess 內建協定層驗證與資料加密機制;常見的 VLESS 設定則由 TLS 或 REALITY 負責保護連線,協定本身較精簡。一般使用者應先依照訂閱原設定匯入,不要直接把 VMess 節點改成 VLESS。以下將依序說明兩者的加密範圍、時間要求、速度差異,以及 v2rayN 中需要確認的欄位,適合第一次匯入訂閱或遇到連線失敗時逐項檢查。

一分鐘看懂:差異在哪一層?

兩者都是代理協定,不是用戶端名稱。v2rayN 是用來管理節點、訂閱與代理設定的桌面用戶端,實際連線由選定的核心執行;協定則規範用戶端與伺服器如何驗證、封裝及傳送資料。因此,「安裝了 v2rayN」不代表伺服器同時支援 VMess 和 VLESS。

比較項目VMessVLESS
驗證資訊通常透過 UUID 等參數識別使用者通常透過 UUID 等參數識別使用者
常見加密方式協定層可加密資料,也可搭配 TLS常見的 encryption=none 設定依賴 TLS 或 REALITY 保護連線
時間要求驗證會參照時間,時間差異過大可能導致失敗傳統驗證不採用 VMess 的時間窗口,但外層安全機制仍可能依賴時間
常見附加欄位加密方式、alterId、傳輸與 TLS 參數encryption、flow、傳輸與 TLS 或 REALITY 參數
能否直接互換不能;伺服器必須提供相符的協定入口與完整參數

協定、傳輸方式與安全層要分開理解。例如「VMess + WebSocket + TLS」分別代表代理協定、承載方式與連線保護;「VLESS + TCP + REALITY」也是由多項設定組成的連線方案。只看到 VLESS 這幾個字母,還無法判斷使用哪個連接埠、是否需要公鑰,或是否支援某種 flow。

VLESS 的 none 代表未加密嗎?

encryption=none不代表整條連線都是明文;首先表示常見的 VLESS 設定沒有在該協定欄位啟用額外加密。若連線使用 TLS 或 REALITY,用戶端與代理伺服器之間仍受到相應保護。反過來說,如果沒有這些保護,也沒有可信任的外部安全通道,就不能只憑 VLESS 這個名稱判斷連線是否安全。

HTTPS 網站的加密與代理連線的加密並非同一回事。瀏覽 HTTPS 網站時,瀏覽器與網站之間還有網站本身的 TLS;代理協定的安全層則保護用戶端到代理伺服器這一段。VMess 搭配 TLS 可能在這段連線上形成額外的加密封裝,但不能因此推論所有情況都應關閉 TLS。

為什麼 VMess 更需要確認系統時間?

VMess 驗證會使用與時間相關的資訊;用戶端與伺服器的時鐘差距過大時,即使參數正確也可能驗證失敗。別把「顯示的時區不同」和「實際時間錯誤」混為一談:兩台裝置顯示不同的當地時區,只要代表同一個時間,通常不會造成驗證時間差。

  1. 先在 Windows 同步時間:開啟「設定」→「時間與語言」→「日期與時間」,啟用「自動設定時間」,再選擇「立即同步」。若同步失敗,先排除裝置網路或時間服務問題。
  2. 先在 Android 啟用網路時間:通常可在「設定」→「系統」→「日期與時間」中啟用自動設定時間;不同裝置的選單名稱可能略有差異。
  3. 有伺服器管理權限再檢查伺服器:Linux 可執行 timedatectl status 查看時間同步狀態。用戶端時間正確,不代表伺服器時間也正確。
  4. 重新建立連線:同步時間後重新連線,檢查新產生的記錄,不要繼續依據同步前留下的錯誤記錄判斷。

VLESS 也不能忽略裝置時間。傳統 VLESS 驗證不像 VMess 那樣採用時間窗口,但 TLS 憑證有效期限檢查、REALITY 相關驗證,以及部分新擴充功能仍可能受時間影響。排除問題時先校正時間,成本低,也不會破壞節點參數。

VLESS 一定比 VMess 快嗎?

不一定。協定封裝較精簡,只會影響部分效能。在相同線路與安全設定下,減少重複加密可能降低處理負擔;但實際下載速度還會受到頻寬、封包遺失、往返延遲、伺服器負載、傳輸方式及裝置加密效能影響。不同出口的兩個節點不能直接用來證明哪種協定較好。

保留已確認可用的訂閱設定

建議

現有 VMess 或 VLESS 節點能穩定應付日常需求時,先維持原設定。選擇應依據實際連線結果,而不是只看協定名稱就更換。

適用對象:一般使用者、沒有伺服器管理權限的訂閱用戶。

在可控制的條件下比較 VLESS 方案

只有在伺服器確實提供兩種入口時,才固定出口、測試目標與測試時段進行比較。若只有一組可用參數,就無法只靠用戶端升級協定。

適用對象:自行維護伺服器、需要找出效能瓶頸的使用者。

測試時可讓每個入口各完成 3 輪相同操作,記錄首次連線是否成功、下載固定檔案所需時間及記錄中的錯誤,再比較中位數。這是測試方法,並非本站提供的實測結果。延遲測試有回應,不代表網頁瀏覽、網域解析與大型檔案傳輸都正常。

判斷方式:先排除線路差異,再討論協定負擔

如果兩個節點的伺服器或出口不同,先記錄為「節點表現不同」,不要據此修改 encryption 或 flow。只有在可控制條件下進行比較,才能判斷更換協定是否值得。

v2rayN 中哪些欄位必須確認?

優先匯入完整訂閱或分享連結,再開啟節點編輯視窗確認,不要依照截圖拼湊參數。v2rayN 常見操作方式是選擇「訂閱分組」→「訂閱分組設定」新增訂閱,再透過「訂閱分組」選單更新;選取節點後按右鍵選擇「編輯伺服器」。不同版本的介面選單文字可能略有差異,請以實際顯示為準。

欄位檢查項目常見誤區
位址與連接埠須與伺服器入口完全一致看到 TLS 就把連接埠硬改成 443;443 只是常見連接埠,並非必要設定
使用者 ID/UUID完整匯入,不要增刪任何字元把訂閱帳號密碼填入 UUID
VMess alterId現代 AEAD 設定通常為 0,請依照提供方參數確認照抄舊教學中的非零數值
VLESS encryption須與伺服器及核心支援相符,常見值為 none改成 VMess 的 auto 或 AES 名稱
VLESS flow僅在伺服器指定時填寫,例如 xtls-rprx-vision替所有 VLESS 節點一律新增 Vision
傳輸方式與路徑確認 TCP、WebSocket 等方式;使用 WebSocket 時也要確認 path 和 Host把 WebSocket Host 與 TLS SNI 當成同一個欄位
TLS / REALITY確認安全類型、伺服器名稱及必要的驗證參數只修改安全類型,漏掉其他必要欄位

flow=xtls-rprx-vision不是通用的加速按鈕。伺服器與用戶端核心都必須支援相應組合,也不是所有 WebSocket 節點都能使用。若出現「不支援 flow」之類的錯誤,先比對原始訂閱與核心支援情況,不要隨意嘗試欄位值。

節點入口連接埠也不同於本機監聽連接埠。例如伺服器入口使用 443,本機代理監聽則使用 127.0.0.1:10808,兩者可以同時存在。這裡的 10808 僅為範例;瀏覽器或終端機應填入用戶端實際顯示的本機連接埠,不要把伺服器連接埠當成本機代理連接埠。

桌面版與 Android 能共用同一份訂閱嗎?

可以嘗試共用,但同一份訂閱不保證每個節點都受不同核心支援。v2rayN 是桌面版用戶端,v2rayNG 在 Android 上使用 Xray 核心,v2flyNG 則在 Android 上使用 v2fly 核心。協定擴充、安全層與傳輸能力取決於核心版本;尤其不能假設某個平台可用的 REALITY 或 Vision 設定在所有平台都適用。

同步方式:共用訂閱來源,分別確認連線

桌面版:v2rayN
  • 在訂閱分組中新增提供方提供的原始連結。
  • 確認目前使用的核心是否支援節點的完整設定組合。
  • 確認本機監聽連接埠與系統代理狀態,再瀏覽目標網站。
Android:v2rayNG 或 v2flyNG
  • 從訂閱管理入口新增相同來源,再執行更新。
  • 先確認核心支援情況,再處理不支援的協定擴充。
  • 啟動連線並授予系統要求的 VPN 權限,再分別確認連線。

訂閱同步的是節點參數,不會同步桌面版的系統代理、Android 的分應用程式設定,或兩端的核心支援能力。

訂閱連結應妥善保密。向他人求助時,可提供錯誤類型、用戶端與核心版本、傳輸方式及已去識別化的記錄;不要公開完整訂閱 URL、UUID 或含有驗證資訊的 QR Code。參數經過截斷或去識別化後,也不適合再當成可直接匯入的節點使用。

匯入後無法連線,先檢查哪裡?

先分辨「無法連上伺服器」和「已連線,但應用程式沒有走代理」。前者著重檢查位址、連接埠、驗證及傳輸安全參數;後者則檢查系統代理、應用程式本身的代理設定、DNS 與路由分流。每次只修改一項,並保留原始訂閱設定,才能確認哪個步驟真正有效。

VMess 昨天還能用,今天卻一直驗證失敗?

先到系統日期與時間設定中同步時間,再更新訂閱並重新連線。若仍然失敗,請確認 UUID、alterId 與帳戶狀態;不要只憑「驗證失敗」就斷定節點已失效。

把 VMess 改成 VLESS 後,為什麼反而連不上?

還原原始節點,重新匯入提供方提供的完整分享連結。兩種協定的交握方式與參數不同;只有伺服器另外提供 VLESS 入口時,才能使用相應的位址、連接埠與安全設定連線。

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

不需要。先確認 TLS 或 REALITY 是否依照訂閱啟用,並保留伺服器提供的 encryption 值。VMess 的加密選項不能套用到 VLESS;若來源只提供未加密的連線參數,請向提供方確認安全方案。

節點測試有回應,瀏覽器卻無法開啟網頁?

在 v2rayN 主畫面或系統匣選單中檢查「系統代理」,確認應用程式使用的本機連接埠與用戶端監聽連接埠一致。接著查看記錄中的 DNS、連線與路由錯誤;系統代理不會自動套用至所有終端機程式。

同一份訂閱在另一台裝置上少了幾個節點?

先確認兩端都已完成更新,再比較用戶端與核心版本,並檢查匯入記錄是否指出不支援的協定或欄位。不要把節點匯入失敗和連線逾時混為一談,也不要刪除安全參數來強行匯入。

最後應依據完整方案選擇,而不是只看名稱。現有 VMess 節點穩定可用,就維持原設定;取得完整 VLESS 設定後,則確認外層安全機制與核心支援情況。若還需要整理用戶端基本設定,可先閱讀快速入門教學;路由與 DNS 的進一步檢查請參閱進階設定。

下載v2rayN