Shadowrocket(小火箭)的協定類型必須與使用者現有的伺服器設定一致,無法只靠更換 Type 就把一種服務變成另一種。本文適合已取得自己的連線參數或訂閱,並想了解 Add Server 各欄位用途的使用者:先分辨協定、傳輸方式與 TLS,再核對各協定所需資訊,最後依照固定步驟判斷問題出在參數、網路還是規則。
一、先分清協定、傳輸方式與規則
Shadowrocket 支援多種連線協定,但「支援」不代表任意組合參數都能使用。伺服器必須提供相應協定,客戶端填寫的位址、連接埠、驗證資訊及傳輸選項也必須相符。本文以使用者已有自己的服務供應商與訂閱為前提,僅說明客戶端欄位,不提供或推薦連線服務。
在 Home → 右上角「+」進入 Add Server,Type 決定項目的協定類型。TLS、WebSocket 等選項屬於連線的其他層次,不應與 Type 混為一談。以下分別說明三個層次:「如何驗證」、「如何傳輸」以及「哪些請求使用這條連線」。
| 層次 | 常見項目 | 核對內容 |
|---|---|---|
| 協定與驗證 | Shadowsocks、VMess、VLESS、Trojan | Type、Password 或 UUID,以及協定要求的附加欄位 |
| 傳輸與安全性 | TCP、UDP、TLS、WebSocket、QUIC | 伺服器使用的傳輸方式、憑證名稱及路徑等參數 |
| 流量選擇 | Global Routing、Config 中的規則 | 請求採用 DIRECT、代理策略或 REJECT |
例如,連接埠為 443 並不能證明某個項目使用 Trojan 或 TLS;連接埠只是伺服器的監聽位置。8443 也可能供伺服器使用 TLS。請依照現有設定填寫,不要根據連接埠猜測協定。下文的英文術語可用來辨認參數;實際欄位及可選組合以 App 內顯示為準。
二、Shadowsocks、VMess、VLESS 與 Trojan 的參數差異
這四種連線最容易因為「位址相同」而被誤認為可以互換。實際上,同一個網域可以承載不同服務;位址正確,不代表驗證與後續傳輸一定成功。先核對 Type,再核對憑證,最後檢查傳輸選項,可避免反覆修改不相關欄位。
| 協定 | 主要特性 | Add Server 核對重點 |
|---|---|---|
| Shadowsocks | 使用約定的加密方式與密碼建立代理連線;能否使用 TCP 與 UDP,仍取決於設定和伺服器。 | Address、Port、Method、Password;若現有設定包含混淆等附加參數,也必須一致。 |
| VMess | 使用 UUID 等資訊驗證,傳輸層可依伺服器設定採用不同組合。 | Address、Port、UUID、加密選項,以及現有設定要求的 TLS、WebSocket 等設定。 |
| VLESS | 使用 UUID 驗證;協定本身不負責加密傳輸內容,安全性須配合實際傳輸設定判斷。 | Address、Port、UUID,以及伺服器指定的 TLS、傳輸方式和其他擴充參數。 |
| Trojan | 通常在 TLS 連線中使用密碼驗證;憑證名稱可能與連線位址不同。 | Address、Port、Password、TLS 相關設定,尤其是伺服器要求的 SNI。 |
UUID、Password 與 TLS 不能互相替代
- Shadowsocks:Method 與 Password 必須成對核對。只複製密碼,卻沿用另一個項目的 Method,可能無法建立連線。
- VMess 與 VLESS:即使兩者都使用 UUID,也不能互換 Type。若現有設定指定 WebSocket,還須核對路徑和 Host,而不只是啟用 TLS。
- Trojan:即使 Password 正確,SNI 錯誤仍可能導致 TLS 階段連線失敗。請先確認伺服器提供的網域與憑證資訊,不要把關閉憑證驗證當作一般修復方式。
- TLS:連線位址用來找到伺服器,SNI 則是在 TLS 交握時指示伺服器名稱。兩者可能相同,也可能依現有設定明確指定為不同值。
結論:核對完整參數,不要只看協定名稱
連線失敗時,先逐項比對同一個項目的 Type、連接埠、憑證、TLS 與傳輸選項是否符合原始設定;不要只更換 Type,也不要把其他項目的 SNI、Host 或路徑拼湊進來。
三、HTTP/SOCKS5、WireGuard 與 Hysteria2 的用途
HTTP/SOCKS5 是代理協定,WireGuard 是以金鑰為基礎的通道協定,Hysteria2 則以 QUIC 為基礎。三者不只名稱不同,驗證資料、底層傳輸與排查方式也各有差異。沒有任何協定能不受伺服器條件與本機網路影響,始終排名最快。
| 類型 | 傳輸特性 | 需要取得的資訊 |
|---|---|---|
| HTTP/SOCKS5 | HTTP 代理通常透過 CONNECT 建立 TCP 通道;SOCKS5 可協商 TCP,也定義 UDP 轉送機制,實際支援情況取決於兩端設定。 | 位址、連接埠,以及伺服器要求的 Username、Password。HTTP 代理連線本身是否使用 TLS,須另外確認。 |
| WireGuard | 以 UDP 承載加密通道,透過金鑰驗證,不採用一般帳號密碼模式。 | 本端 Private Key、通道位址、對端 Public Key、Endpoint,以及設定要求的路由範圍和其他參數。 |
| Hysteria2 | 以 QUIC 為基礎,底層依賴 UDP,並使用 TLS;網路是否允許相應的 UDP 通訊是重要前提。 | 位址、連接埠、驗證資訊、SNI;若伺服器啟用混淆,也需填入相符的混淆參數。 |
依協定特性判斷,不要只憑名稱推測結果
- HTTP/SOCKS5:如果伺服器要求驗證,就不能將 Username、Password 留空。SOCKS5 是否支援 UDP,不能只憑名稱判斷,必須由伺服器和客戶端設定共同支援。
- WireGuard:不要把本端 Private Key 填成對端 Public Key。通道位址也不是伺服器位址;Endpoint 中的主機名稱與連接埠用來定位對端。
- Hysteria2:一般網頁能透過 TCP 開啟,不代表 UDP 一定可用。若目前的網路限制 UDP,反覆更改密碼也無法解決底層傳輸問題。
- 金鑰保護:UUID、Password、Private Key 與完整訂閱網址都應視為敏感資訊。排查時只記錄欄位是否一致,不要公開完整內容。
頻寬、封包遺失、伺服器負載和網路策略都會影響實際體驗。若未在相同網路、相同時段及可比較的伺服器條件下測試,就不能將單次 Connectivity Test 結果解讀為協定效能結論;延遲較低也不代表持續下載速度較快。
四、在 Add Server 中新增並核對現有資訊
請優先保留現有設定的完整資訊。手動新增適合參數較少、來源明確的項目;訂閱則適合管理使用者已有的一組項目。Subscribe 是匯入與管理資訊的入口,不是與 Shadowsocks、Trojan 並列的傳輸協定;訂閱中的每個項目仍有自己的 Type。
-
準備參數
從使用者現有設定中找出協定、位址、連接埠與驗證資料。若是 VMess 或 VLESS,還要確認 TLS、傳輸方式、Host 與路徑是否有指定值。
-
前往新增頁面
開啟 Home → 右上角「+」→ Add Server → Type,選擇與原始資訊相符的協定。不要根據位址名稱或連接埠猜測類型。
-
填寫並儲存
依頁面顯示填入 Address、Port 及該類型要求的欄位。檢查複製內容的前後是否有空格;儲存後返回 Home,確認選取的是新建項目。
-
設定訂閱
若使用者已有訂閱,請透過 Home →「+」→ Type → Subscribe 輸入自己的網址並儲存,再到 Home 更新訂閱內容。更新時會依遠端內容刷新項目,手動修改過的參數應另行記錄。
-
確認連線
在 Home 使用 Connectivity Test,接著啟用連線並前往實際需要存取的目標。分別記錄測試是否完成、連線是否建立、目標是否可存取,不要把這三件事視為同一個結果。
五、Global Routing 不會改變項目的協定
協定決定如何建立連線,Global Routing 則決定請求採用哪一種路徑。切換到 Proxy 不會把 Shadowsocks 變成 Trojan;切換到 Config 也無法修正錯誤的 UUID。排查時應分開確認「項目是否可用」與「目標是否符合預期規則」。
Config:依設定判斷
建議依目前設定中的規則選擇策略。已有設定且已確認規則時,建議日常使用此模式;最終連線方向取決於命中的項目與策略定義,並不代表「其他全部直連」。
適用情況:規則已確認,需要依目標分流
Proxy:集中檢查代理路徑
讓由客戶端接管的請求採用代理路徑,可暫時排除規則比對因素。若切換後目標可以存取,請繼續核對原設定中的策略與規則,不要直接判定是協定有問題。
適用情況:短時間排查分流與策略選擇
Direct:檢查直連路徑
讓由客戶端接管的請求採用直連路徑。此時若能存取目標,不代表剛新增的代理項目已通過驗證或能傳輸資料。
適用情況:對照目前網路的直連狀況
Global Routing 中的 Scene 可依使用情境設定運作方式;查看結果時,也要確認目前實際生效的場景及其設定。Settings → On Demand 則與依條件觸發連線有關,不會把一種協定轉換成另一種;若連線自動觸發,請另外檢查此項設定。
Config 模式下的規則檢查
在 Config 查看目前使用的設定。規則通常由上往下比對,命中後採用相應策略;FINAL 則處理前面未命中的請求。以下僅為規則文字範例,不是伺服器參數,也不是 App 介面。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX比對指定的網域後綴及其子網域,不用來選擇協定類型。IP-CIDR比對目標 IP 網段;範例使用文件專用位址區段,no-resolve表示此規則不會額外進行網域解析。GEOIP依據目標 IP 的地理歸屬資料判斷,不能只憑網頁語言推測是否命中。PROXY、DIRECT、REJECT是策略關鍵字,分別代表代理、直連和拒絕;策略路徑與 Type 屬於不同的設定層次。
六、新增協定後的常見問題
排查時每次只調整一類參數,並保留修改前的值。以下問題依客戶端操作說明,不以更換協定取代設定核對,也不會將單次逾時直接歸因於伺服器。
同一個位址,為什麼改成 VLESS 就連不上?
返回 Home,開啟該項目的編輯頁面,先核對 Type。伺服器必須實際提供 VLESS,並提供相應的 UUID 和傳輸設定;只有位址相同並不足夠。若原始資訊是 VMess,請改回 VMess,再逐項核對現有參數。
Trojan 密碼沒錯,為什麼還是連線失敗?
在項目編輯頁面檢查 Address、Port 和 TLS 相關設定,尤其確認 SNI 是否與現有設定一致;接著檢查裝置的「設定 → 一般 → 日期與時間」。系統時間明顯錯誤可能影響憑證有效期限的判斷,不應直接關閉憑證驗證。
Hysteria2 連線逾時,但一般網頁能開啟?
先確認現有的伺服器位址、UDP 連接埠與驗證資訊一致,再於獲准使用的另一種網路環境下重測。一般網頁可透過 TCP 連線,不代表 QUIC 所需的 UDP 也能連通;請分別記錄兩種網路環境下的狀況。
訂閱更新後,手動修正的參數又變了?
返回 Home,比對更新前後的同一個項目。訂閱更新會重新讀取遠端內容,請在使用者現有的設定來源核對參數;若需要在本機排查,可另建手動項目並記錄差異,避免誤以為暫時修改已同步修正遠端設定。
Connectivity Test 有結果,就代表設定正確嗎?
不一定。先確認目前的測試方式,再啟用連線並存取實際目標;如果只有部分目標失敗,請檢查 Home → Global Routing 與 Config 中命中的規則。測試結果本身無法證明所有協定功能、UDP 轉送或所有網站都能正常使用。