VMess 與 VLESS 有何不同:在 Shadowrocket 選擇 Type 前先看這篇

以淺白方式說明 VMess 與 VLESS 在加密、UUID、傳輸層及 TLS 設定上的差異,以及手動填寫時哪些欄位必須與服務商提供的資料一致。

本文摘要

在 Shadowrocket(小火箭)手動新增既有伺服器時,Type 應以自己的設定資料為準。VMess 與 VLESS 都可能使用 UUID,但兩者的協定處理方式不同;連線也取決於 Address、Port、傳輸層及 TLS 等欄位是否逐一吻合。下文提供核對順序與排查方式,不要憑名稱猜測連線設定。

先看結論:UUID 相同不代表 Type 相同

VMess 與 VLESS 是兩種不同的協定。VMess 的協定處理包含加密設定;VLESS 本身不提供相同的協定層加密機制,使用時須依照既有設定核對 TLS 等安全層設定。這裡談的是協定層差異,不是看到 VLESS 就該自行開啟 TLS,也不是 VMess 可以忽略伺服器指定的 TLS 參數。連線兩端的設定必須彼此吻合。

UUID 通常用來識別身分,無法單獨判斷一筆設定屬於 VMess 還是 VLESS。即使兩筆資料使用相同 UUID,只要 Type 或傳輸參數不同,也不能視為可互換的伺服器紀錄。先確認資料明確標示的協定,再填寫其他欄位,比逐一嘗試 Type 更容易找出問題。

依既有資料指定的 Type 填寫

建議

先確認資料標示的是 VMess 還是 VLESS,再逐項核對該協定對應的欄位;不要因為兩者都使用 UUID 就更改 Type。

適用情況:手邊有完整的伺服器參數或設定說明

只憑 UUID 選擇 Type

UUID 無法說明傳輸層、TLS 或協定類型;填入後即使成功儲存,也不能據此判定連線參數正確。

適用情況:辨認資料缺漏,或需要回頭核對

2 種
此處比較的 Type:VMess、VLESS
4 項
先核對 Type、Address、Port、UUID
3 層
再核對傳輸層、TLS 與其他欄位

判斷順序:先確認協定,再檢查連線細節

如果資料沒有註明 VMess 或 VLESS,請先向提供設定資料的一方確認 Type;不要只憑 UUID、Port 或是否啟用 TLS 反推協定。

在 Add Server 手動填寫時,先核對哪些欄位

已有自己的伺服器資料時,可在 Shadowrocket 的 Add Server 選擇相應的 Type 後填寫。可填欄位會依 Type 與傳輸設定而異;請保留原始資料並逐項對照,不要把一筆設定的 Address 和另一筆設定的 UUID 拼在一起。如果拿到的是完整訂閱連結,通常可先用 Subscribe 匯入,再檢查匯入的紀錄,避免手動抄寫時遺漏欄位。

  1. 核對 Type:資料寫 VMess 就選擇 VMess,寫 VLESS 就選擇 VLESS。如果資料只提供一組 UUID,應先確認協定類型。
  2. 核對 Address 與 Port:Address 填入伺服器提供的網域或位址,Port 填入相應的連接埠號碼。VMess 或 VLESS 並沒有統一固定的 Port;即使看到常見的 443,也不能因此省略核對。
  3. 核對 UUID:依原值完整填寫,留意複製時是否混入空格、換行或相似字元。UUID 必須與這筆伺服器紀錄相符,不能只因格式相同就挪用其他資料的值。
  4. 核對其他選項:若資料還列出 Encryption、傳輸類型、TLS、SNI、Host 或 Path,請分別找到對應設定;未明確提供的值不要自行編造。

兩種資料的填寫順序

已有完整伺服器參數
  • 在 Add Server 先選擇資料指定的 Type。
  • 填寫 Address、Port、UUID,再核對傳輸層與 TLS。
  • 儲存後重新檢查欄位,確認沒有遺漏其他參數。
已有完整訂閱連結
  • 透過 Subscribe 匯入自己的連結。
  • 等候更新完成,再查看匯入紀錄的 Type 與欄位。
  • 如果清單是空的,先檢查連結及訂閱回傳內容。

無論使用哪種方式,都應以同一份既有設定資料為準;匯入方式不會替伺服器補上缺漏的參數。

Encryption、傳輸層與 TLS:分開檢查,不要混為一個開關

VMess 的 Encryption 是協定相關設定,應依照既有設定填寫。VLESS 與 VMess 的協定層處理方式不同,因此不能把 VMess 的 Encryption 值直接套用到 VLESS。TLS 則是另一層設定:是否使用 TLS、需要哪個伺服器名稱,以及憑證相關驗證,都要依這筆設定的伺服器要求核對。單看某個欄位空白,不能推斷其他層也該關閉。

傳輸層描述如何承載協定資料,常見設定可能標示 TCP、WebSocket 或 gRPC。WebSocket 的 Host 與 Path 是傳輸參數;TLS 的 SNI 用於伺服器名稱指示,不能因為兩個欄位都可能填入網域名稱,就認定它們可以互相替代。實際介面會顯示哪些選項,依所選 Type 與目前 App 內的設定而定。

