VMess 與 VLESS 有什麼不同?在 Shadowrocket 新增節點前必讀

VMess 與 VLESS 在加密方式、UUID 和傳輸設定上各有不同。本文整理一般使用者需要了解的重點,協助你依服務商提供的參數正確填寫 Add Server。

本文重點

在 Shadowrocket(小火箭)中,VMess 和 VLESS 無法只靠切換 Type 互相轉換。本文適合已向自己的服務商取得參數或訂閱的使用者:先了解協定驗證、傳輸方式與 TLS,再透過 Add Server 核對欄位,最後判斷問題出在連線還是規則分流。訂閱連結請向你的服務商索取;本站不提供、不販售或推薦節點、訂閱或服務商。

一、VMess 與 VLESS 的主要差異

簡單來說,應選擇服務商實際部署的協定,不要只憑名稱判斷哪個一定比較快。VMess 有自己的驗證與資料加密機制;VLESS 本身不負責資料加密,需依實際傳輸方式與安全層判斷連線是否受到保護。兩者都常使用 UUID 欄位,但 UUID 相同,不代表同一個伺服器連接埠能同時接受這兩種協定。

比較項目VMessVLESS
驗證識別碼使用 UUID 等驗證參數,必須與伺服器端設定一致。以 UUID 作為使用者識別碼,必須與伺服器端設定一致。
協定資料加密協定本身具備加密機制;具體加密選項請依服務商提供的參數設定。協定本身不提供資料加密;不能因此推斷外層沒有 TLS。
傳輸方式可搭配不同傳輸方式,必須與伺服器設定相符。同樣必須符合伺服器的傳輸方式與相關參數。
TLS若伺服器端使用 TLS,客戶端必須設定相符的選項。是否使用 TLS 及其參數,取決於實際伺服器端設定。
互相替換不能只修改 Type;必須具備相應協定的完整伺服器端參數。

VMess 的現代驗證方式通常涉及 AEAD。舊參數中的 AlterId 不應憑猜測填入;若舊資料與目前匯入的結果不一致,請向服務商確認現行設定。VLESS 參數若出現 encryption=none,表示的是協定這一層的設定,不代表要關閉 TLS,更不代表可以忽略憑證錯誤。

「VLESS 比 VMess 快多少」沒有一體適用的答案。伺服器負載、網路往返時間、封包遺失、傳輸方式與目標網站都會影響結果。若只更換協定名稱,卻沒有控制這些條件,就無法得出可供參考的速度結論。

二、分清 UUID、傳輸方式與 TLS 三層設定

新增前,先將資料分成三類:連線目的地、驗證方式,以及連線承載方式。Address 和 Port 決定連線目的地,UUID 用於驗證;WebSocket 等傳輸方式與 TLS 則決定連線如何建立。把不同層次的設定混在一起,是「欄位看似都填了,卻還是連不上」的常見原因。

2 種
本文比較的協定:VMess / VLESS
36 個字元
包含連字號的標準 UUID 文字格式
443
常見的 TLS 連接埠範例,並非協定固定使用的連接埠

結論:分層核對,不要用同一個網域填滿所有欄位

先確認 Address 和 Port,再核對 UUID,最後逐項檢查傳輸方式、Host、Path 與 TLS 伺服器名稱。只有在服務商明確提供相同值時,才將同一個網域填入多個欄位。

三、依照參數在 Add Server 新增設定

以下以在 Home 手動新增為例;不同平台的按鈕位置可能有所不同,請以目前介面顯示的欄位為準。若已有訂閱,建議優先使用服務商提供的完整訂閱匯入,減少手動抄寫時漏掉欄位的情況。訂閱匯入與手動使用 Add Server 是兩種設定來源,並非兩種協定。

  1. 保留原始資料。確認資料使用的是 VMess 還是 VLESS,並記下 Address、Port、UUID、傳輸方式與 TLS 參數。不要拿另一筆資料的連接埠或 Path 拼湊新設定。
  2. 開啟 Home → Add Server。先將 Type 設為資料中標示的 VMess 或 VLESS,再填入 Address 和 Port。若選錯類型,後續顯示的欄位也可能不同。
  3. 填入 UUID 與協定選項。VMess 的加密選項請依提供的參數設定;VLESS 若還有 Flow 等附加參數,也必須與伺服器端設定一致,不要從其他資料照抄。若目前介面無法設定必要參數,請先確認這份設定是否適用。
  4. 設定傳輸方式。只有服務商要求使用 WebSocket 時,才填入相應的 Host 與 Path;若不是 WebSocket,請勿為了套用教學而強行啟用。請確認匯入資料中的傳輸名稱與客戶端選項相符。
  5. 設定 TLS。依照資料啟用或停用 TLS,並核對伺服器名稱。請保持正常的憑證驗證;遇到憑證錯誤時,先檢查網域、系統時間與伺服器端設定,不要以略過驗證取代問題修復。
  6. 儲存並選取設定。返回 Home,確認目前選取的是剛儲存的設定,再進行連線測試。儲存成功只代表設定已寫入,不代表遠端伺服器已完成驗證。

