Shadowrocket VMess 與 VLESS 差異:手動新增節點時應核對哪些欄位

以淺白方式比較 VMess 與 VLESS 的加密方式、UUID、傳輸層及 TLS 欄位,並說明在 Add Server 中如何對照服務商提供的參數。

本文重點

VMess 與 VLESS 不能只靠切換 Type 互相轉換。本文適用於已有服務商參數的 Shadowrocket(小火箭)使用者,依序核對協定、身分憑證、傳輸方式與 TLS。讀完即可分辨 UUID、Server、Host、SNI 各自的用途,並依錯誤發生的位置檢查設定,不必反覆猜測開關。

一、VMess 與 VLESS 的差異,先看哪一層

先說結論:選擇伺服器實際提供的協定,不要依名稱判斷速度。VMess 提供協定層的驗證與加密機制;VLESS 本身不提供流量加密,須搭配伺服器指定的安全層使用。VLESS 的協定加密欄位為 none,不代表整條連線一定是明文,也不代表應關閉 TLS。

手動設定時,請分開看「使用哪種協定識別使用者」、「資料透過什麼方式傳輸」及「如何保護連線」。WebSocket 是傳輸方式,TLS 是安全層,兩者都不是 VMess 或 VLESS 的同義詞。同一協定可以有不同組合,但用戶端設定必須與伺服器逐項一致。

核對項目VMessVLESS
協定身分以 UUID 識別使用者,涉及驗證與時間檢查以 UUID 識別使用者,但不能因此認定可與 VMess 通用
協定加密依伺服器參數選擇相符的加密設定,不要自行猜測協定加密為 none,仍須另外核對連線保護
傳輸方式核對 TCP、WebSocket 等具體要求同樣要核對實際傳輸方式及其附加欄位
安全層可能另行使用 TLS,應以提供的參數為準核對 TLS 或其他明確指定且目前 App 支援的安全設定

因此,沒有一套通用做法可以「複製 VMess 的 UUID,再把 Type 改成 VLESS 就完成升級」。即使兩組參數剛好使用相同 UUID,也必須確認伺服器確實提供相應的協定入口、連接埠與傳輸設定。

二、開啟 Add Server 前,先備妥完整參數

在 Home 點選右上角的新增按鈕,進入 Add Server,先選擇 Type,再填寫該類型顯示的欄位。不同 Type 或傳輸選項會影響後續欄位;本文以 UUID、SNI 等協定名稱說明欄位對應方式,實際輸入項目的名稱與位置請以目前 App 畫面為準。

  1. 確認參數屬於同一個入口。將協定、Server、Port、UUID、傳輸方式與安全層整理在同一份紀錄中,不要混用舊訊息中的連接埠與新設定中的網域。
  2. 分清單一設定與 Subscribe 位址。訂閱位址用來取得一組設定,不是 Server,也不是 UUID。若已透過 Subscribe 匯入項目,請優先比對其現有詳細資料,不要另建一筆缺少附加參數的副本。
  3. 保留原設定。手動排查前先記錄原始值;必要時新增測試項目,每次只修改一個欄位。後續訂閱更新可能會重新寫入由服務商管理的欄位,請勿把暫時修改當成永久修復。
  4. 備妥附加參數。若使用 WebSocket,另備 Host 與 Path;若使用 TLS,另備伺服器名稱與憑證要求。若 VLESS 明確提供 Flow,也應一併核對,不要自行填入。

三、Server、Port 與 UUID 分別怎麼填

Server 是要連線的伺服器位址,通常是網域或 IP 位址,不含 https://、網頁路徑或查詢參數。Port 是伺服器實際監聽的連接埠。填入 443 不會自動啟用 TLS,填入網域也不會自動產生正確的 SNI。

128 bit
UUID 的識別字串長度;常見文字格式為 8-4-4-4-12
1–65535
目標伺服器連接埠的數值範圍;實際值必須與提供的參數一致
443
常見的 TLS 伺服器連接埠,但連接埠號本身不代表已啟用 TLS

UUID 是協定身分憑證,不是備註名稱,也不是 Apple 帳號。複製時請保留連字號,移除前後空格與多餘換行;不要把參數中的整段 id=... 連同鍵名一起填入。即使格式正確,也無法證明伺服器目前仍接受該憑證。

四、WebSocket 的 Host、Path 與 TLS 的 SNI 不要混填

這幾個欄位常是網域或短字串,作用階段卻不相同。Server 決定連線目的地;SNI 在 TLS 交握時指定伺服器名稱;WebSocket 的 Host 與 Path 則用於 HTTP 升級請求及伺服器路由。它們可能相同,也可能不同,不能只靠 Server 推算出所有值。

分別核對兩組欄位:傳輸方式與安全層

WebSocket 傳輸欄位
  • 先確認傳輸方式確實要求 WebSocket,不要只因參數中出現網域就選用它。
  • Host 依提供的值填寫,不要加上協定前綴;若明確包含連接埠,也不要自行刪除。
  • Path 保留開頭的 /、大小寫與查詢參數,不要填入完整網頁網址。
  • 例如 /ws 與 /WS 可能對應不同路由,不能視為相同。
TLS 安全欄位
  • 依參數確認是否啟用 TLS,不要只根據 Port 判斷。
  • SNI 通常填寫伺服器名稱,不含 https:// 或路徑。
  • 核對憑證涵蓋的名稱、有效期限與裝置時間;不要以忽略憑證錯誤來取代排查。
  • 若有提供 ALPN 等附加項目,請依原值核對;未提供時不要照抄其他項目的值。