資料欄位核對項目容易混淆之處
EncryptionVMess 紀錄指定的協定相關值不要把它當成 TLS 開關,也不要直接套用到 VLESS。
Transport伺服器指定的 TCP、WebSocket 或其他傳輸方式Type 相同,不代表傳輸方式也相同。
TLS 與 SNI是否啟用 TLS,以及資料指定的伺服器名稱SNI 不一定等於 Address,請逐項核對。
Host 與 Path使用 WebSocket 時,資料指定的請求參數Path 中的斜線與字元須依原值填寫;Host 不能取代 SNI。

例如,資料若同時列出 Port: 443、TLS: on 和以 / 開頭的 WebSocket Path,手動填寫時就要分別核對 Port、TLS 與 Path。443 只是此處的示意連接埠,並非 VMess 或 VLESS 的必要 Port;Path 也不能靠網域名稱猜出來。若資料缺少傳輸方式或 TLS 要求,應先補齊資訊再排查連線問題。

儲存後仍無法連線:依現象縮小檢查範圍

成功儲存只表示紀錄已加入清單,不代表伺服器已接受連線。排查時先確認選取的紀錄就是剛才填寫的那筆,再查看連線測試或實際瀏覽的結果。每次只修改一個可疑欄位,並保留原始資料,方便比較修改前後的狀況;若同時反覆更換 Type、Port 與 TLS,就很難追查原因。

VMess 與 VLESS 都能選,應該先試哪一個?

先查看原始資料標示的協定。即使兩者使用相同 UUID,也必須分別符合伺服器設定;若沒有標示 Type,應確認資料來源,不要根據連線結果猜測協定。

填入 UUID 後仍顯示連線失敗,該先檢查什麼?

先核對 Address 與 Port 是否屬於同一筆紀錄,再檢查 UUID 是否因複製而帶入空格。接著依資料核對傳輸方式與 TLS,不要只是不斷修改 UUID。

WebSocket 的 Host、Path 與 TLS 的 SNI 如何區分?

依照資料中的欄位名稱分別填寫:Host、Path 屬於 WebSocket 參數,SNI 屬於 TLS 參數。若資料提供不同的網域名稱,就分別填入,不要用 Address 一次取代所有欄位。

匯入訂閱後,Type 與手邊的文字說明不同?

先確認訂閱已更新完成,而且目前查看的是同一筆紀錄,再向設定資料提供方確認實際回傳內容。除非手邊有完整對應參數,否則不要只修改 Type,卻保留其他匯入欄位。

如果測試顯示逾時,優先核對 Address、Port、目前網路是否能連到伺服器,以及伺服器是否仍使用這組參數;如果已建立連線,但瀏覽結果不如預期,再檢查所選紀錄與路由設定。不同狀況不能直接歸結為「VMess 比 VLESS 快」或相反:連線結果同時受到伺服器設定、網路路徑、傳輸層與路由模式影響。

確認 Type 正確後,再區分協定問題與路由問題

Shadowrocket 的 Type 決定伺服器紀錄使用哪種協定;Global Routing 則決定流量如何經過已選取的連線。Global Routing 中的 Proxy、Direct、Config 是路由模式,不是 VMess 或 VLESS 的別名。若目前是 Direct 模式,流量會依直連方式處理;不能只憑網頁能開啟,就判定剛填寫的伺服器紀錄已生效。

因此,排查可分成兩步:先確認選取的紀錄與路由模式,再核對連線;接著回到日常使用的 Config 檢查規則。若問題只出現在特定網域,查看該請求符合的規則,比反覆切換 VMess 與 VLESS 更有方向。Settings → On Demand 管理的是依條件觸發連線的行為,不能取代 Type 或伺服器欄位的核對。

送出前核對清單

手動填寫或更新完成後,請將 App 內的紀錄與原始資料並排核對。最重要的是所有值都來自同一筆設定:協定名稱、位址、連接埠、身分識別碼、傳輸方式與安全層設定,任何一項缺漏都可能讓連線結果不如預期。若資料本身不完整,App 介面無法替使用者判斷伺服器實際採用哪組參數。

  1. Type 明確標示為 VMess 或 VLESS,且與既有資料一致。
  2. Address、Port、UUID 都對應同一筆紀錄;複製的內容沒有多餘空格或換行。
  3. VMess 的 Encryption、所選傳輸方式及其附加欄位均依資料填寫;不要把 VMess 的設定直接套用到 VLESS。
  4. 已分別核對 TLS、SNI,以及使用 WebSocket 時的 Host、Path,沒有把網域欄位混為一談。
  5. 測試時確認所選伺服器與 Global Routing 模式;使用 Config 時,再查看規則如何處理目標請求。

如果目前透過 Subscribe 管理既有資料,參數變更後應先更新訂閱並檢查匯入紀錄,再決定是否需要手動編輯。Shadowrocket 可從 App Store 取得,開發者為 Shadow Launch Technology Limited;iPhone、iPad 等裝置的系統需求以 App Store 頁面標示為準。取得 App 與取得自己的伺服器設定是兩回事,App 一次性買斷不等於線路方案。

確認 Shadowrocket 取得管道與基本操作

先在正版查核頁確認 App Store 產品資訊;備妥自己的設定資料後,可依快速入門說明查看匯入與連線入口。

前往正版查核頁 查看教學
App Store 正版查核