VMess 與 VLESS 有什麼差異:Shadowrocket 手動設定欄位解析

整理一般使用者需要了解的差異:加密方式、UUID、alterId 與 TLS 的關係,以及在 Add Server 手動設定時,哪些欄位必須與服務商提供的參數一致。

本文重點

VMess 與 VLESS 不能只改 Type(類型)就互相轉換。兩者都可能使用 UUID,但協定層加密、alterId 和傳輸安全的意義並不相同。本文適合已取得服務商參數、準備在 Shadowrocket 手動設定的使用者:先分清協定與 TLS,再依序核對位址、連接埠、身分憑證和傳輸欄位,最後透過一次只測一個變因來找出問題。

先分清三個層次:協定、傳輸與 TLS

在 Shadowrocket(小火箭)中,VMess 或 VLESS 是連線項目的協定類型;WebSocket 等則描述承載資料的傳輸方式;TLS 負責傳輸層的加密與身分驗證。三者不是同一個設定。看到服務商標示「VLESS + WebSocket + TLS」時,應分別核對這三組參數,不能只填入 VLESS 和 UUID 就算完成。

VMess 具備協定層的驗證與加密機制,實際採用的加密選項必須與伺服器相容。VLESS 本身不提供負載加密,身分驗證也不等於加密。常見部署會搭配 TLS 等安全傳輸機制使用 VLESS,但不能因此把所有 VLESS 連線項目都一律設成相同的 TLS 參數。

核對項目VMessVLESS
身分憑證通常使用 UUID,必須與伺服器端一致通常使用 UUID,必須與伺服器端一致
協定層加密有獨立的加密設定,依伺服器端參數設定協定本身不提供負載加密
alterId歷史相容欄位;現代 AEAD 設定使用 0不使用 VMess 的 alterId
TLS可與協定層加密並存,依部署方式啟用常用於保護傳輸,不能以 UUID 取代
傳輸參數傳輸類型、Host、Path 等須與伺服器端一致同樣要逐項核對,不能直接照搬其他連線項目的設定

協定名稱本身無法決定連線速度或可用性。即使兩筆連線項目都標示為 VLESS,也可能使用不同的伺服器、連接埠、傳輸方式和 TLS 設定。排查時應比較完整參數,而不是只憑名稱判斷哪一個一定比較快。

UUID、alterId 與加密:哪些值不能猜

UUID 是身分識別碼,不是伺服器位址,也不是可以自行產生後直接使用的暱稱。常見的文字格式為含連字號的 36 個字元,其中包含 32 個十六進位字元。複製時請檢查前後空白、換行及連字號是否缺漏;即使格式正確,只要與伺服器端登記的身分不符,驗證仍會失敗。

36 個字元
常見的含連字號 UUID 文字長度;格式正確不代表身分有效
0
現代 VMess AEAD 設定使用的 alterId 值,不是調整速度的參數
443
常見 TLS 伺服器連接埠範例;實際連接埠必須使用提供的值

alterId 是 VMess 的歷史設計。現代 VMess AEAD 設定使用 alterId=0;不要依照舊資料任意改成 16、32 或 64。如果現有參數明確提供非零值,應先向你的服務商確認目前伺服器端的要求,而不是把舊參數當成所有連線通用的設定。VLESS 沒有需要照搬的 VMess alterId 欄位。

VMess 的加密選項與 TLS 是兩層不同的設定。例如參數中出現 auto、aes-128-gcm 或 chacha20-poly1305 時,應確認它屬於哪個欄位,並依原始參數設定。不能把「VLESS 本身不加密」解讀成所有連線項目都應關閉 TLS,也不能把某個 VMess 加密選項直接填入 VLESS。

判斷方式:先核對身分,再確認傳輸保護方式

UUID 格式有誤時,先重新複製原始值;格式正常但仍連線失敗,再核對 Type、VMess 的 alterId 與加密設定,以及 TLS 狀態。不要反覆更換 UUID 或關閉憑證驗證碰運氣。

Add Server 手動設定順序:先填基本欄位,再填傳輸欄位