連線位址、TLS 伺服器名稱與 WebSocket Host 是三種不同角色;只有原始參數要求相同時,才填入相同值。

以下僅示意欄位之間的關係,並非可連線的設定,也不表示實際伺服器支援這些值。實際填寫時必須使用自己現有入口的完整參數;未提供的欄位不要依照範例補填。

Type: VLESS
Server: edge.example.com
Port: 443
UUID: 使用現有入口提供的完整 UUID
Transport: WebSocket
Host: web.example.com
Path: /ws
TLS: enabled
SNI: web.example.com

五、如何判斷 TLS 開關:依入口要求,不看協定名稱

VMess 可以搭配 TLS,VLESS 也不能只憑協定名稱決定 TLS 開關。此處比較的是同一個 App 中安全層的設定方式,不是替兩種協定排定優先順序。建議設定適用於「現有參數明確要求啟用 TLS」的情況;若伺服器明確採用其他安全方案,應核對該方案所需欄位及目前 App 的支援情況。

原始參數要求 TLS:保留 TLS 與名稱驗證

建議

啟用相應的 TLS 設定,逐項核對 SNI、憑證與附加參數。若名稱不符,先檢查參數,不要關閉驗證來規避問題。

適用情況:現有入口明確提供 TLS 與伺服器名稱的設定

原始參數不使用 TLS:核對實際安全方案

不要勉強啟用 TLS,也不要把「不使用 TLS」理解成可以省略所有保護。尤其是 VLESS,必須確認整條連線如何取得加密保護,以及相關欄位是否完整。

適用情況:現有入口明確說明安全層組合且參數齊全

判斷方式:先查看原始參數中的安全層,再檢查加密欄位

看到 VLESS 的 none 時,不要關閉 TLS;先確認它指的是協定加密還是連線安全層,再修改相應設定。

六、儲存後如何驗證,避免把分流問題誤認為協定問題

儲存項目後,回到 Home 選取剛核對的設定,再進行連線測試。延遲顯示數值只代表該測試收到回應,不能證明 UUID、WebSocket 路由、TLS 與目標網站存取都正常。以下現象僅供分類排查,並非特定錯誤訊息的唯一解釋。

  1. 先確認目前使用的確實是該項目。核對 Home 中目前選取的設定,避免編輯的是新項目,連線時卻仍在使用另一個舊項目。
  2. 接著確認 Global Routing。Direct 無法用來驗證代理入口;在 Config 下,目標可能被規則導向直連。可暫時使用 Proxy 排除規則選擇的影響,測試後再恢復原設定。
  3. 記錄失敗階段。連線逾時時先檢查 Server、Port 與網路連線狀況;TLS 失敗時先檢查安全層、SNI、憑證與時間;連線建立後仍失敗,則再檢查 UUID、傳輸欄位及伺服器狀態。
  4. 最後檢查規則與 DNS。若 Proxy 可以存取、Config 卻無法存取,請檢查目前 Config 中符合的規則及策略,不要繼續修改協定憑證。

規則中的 DOMAIN-SUFFIX,example.com,DIRECT 會將符合的網域交由 DIRECT 處理;FINAL 則是在前面的規則都未符合時採用的最終策略。此時的存取結果反映的是規則路徑,不一定是剛新增的 VMess 或 VLESS 項目。不要把暫時驗證用的全域選擇當成長期分流設定。

七、手動新增 VMess 與 VLESS 的常見問題

只有 UUID 和網域,可以直接新增嗎?

無法據此完整還原設定。至少還需要確認 Type、Port、傳輸方式與安全層;WebSocket 可能還需要 Host 和 Path。請先向自己目前使用的服務商確認缺少的欄位,不要用常見連接埠或預設路徑代替實際值。

把 VMess 改成 VLESS,為什麼立刻無法連線?

兩種協定的處理方式不同,伺服器也必須提供對應入口。請回到 Home 編輯該項目,還原原本的 Type 與參數;若要使用 VLESS,應另行取得該入口的完整參數,而不是只重用 UUID。

VLESS 顯示 none,是不是設定錯了?

若它代表 VLESS 的協定加密,none 符合該協定的設計。請繼續檢查 TLS 或其他指定的安全層;不能據此推斷整條連線未加密,也不要把它當成關閉 TLS 的指示。

訂閱匯入後可以使用,手動新增卻不行,該先檢查什麼?

在 Home 分別開啟兩個項目的詳細資料,依序比對 Type、Server、Port、UUID、傳輸方式、安全層及附加欄位。特別檢查手動填寫時是否漏掉 Path、SNI 或 Flow;不必先重置 Settings,也不要將完整憑證貼到公開討論區。

連接埠是 443,還需要核對 TLS 嗎?

需要。443 只是連接埠號,不會替用戶端決定協定。請返回項目編輯頁面,依原始參數檢查 TLS 開關與伺服器名稱;若出現憑證問題,先核對 SNI 與裝置時間,不要把關閉驗證當成一般解法。

完成一次核對後,請保留「原始值、修改項目、結果」三項紀錄。只要確認失敗發生在位址連線、TLS 交握、協定驗證或規則選擇階段,下一步便能針對該層處理,不必同時更換協定、連接埠與傳輸方式。

App Store 正版核對查看購買與復原說明