Shadowrocket(小火箭)支援多種代理協定與通道協定。本文適合已有服務商與訂閱、需要核對連線參數的使用者:先透過表格辨別協定,再檢查驗證、傳輸與 TLS 欄位,最後利用 Global Routing 排除規則問題。讀完即可判斷參數該填在哪裡,以及連線失敗時應先檢查哪一層;協定名稱本身並不代表連線速度。
協定速查:先確認 Type,再核對參數
Shadowrocket 支援 Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2 等類型。新增伺服器時,Home → 右上角「+」→ Type 會決定接下來要填寫的欄位。協定必須與服務商提供的連線資料一致,不能只把 Type 改成另一個名稱就完成轉換。
| 協定 | 主要特色 | 優先核對的參數 |
|---|---|---|
| Shadowsocks | 使用約定的加密方式與密碼驗證,參數相對集中。 | 伺服器位址、連接埠、加密方式、密碼;是否需要額外外掛。 |
| VMess | 以 UUID 識別使用者,驗證與傳輸設定都必須一致。 | UUID、加密設定、AlterId(如資料中有提供)、傳輸類型、TLS。 |
| VLESS | 協定本身不提供負載加密,需依實際部署核對安全層。 | UUID、傳輸類型、TLS 或 REALITY 參數、Flow(如有)。 |
| Trojan | 通常在 TLS 連線中使用密碼驗證。 | 密碼、連接埠、TLS 伺服器名稱及憑證驗證。 |
| HTTP / SOCKS5 | 通用代理類型,驗證與加密能力視實際部署而定。 | 代理位址、連接埠、使用者名稱、密碼,以及是否啟用 TLS。 |
| WireGuard | 以 UDP 為基礎的加密通道,使用金鑰與對端設定。 | 本機私鑰、對端公鑰、Endpoint、通道位址及路由範圍。 |
| Hysteria2 | 以 QUIC 為基礎,依賴 UDP,可承載代理流量。 | 伺服器位址、連接埠、驗證、TLS 伺服器名稱及混淆參數(如有)。 |
此表用於辨識參數,不代表效能排名。實際可用欄位以目前安裝的 Shadowrocket 介面為準;服務商提供的擴充功能也需要客戶端支援。取得資料後請保留原始內容並逐項核對,不要只憑名稱相似就推斷相容。
Shadowsocks、VMess 與 VLESS:分開檢查驗證與傳輸
Shadowsocks:加密方式與密碼必須成對一致
Shadowsocks 的伺服器位址與連接埠只用來指定連線入口,加密方式和密碼則必須相互配合才能正確通訊。例如伺服器指定 aes-128-gcm,客戶端就不能自行改成 chacha20-ietf-poly1305。若連線包含外掛或其他擴充參數,也不能只保留位址和密碼,當成一般設定使用。
- 密碼請完整保留大小寫與符號,複製時留意前後空格及換行。
- 舊式與較新的加密方式不可混用;部分方式對金鑰格式可能另有要求。
- 若匯入訂閱後可用、手動填寫卻無法連線,應先比對加密方式與擴充參數,而不是修改分流規則。
VMess:UUID 正確不代表設定完整
VMess 的 UUID 是使用者識別碼,不是伺服器網域或訂閱 token。除了 UUID,也要核對傳輸類型、TLS 與服務商提供的其他參數。若資料包含 AlterId,請依原值設定,不要從其他設定複製數值。裝置時間明顯不準也可能影響驗證,請先確認系統日期與時間正確。
VLESS:不要把 UUID 當成加密設定
VLESS 的 UUID 同樣用於驗證,但 VLESS 本身不提供負載加密。服務商可能採用 TLS 或 REALITY 等組合;若資料包含 Flow、Public Key、Short ID 等欄位,請依照相應組合完整填寫。REALITY 不能只靠開啟一般 TLS 選項取代,也不能把公鑰填入密碼欄。
WebSocket 是傳輸方式,常見參數包括 Host 與 Path。假設資料指定 Path 為 /connect,若改成 / 就可能造成交握失敗;Host、伺服器位址與 TLS 伺服器名稱也不一定相同,請逐項依資料核對。
Trojan、HTTP 與 SOCKS5:分清 TLS 和代理驗證
Trojan 通常透過 TLS 保護連線,再以密碼進行驗證。憑證驗證失敗不代表密碼錯誤:連線位址可能是 IP,但憑證對應的網域不同,此時需核對 TLS 伺服器名稱,也就是 SNI。不要為了消除錯誤訊息而略過憑證驗證,請先檢查網域、裝置時間與伺服器憑證狀態。
| 設定項目 | 具體說明 | 常見混淆處 |
|---|---|---|
| 伺服器位址 | 客戶端實際連線的網域或 IP。 | 不一定與 TLS 憑證對應的網域相同。 |
| Port | 伺服器端監聽的連接埠,例如資料可能指定 443。 | 443 只是常見範例,不代表所有協定都使用這個連接埠。 |
| SNI | TLS 交握時傳送的伺服器名稱。 | 不要填入完整網址,不包含 https:// 或路徑。 |
| 使用者名稱與密碼 | HTTP / SOCKS5 服務可能要求的代理驗證資訊。 | 不是訂閱網站的登入資訊,除非服務商明確說明。 |
HTTP 代理常透過 CONNECT 轉送 HTTPS 目標連線,但「目標網址使用 HTTPS」與「客戶端到代理入口啟用 TLS」是兩回事。SOCKS5 本身也不提供連線加密,使用者名稱和密碼驗證不能取代加密層。需要保護隱私時,應核對整條連線路徑,而不只是確認代理是否設定了密碼。
- HTTP 與 SOCKS5 的連接埠可能是 8080、1080 或其他數值;這些只是常見範例,不能據此自動填寫。
- 不可預設 HTTP 代理能轉送任意 UDP 流量。
- SOCKS5 能否使用 UDP,還取決於伺服器能力與網路條件;TCP 網頁可連線不代表 UDP 一定可用。
WireGuard 與 Hysteria2:需另外確認 UDP 條件
WireGuard 是加密通道協定,不是「位址加密碼」式的代理設定。它會區分本機私鑰與對端公鑰;Endpoint 指向遠端入口,通道位址則是通道內使用的位址。金鑰方向填反、漏填位址或路由範圍不合適,都可能造成設定已儲存、目標卻無法連線的情況。
- Private Key 應使用分配給目前客戶端的私鑰;Public Key 則應核對為遠端對等端的公鑰。
- Endpoint 的連接埠以服務商資料為準。51820 是常見範例,並非固定要求。
- Allowed IPs 表示對端可處理的目標位址範圍,不能任意改成某個伺服器 IP。
- MTU 會影響通道內的封包大小。只有在有明確狀況與依據時才調整,並保留原值以便還原。
Hysteria2 使用 QUIC,通常依賴 UDP 建立連線。網路允許 TCP 443,不代表也允許 UDP 443,即使連接埠號碼相同也是如此。驗證、TLS 伺服器名稱與可選的混淆設定仍須與伺服器一致;填寫頻寬相關參數也不會改變實體網路或伺服器實際可提供的容量。
結論:先確認 UDP,再調整參數
如果同一網路上的 TCP 類連線可用,但 WireGuard 或 Hysteria2 持續逾時,請先改用另一個已獲准使用的網路測試,並向服務商確認 UDP 連接埠。不要先改密碼、略過憑證驗證或任意提高頻寬數值。
匯入與核對:保留服務商提供的完整參數
已有訂閱時,請優先保留訂閱中的參數組合,再確認所需協定是否完整匯入。訂閱網址、單一伺服器分享連結和設定檔連結用途不同,不能只看連結是否以 https:// 開頭就判斷類型。訂閱來源一律為:向你的服務商取得。
-
辨識資料類型
先確認取得的是訂閱、單一伺服器資料,還是設定檔。訂閱範例
https://example.com/sub?token=xxxx僅供展示格式,並非可用服務;請勿公開真實 token。 -
匯入訂閱
前往 Home → 右上角「+」→ Type → Subscribe,輸入自己的訂閱網址並儲存。返回 Home 檢查匯入結果;需要更新時,在 Home 下拉重新整理,並確認清單確實出現預期變更。
-
手動核對
需要手動新增時,前往 Home → 右上角「+」→ Type,選取相應協定,再依資料填寫位址、連接埠與驗證資訊。若出現傳輸或 TLS 選項,也要繼續核對,不能只填寫主畫面上的幾個欄位。
-
重新測試連線
在 Home 選取剛核對的伺服器,連線後測試實際目標。若要排除自動連線的影響,可先到 Settings → On Demand 記下目前設定,排查期間暫停按需連線,完成後再還原設定。
更新訂閱可能覆寫由訂閱管理的伺服器參數。需要進行對照測試時,請先記下原始參數與修改項目,不要在同一輪測試中同時修改協定、DNS、規則與傳輸設定。每次只變更一個條件,才能將測試結果與原因對應。
Global Routing:協定連線與規則分流屬於不同層面
Home 用來選擇伺服器與連線,Config 用於管理設定檔,Settings 則提供 App 設定。Global Routing 決定流量採用哪種路由方式,不會將 Shadowsocks 轉換成 Trojan,也不能取代協定驗證。排查前請先確認此設定,避免把流量未經所選伺服器誤判為協定無法使用。
Config
建議依目前設定檔中的規則選擇策略,目標流量可能走代理、直連或遭到拒絕。使用前請確認設定檔來源及 FINAL 的實際策略,不要假設未符合規則的流量一定會直連。
適用情境:已核對規則,日常需要依目標分流。
Proxy
將由 Shadowrocket 處理的流量依代理方式轉送,適合短時間排除規則比對因素。此方式無法修復密碼錯誤、連接埠無法連線或 TLS 交握失敗。
適用情境:確認目前伺服器能否連線至同一個測試目標。
Direct
以直連方式處理流量,不適合用來驗證所選代理伺服器是否可用。切換後網頁恢復連線,只能說明直連路徑可用。
適用情境:比較本機網路與代理路徑的連線差異。
Global Routing 中的 Scene 可依情境設定決定路由行為;檢查時也需查看具體情境條件。若目的是確認單一連線的參數,請先記下原有路由方式,再以固定方式重新測試,避免網路切換造成情境變更。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
以上僅示範 Config 路由方式下的規則語法,不建議直接取代現有設定。DOMAIN-SUFFIX 比對網域後綴,IP-CIDR 比對位址網段,GEOIP 依賴 IP 地理位置資料,FINAL 則處理前述規則皆未符合的情況。規則會依序比對;其中 192.0.2.0/24 是文件範例網段,不可作為實際服務位址使用。
常見問題:依照狀況找出下一步
為什麼匯入成功,連線仍然逾時?
匯入成功只代表資料已解析,不表示連線入口可用。請在 Home 開啟該伺服器的編輯頁面,核對位址、連接埠與 Type,再檢查目前網路。Hysteria2 與 WireGuard 還需另外確認 UDP 是否可連線;不要把訂閱更新成功當成連線測試結果。
有延遲數值,為什麼網頁還是打不開?
延遲測試不一定涵蓋驗證、TLS、DNS 與目標連線的完整路徑。先記下 Global Routing 的原設定,暫時改為 Proxy 測試同一目標;若只有 Config 失敗,再到 Config 檢查目前設定檔中與目標相符的規則,測試後還原原本的路由方式。
可以直接把 VLESS 改成 VMess 嗎?
不能只修改 Type。兩者的伺服器協定與驗證方式不同,即使 UUID 字串相同也不代表相容。請向服務商確認是否提供相應類型的完整資料,再透過 Home → 右上角「+」建立新項目,保留原項目以便比較。
哪種協定一定最快?
無法只憑協定名稱判定結果。請固定網路、目標與測試時段,分別記錄連線是否成功、頁面載入情況與持續傳輸表現。只比較自己已有且參數正確的連線;UDP 受限時,不應以 Hysteria2 連線失敗的結果推斷其他協定的表現。
如需進一步查詢欄位,請參閱設定欄位;需要辨識術語,可查看術語表。回報問題時請保留錯誤訊息、協定類型與重現步驟,但務必遮蔽密碼、UUID、訂閱 token 和私鑰;不要在公開頁面貼出完整連線資料。