參數請向你的服務商取得。如果已有可匯入的完整訂閱,先透過匯入結果核對欄位,通常比重新手動輸入更不容易漏填。買斷用戶端不等於購買線路方案;本文只說明如何填寫及檢查你已有的參數,不提供連線憑證。

  1. 開啟新增頁面。在 Home(首頁)點選右上角的新增按鈕,進入 Add Server(新增伺服器)。先將 Type(類型)選為 VMess 或 VLESS;變更類型後,請重新檢查頁面上可用的欄位。
  2. 填寫連線目標。將伺服器網域或 IP 填入 Address(位址),並將指定的連接埠填入 Port(連接埠)。Address 欄位通常不應包含 https://、路徑或連接埠後綴。服務商提供哪個連接埠,就填入哪個;不能因為啟用 TLS 就自行改成 443。
  3. 填寫身分與協定參數。將 UUID 複製到對應的身分欄位。VMess 還要核對 alterId 和加密設定;VLESS 不套用 VMess 的這些值。欄位名稱可能因協定和介面語言而異,應依參數用途對應,而非只看排列順序。
  4. 選擇傳輸方式。依原始參數設定傳輸類型。使用 WebSocket 時,還要核對 Host(主機)與 Path(路徑);使用其他傳輸方式時,不要為了「填完整」而硬加 WebSocket 專用欄位。
  5. 核對 TLS。依指定狀態啟用或關閉 TLS,並核對 Server Name / SNI(伺服器名稱)、憑證驗證及其他指定選項。若參數還包含明確指定的 Flow 等協定選項,也應保留原值;不要自行新增。
  6. 儲存後返回 Home。檢查新連線項目的類型和名稱,選取該項目後再進行測試。不要覆寫唯一可用的連線項目;保留原項目,方便比對與還原。

TLS、Host、Path:同一個網域也可能填錯欄位

TLS 不只是「開啟加密」。正常的憑證驗證還要確認憑證是否受信任、是否在有效期限內,以及目標名稱是否相符。如果 Address 使用 IP,而憑證是簽發給網域,服務商可能會另外提供 SNI;此時應保留各欄位原本的用途,不要直接把 IP 複製到所有名稱欄位。

核對方式:分開檢查傳輸欄位與 TLS 欄位

WebSocket 傳輸
  • 傳輸類型必須與伺服器端一致。
  • Host 使用指定的請求主機名稱,不要加上協定前綴。
  • Path 保留開頭的斜線、大小寫及原有查詢參數。
  • /ws 和 /WS 不能視為可以任意互換。
TLS 安全設定
  • TLS 狀態須與原始參數一致,不要依連接埠號碼猜測。
  • SNI 使用指定的伺服器名稱,通常不含路徑和連接埠。
  • 保留憑證驗證;遇到錯誤時,先核對名稱與系統時間。
  • 只有明確提供 ALPN 等附加參數時,才依原值填寫。

先確認是哪個層次發生問題,再修改對應欄位;TLS 交握失敗時,修改 WebSocket Path 通常無法解決憑證問題。

例如,現有參數指定 Port 為 443、WebSocket Path 為 /ws,只能代表該連線項目的兩個特定值,並不表示所有 VMess 或 VLESS 都使用這種組合。本文中的連接埠與路徑僅用來說明欄位,不能拼成可實際連線的設定。

如何選擇加密設定:保留指定值,不要反覆替換測試

手動設定時,容易把「可以選擇」誤解成「可以任意選擇」。VMess 的加密設定必須與協定實作及伺服器端要求相容;TLS 狀態則須與伺服器入口一致。正確做法不是挑看起來更強或更快的名稱,而是準確還原原始參數。

加密與 TLS:保留指定值

建議做法

VMess 加密選項依原始參數填寫,TLS 狀態與伺服器入口一致;VLESS 則單獨核對傳輸保護方式,不要套用 VMess 的加密欄位。

適用情況:初次手動設定、匯入訂閱後複核、排查已有完整參數的連線

加密與 TLS:自行替換選項

只修改用戶端選項,並不會同步改變伺服器端。任意關閉 TLS、更改連接埠或切換協定加密,可能引發新的交握與驗證錯誤,不適合作為一般排查方式。

適用情況:僅在伺服器端參數已明確變更,且已取得對應新值後同步修改

