本文適合已取得服務商提供的參數,並需要在 Shadowrocket(小火箭)中匯入或手動設定 VMess、VLESS 的使用者。先釐清協定驗證、連線加密與傳輸封裝,再核對 Add Server 中的位址、連接埠、UUID 與 TLS 設定;若連線失敗,請依欄位順序逐一檢查,不要只把協定名稱改成另一種碰運氣。
VMess 與 VLESS:先釐清驗證、加密與傳輸
VMess 與 VLESS 都是連線協定,不是連線服務本身。伺服器端啟用哪一種,客戶端就必須選擇相應類型。即使位址、連接埠和 UUID 完全相同,將 VMess 項目改成 VLESS,也不會自動轉換伺服器端的協定。
VMess 可在協定層提供資料加密;常見的現代設定會使用 AEAD 驗證機制。VLESS 基礎協定不提供同類型的負載加密,通常透過 TLS 等外層機制保護連線。因此,「VLESS 的 Encryption 設為 none」不等於「整條連線沒有加密」,還需檢查外層安全設定。
| 檢查項目 | VMess | VLESS |
|---|---|---|
| 身分驗證 | 使用 UUID 等驗證參數;現代設定通常採用 AEAD | 使用 UUID 識別使用者;不能據此推斷加密方式 |
| 協定層加密 | 依伺服器端要求選擇,常見值包括 auto、aes-128-gcm、chacha20-poly1305 | 基礎協定的 Encryption 通常設為 none,不套用 VMess 的加密選項 |
| 外層安全 | 是否啟用 TLS 取決於伺服器端;這與 VMess 協定層加密屬於不同層次 | 常見部署會使用 TLS 等外層安全機制,務必逐項核對 |
| 傳輸方式 | 依伺服器端要求使用 TCP、WebSocket 等方式 | 同樣由伺服器端決定,不能只憑協定名稱推斷 |
同一種協定可以搭配不同的傳輸方式與安全設定。要確認連線設定是否正確,應比對「協定 + 傳輸 + 安全參數」這一整組,而不是只看 VMess 或 VLESS 名稱。協定名稱本身也無法決定實際速度;本地網路、伺服器負載與中間鏈路都會影響結果。
Add Server:如何設定位址、連接埠與 UUID
在 Home 點選右上角的新增按鈕,進入 Add Server,先選擇 Type,再依現有參數填寫。不同 Type 顯示的項目不同,欄位名稱也可能隨介面語言或版本調整;請依下表核對參數含義,不必要求每個項目都出現在同一個畫面。
- 先保存原始參數。保留服務商提供的完整設定說明。若已有訂閱或分享內容,建議優先匯入,再進入項目編輯頁核對,不要憑記憶重新建立。
- 填寫 Address。此欄只填主機名稱或 IP 位址,例如
example.com。不要連同網頁網址中的https://、路徑及查詢參數一起填入。 - 填寫 Port。使用伺服器端提供的數字連接埠。
443是常見的 TLS 連接埠,但並非所有設定都使用它;啟用 TLS 不代表要把原本的連接埠改成 443。 - 貼上 UUID。複製完整值,並檢查前後空格、漏字元及換行。UUID 是驗證資訊,不是備註名稱,也不是訂閱連結中的 token。
- 接著核對傳輸與 TLS。基本欄位正確不代表設定已完成;儲存前還要檢查下一節的相關欄位。
判斷:格式正確不等於驗證有效
UUID 即使符合 36 個字元的格式,也可能不屬於目前的伺服器端。若位址可解析、連接埠可連線,但驗證仍失敗,請比對原始 UUID 與帳戶狀態;不要試著產生新的 UUID 來修復。
VMess 參數中也可能有 AlterId。現代 VMess AEAD 設定通常使用 0;不要把舊說明中的其他數值當成通用答案。VLESS 不使用 VMess 的 AlterId 機制,不能將這個欄位移植過去。若提供的舊參數與目前可選項目不一致,請向原參數提供者確認,不要自行替換。
TLS、SNI、Host 與 Path:各自對應哪一層
Address 決定連線要連到哪裡;SNI 是 TLS 交握時使用的伺服器名稱;WebSocket 的 Host 屬於 HTTP 要求標頭;Path 則是要求路徑。這些值有時相同,有時不同,因此「全部填成伺服器位址」並不是通用設定方式。
| 參數 | 填寫原則 | 常見錯誤 |
|---|---|---|
| Transport | 與伺服器端設定一致,例如 TCP 或 WebSocket | 將 WebSocket 改成 TCP,卻保留原本的連接埠及其他參數 |
| TLS | 伺服器端要求啟用時才開啟,並核對伺服器名稱與憑證 | 只因看到 443 就自行啟用 TLS |
| SNI | 依伺服器端提供的名稱填寫,通常不含協定前綴或路徑 | 填入完整 URL,或使用與憑證不相符的 IP 位址 |
| Host | WebSocket 等情況依伺服器端指定的要求標頭填寫 | 誤以為修改 Host 也會一併修改 TLS 的 SNI |
| Path | 完整保留路徑、大小寫及必要的查詢部分,例如 /ws | 漏掉開頭的斜線,或自行改成 / |
例如,若一組設定明確指定 Port 為 443、Transport 為 WebSocket、啟用 TLS,且 Path 為 /ws,就應逐項照填。這些數值僅為欄位範例,不代表有可用服務;實際設定請依據自己已有的參數。
部分 VLESS 設定還包含 Flow 或特定安全模式的附加欄位。只有原始參數明確要求,且目前客戶端支援相應組合時才填寫。不要任意替一般 VLESS 項目加入 Flow,也不要把其他安全模式的公鑰等參數當成 TLS 的 SNI。
匯入後:使用 Global Routing 區分參數與規則問題
匯入訂閱可減少手動抄寫,但仍須核對匯入項目的 Type、Port 及傳輸設定。訂閱主要用來管理伺服器項目,不應直接視為 Config 中的規則檔。訂閱更新也可能覆蓋手動修改;測試前先記下原值,必要時另存測試副本。
在 Home 選取要測試的項目後,也要確認 Global Routing 的模式。Config 會依目前設定的規則處理要求;Proxy 會讓一般要求統一經由代理路徑;Direct 則採直連。Scene 依所選場景的設定處理,未確認場景內容前,不要將其視為固定的測試條件。
Config:確認連線後依規則使用
建議依目前設定判斷要求的去向。符合規則後會執行相應策略;未符合前面規則的要求通常由 FINAL 處理,不一定會直連。
適用情況:已確認連線可用,並需要依現有規則處理日常要求
Proxy:暫時排除規則干擾
測試所選代理路徑能否連上目標網頁,減少要求被規則改走 Direct 的干擾;仍須核對所選伺服器及其他可能生效的設定。
適用情況:判斷問題出在連線參數,還是規則選擇
Direct:檢查本地直連基準
讓一般要求採直連,用來確認目前網路能否正常連上原本可直連的網站。這無法驗證 VMess 或 VLESS 是否通過驗證。
適用情況:先排除本地 Wi-Fi 或 Cellular 網路故障
判斷:Proxy 可用但 Config 失敗,先檢查規則
維持同一台伺服器與測試網址,只切換 Global Routing。若 Proxy 能開啟網頁、Config 卻不行,請優先檢查目前 Config 的符合規則、策略名稱及 FINAL 的處理方式,不要先更換 UUID 或協定類型。
測試期間盡量固定網路與目標網頁。若已啟用 Settings → On Demand,也要記錄其觸發條件,避免自動連線影響手動測試。若需暫停,先保存原設定,測試結束後再恢復;不要同時變更傳輸、規則及自動連線條件。
連線失敗:由外層到內層逐項排查
「延遲有數值」只代表相應測試方式收到回應,無法保證網頁要求已通過驗證、TLS 及完整傳輸流程。排查時請記錄具體狀況,例如立即出現憑證錯誤、等待後逾時,或只有特定網域無法開啟,而不要只記下「不能用」。
- 確認本地網路。使用目前的網路開啟原本可直連的網站;必要時切換 Wi-Fi 與 Cellular 進行比較。保持其他參數不變,測試結果才有比較意義。
- 確認 Address 與 Port。檢查位址是否多了空格或 URL 前綴,以及連接埠是否抄錯。連線逾時也可能是網路路徑或伺服器端無法連線所致,不應直接判定為 UUID 錯誤。
- 確認 TLS 與傳輸。核對 TLS 開關、SNI、Transport、Host 和 Path。遇到憑證錯誤,先處理憑證問題;WebSocket 交握失敗則檢查路徑、要求標頭及伺服器端入口。
- 確認協定驗證。核對 Type 和 UUID。VMess 也要檢查加密選項、AlterId 及裝置時間;VLESS 則檢查原始設定要求的 Encryption、Flow 等欄位。
- 最後檢查規則與 DNS。使用 Proxy 進行比較。如果只有特定網域連線失敗,再查看相關要求的解析與路由結果,不要一次更換所有 DNS 設定。
即使兩種協定都能使用,也不能只根據單次測速判斷哪種協定較好。至少固定測試時段、網路、伺服器條件及目標資源。若要確認參數設定正確,較可靠的標準是:儲存後可重複連線、目標要求依預期路徑傳送,恢復 Config 後規則運作也符合預期。
常見問題:UUID、加密選項與訂閱更新
兩個項目的 UUID 相同,可以直接把 VMess 改成 VLESS 嗎?
不能只因 UUID 相同就轉換。先取得伺服器端明確提供的 VLESS 參數,再前往 Home → Add Server 新增相應的 Type,逐項核對連接埠、傳輸及安全設定。保留原項目,避免覆蓋唯一可用的設定。
VLESS 顯示 none,應該改成 aes-128-gcm 嗎?
不要套用 VMess 的加密值到 VLESS。先確認 none 指的是協定層的 Encryption,再核對 TLS 或原始參數指定的外層安全機制。安全性取決於完整設定組合,不能只看單一欄位。
更新訂閱後,手動修改的 Path 又還原了,該怎麼辦?
先記錄更新前後的差異,並確認訂閱提供的原始值。需要隔離測試時,請保留獨立副本,不要持續修改由訂閱更新管理的同一個項目;若要長期修正,應向原參數提供者確認。
只把連接埠改成 443,為什麼還是連不上?
連接埠號碼不會自動設定 TLS。回到項目編輯頁,逐項核對伺服器端實際監聽的連接埠、TLS、SNI 及傳輸方式;只有伺服器端提供相應入口時,這組設定才可能建立連線。
協定和 UUID 都正確,但只有部分網頁無法開啟,需要重建項目嗎?
先前往 Home → Global Routing,暫時選擇 Proxy,並用相同網址重新測試。若恢復連線,請檢查 Config 的規則與策略;若仍無法連線,再檢查該網域的解析及連線錯誤,不必立即重建所有項目。