四、匯入訂閱後,為什麼還要檢查參數

訂閱是一種傳送一組設定的方式;協定則是其中每筆設定使用的連線方式。同一份訂閱可以包含不同協定。訂閱下載成功,只能表示資料已成功取得並解析,不能證明其中每筆設定目前都能連線。

向服務商回報時,提供協定類型、傳輸方式、錯誤發生階段與已檢查的欄位即可。請遮蔽 UUID、訂閱 token 與完整分享內容;這些都不是排查說明中必須公開的資訊。

五、連線失敗時,先區分協定問題與分流問題

Home 顯示連線已啟用,不代表某個網頁已透過所選設定連線。Global Routing 會決定流量如何選擇路徑;若規則沒有將請求導向代理,即使設定參數正確,目標請求仍可能走 Direct。請先確認目前使用的模式,再判斷 VMess 或 VLESS 設定是否有誤。

Global Routing → Config

建議

依照目前 Config 的規則與策略處理請求。需要檢查規則順序與最後命中的策略,並非所有請求都會經過所選代理。

適用情境:已核對規則的日常分流

Global Routing → Proxy

將可代理的流量交由目前的代理路徑處理,適合暫時用於比對,減少規則分流造成的變因;但不能因此保證所有系統流量都會經過代理。

適用情境:短暫確認問題是否與 Config 規則有關

Global Routing → Direct

使用直連路徑。此時網頁可以開啟,並不足以證明剛填寫的 VMess 或 VLESS 設定可用。

適用情境:比對本機網路的直連狀況

若目前使用 Scene,也要確認該場景實際採用的策略,不要只憑名稱判斷流量路徑。Config 中的 DOMAIN-SUFFIX、GEOIP、IP-CIDR 與 FINAL 是分流規則關鍵字,並非協定選項。排查時,先確認流量是否交由代理處理,再檢查代理是否成功交握。

  1. 一直逾時:先檢查 Address 是否能正確解析、Port 是否與資料一致,以及目前網路能否連到伺服器。逾時本身無法證明 UUID 有誤。
  2. TLS 階段發生錯誤:核對系統時間、SNI 與憑證名稱,並確認伺服器端確實在該連接埠提供相應的 TLS 服務。
  3. WebSocket 交握異常:核對 Path、Host 與傳輸類型。HTTP 層的拒絕回應和 UUID 驗證失敗,發生在不同階段。
  4. 交握後立即中斷:接著核對 Type、UUID 與協定附加參數。VMess 也應檢查裝置時間是否有明顯偏差,因為其驗證程序與時間相關。
  5. 只有部分網站無法使用:檢查 DNS、規則命中情況與目標網站是否可連線,不要立刻把整筆設定從 VMess 改成 VLESS。

六、填寫設定前後的常見問題

UUID 相同,為什麼把 VMess 改成 VLESS 就連不上?

UUID 只是驗證資料的一部分,伺服器端還必須接受相應協定。請返回 Home 開啟該設定的編輯頁面,還原原本的 Type;若要使用 VLESS,請向你的服務商索取完整的 VLESS 參數,不要只沿用原本的 UUID。

VLESS 顯示 none,是不是應該關閉 TLS?

不是。請先確認 none 對應哪個欄位。協定的 encryption 與外層 TLS 是不同設定;請在設定編輯頁面依原始資料檢查 TLS 和伺服器名稱,不要把某個欄位的值套用到另一個開關。

測試有延遲,但網頁還是打不開,應該先換協定嗎?

先不要。延遲測試的意義取決於測試方式,不代表通往目標網頁的整條連線都正常。先在 Home 確認選取的設定,再核對 Global Routing;必要時可短暫切換至 Proxy 進行比對,之後恢復原本模式,並繼續檢查 DNS 與目標請求的規則路徑。

手動關閉連線後又自動連線,是參數填錯了嗎?

先檢查 Settings → On Demand 是否啟用了自動連線條件。On Demand 會影響連線觸發方式,不會修正 UUID、Host 或 Path。排查期間可以暫時關閉相關條件,完成後再依自己的使用需求恢復。

取得 Shadowrocket 並查看匯入教學

iPhone / iPad 版於 App Store 一次性付費 $2.99;Mac(Apple 晶片 / Intel)、Windows、Android、Linux 版免費。前往本站下載頁選擇平台;iPhone / iPad 的系統需求以 App Store 頁面標示為準。產品頁開發者為 Shadow Launch Technology Limited,App ID 為 932747118。

客戶端一次買斷 ≠ 連線服務方案。若已有訂閱,請向你的服務商索取;安裝完成後,可依快速上手指南匯入,再返回本文逐項檢查協定參數。

下載 Shadowrocket