操作原則:每次只修改一個已確認有誤的欄位

先記錄原始值,再修改並對同一目標重新測試。如果同時變更 Type、連接埠、TLS 和 Path,即使連線恢復,也無法判斷真正原因;日後更新訂閱時,也更容易再次發生設定不一致。

儲存後仍無法連線:依失敗階段逐項檢查

延遲數值正常,不代表整條連線已完成驗證。不同測試可能只測到目標連接埠是否可連、連線是否建立,或某項請求的回應時間,不能只憑單一數值確認 UUID、TLS 和傳輸欄位都正確。測試時請記錄「是否能建立連線、是否出現憑證錯誤、是否只有特定網站無法使用」等可供區分的現象。

  1. 先確認已選取新項目。在 Home(首頁)確認目前選取的項目,避免測試仍使用舊項目。必要時先停止連線,再重新啟用並發出新的請求。
  2. 連線逾時時先檢查目標。確認 Address 和 Port 沒有漏字或黏在一起;也可改用其他可用的網路重新測試。連接埠無法建立連線時,不要先把問題歸咎於 UUID。
  3. 發生 TLS 錯誤時先檢查名稱與時間。確認裝置系統時間正確,且 SNI 與原始參數一致。憑證過期或伺服器端設定異常,應由服務商處理;不要把略過驗證當成長期解決方式。
  4. 交握後立即中斷時,再檢查驗證與傳輸設定。重新核對 UUID、VMess 的 alterId 與加密設定,以及 WebSocket 的 Host、Path。僅憑中斷現象無法判定單一原因,應配合可取得的連線錯誤資訊判斷。
  5. 只有部分請求失敗時,檢查路由設定。開啟 Home → Global Routing(全域路由),核對目前的選擇。Proxy(代理)可用於暫時排除規則比對的干擾,但仍需要有效的連線項目;Direct(直連)無法驗證該連線項目的代理連線是否成功。測試後請還原原本的路由設定。

Config(設定)管理規則等設定內容,無法修正填錯的 UUID;On Demand(隨選連線)管理連線觸發條件,也無法補上缺少的 TLS 參數。應先讓單一連線項目在明確的測試條件下正常運作,再檢查自動連線與規則分流,避免多個變因混在一起。

手動設定常見問題:切換協定、更新訂閱與隱藏敏感資訊

UUID 相同,就能直接將 VMess 改成 VLESS 嗎?

不能只憑這點判斷可以轉換。兩者的交握方式與欄位要求不同,伺服器端必須提供對應的協定入口。請先向你的服務商取得完整的 VLESS 參數,再新增獨立項目;不要只修改原項目的 Type。

VLESS 沒有協定層加密,是不是一定要手動啟用 TLS?

先確認原部署採用的安全傳輸方式。常見的 VLESS 設定會依賴 TLS 等機制保護傳輸,但用戶端單方面啟用 TLS,無法將一般入口變成 TLS 入口。如果原始參數未說明傳輸保護方式,請先向你的服務商確認,不要自行猜測。

更新訂閱後,手動修改的內容為什麼不見了?

更新訂閱時,可能會重新寫入由訂閱管理的項目。先在 Home(首頁)區分訂閱項目與獨立手動設定的項目;需要比對時,請新增獨立項目並保留原項目。如果訂閱內容本身有誤,應向你的服務商核對來源參數,不要反覆修改後又被更新覆寫。

請人協助檢查欄位時,哪些資訊要遮蔽?

請遮蔽完整 UUID、訂閱連結中的 token、密碼及完整分享連結。可以提供 Type、傳輸類型、是否啟用 TLS、錯誤現象,以及已去除敏感資訊的欄位結構。複製到公開文字前請再檢查一次;QR Code 也可能包含完整憑證。

最後依序核對:Type → Address 與 Port → UUID → 協定專屬欄位 → 傳輸方式 → TLS 與名稱欄位。原始參數不完整時,先補齊資料;不要拼用其他連線項目的網域、路徑或身分憑證。若要複習訂閱匯入與管理,請參閱訂閱手冊;初次使用者可先依入門指南完成系統授權與基本連線檢查。

App Store 正版確認