Shadowrocket(小火箭)支援多種代理與隧道協定。選擇時,先確認服務商提供的類型,再核對驗證、傳輸與 TLS 參數,不要只比較協定名稱。本文適合 iPhone、iPad、Mac、Windows、Android 與 Linux 使用者認識設定欄位;操作時可在 Home、Add Server、Config 中查看,實際選項依裝置目前顯示為準。讀完後,你可以分辨協定與傳輸層、判斷匯入後應檢查的參數,並依固定順序排查連線問題。
先分清協定、傳輸方式與分流規則
節點類型說明用戶端如何與伺服器通訊;傳輸方式說明資料如何承載;分流規則則決定哪些要求使用哪個出口。三者彼此相關,但不能互相取代。例如,VLESS 可以搭配不同的傳輸方式;選擇 VLESS 不代表 WebSocket 路徑、TLS 或伺服器連接埠已自動設定。
從服務商取得訂閱或完整參數後,應保留原有的協定組合。把同一個位址的 Type 從 VMess 改成 Trojan,不會讓伺服器轉換成 Trojan。即使兩組設定都填入連接埠 443,也只能說明連接埠相同,不能代表驗證方式或交握流程相同。
- 協定層:Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、Hysteria2、WireGuard,各自有不同的驗證與通訊規範。
- 傳輸與安全層:TCP、UDP、WebSocket、QUIC、TLS 等是否啟用,以及採用哪些組合,都必須與伺服器設定一致。
- 分流層:Global Routing 與 Config 中的規則負責選擇出口,不會改變節點實際使用的協定。
七種協定欄位速查
下表用於核對欄位,並非設定範本。服務商可能將驗證、傳輸與憑證資訊放在同一條分享連結中;匯入後仍應逐項檢查。表中的連接埠僅供說明:Trojan 常用 443,WireGuard 部署常用 51820/UDP,兩者都不是必須照填的固定值。
| 協定 | 通訊特性 | 優先核對 |
|---|---|---|
| Shadowsocks | 加密代理,可承載 TCP;是否能轉送 UDP 取決於兩端設定與網路 | Address、Port、加密方法、Password |
| VMess | 具備驗證與加密機制,可搭配不同傳輸方式 | UUID、加密選項、傳輸方式、TLS、系統時間 |
| VLESS | 輕量驗證協定,本身不提供內容加密 | UUID、傳輸方式、TLS、伺服器指定的其他參數 |
| Trojan | 通常透過 TLS 保護代理通訊,支援情況仍取決於伺服器 | Password、TLS、SNI、憑證網域 |
| HTTP / SOCKS5 | 通用代理協定;HTTP CONNECT 可建立 TCP 通道,SOCKS5 可支援 UDP 關聯 | 代理類型、位址、連接埠、使用者名稱與密碼、是否啟用 TLS |
| Hysteria2 | 以 QUIC 為基礎,底層依賴 UDP | 驗證資訊、UDP 連接埠、TLS、頻寬與混淆參數 |
| WireGuard | 以 UDP 為基礎的加密 IP 隧道,透過金鑰配對識別對端 | Private Key、Peer Public Key、Endpoint、隧道位址、MTU |
結論:先確認參數完整
現有節點若缺少 UUID、金鑰或傳輸參數,請先向服務商索取完整資料;不要透過更改 Type 或猜測連接埠來嘗試連線。
Shadowsocks、VMess、VLESS:驗證與加密各有不同
Shadowsocks:加密方法必須一致
Shadowsocks 需要伺服器位址、連接埠、加密方法與密碼。加密方法不是速度等級,用戶端與伺服器必須設定一致;只複製密碼卻保留另一種加密方法,通常無法正常通訊。若伺服器另有外掛或額外傳輸需求,也必須確認目前用戶端支援並正確設定;基本四項相同不一定就足夠。
VMess:除了 UUID,也要確認傳輸方式
VMess 使用 UUID 識別身分,傳輸方式與 TLS 則會影響連線建立。若服務商採用 WebSocket,也要確認路徑與 Host;TLS 的 SNI 和 WebSocket 的 Host 可能用途不同,不能因為兩者都是網域名稱就任意互換。VMess 對系統時間有要求;驗證異常時,先恢復裝置的自動校時,再檢查參數。
VLESS:驗證不等於加密
VLESS 本身不提供內容加密,實際保護取決於外層安全機制與完整部署。UUID 正確不代表連線已受到 TLS 保護,也不代表伺服器要求的其他參數都已填妥。匯入 VLESS 後,應依服務商提供的設定核對 TLS、傳輸方式與其他欄位,不要自行刪除不熟悉的選項。
Trojan、HTTP 與 SOCKS5:不能只看連接埠判斷 TLS
Trojan 通常透過 TLS 建立安全連線,並以密碼進行代理驗證。連線位址可以是 IP,但憑證驗證仍可能需要正確的網域名稱與 SNI。若憑證名稱不符,請核對服務商提供的網域、SNI 與裝置時間,不要把關閉憑證驗證當成一般處理方式。
HTTP 與 SOCKS5 是通用代理介面。一般 HTTP 代理連線本身不會自動加密;瀏覽 HTTPS 網站時,HTTP CONNECT 可以承載網站的 TLS 連線,但用戶端到代理伺服器之間是否另外啟用 TLS,是另一回事。SOCKS5 本身也不提供內容加密,使用者名稱與密碼不能取代傳輸加密。
- HTTP:確認是否需要使用者名稱與密碼,以及代理連線本身是否使用 TLS。不要混淆網站的 HTTPS 與代理的 TLS 設定。
- SOCKS5:TCP 可用不代表 UDP 一定可用;UDP 關聯需要用戶端、伺服器與中間網路共同支援。
- Trojan:即使連接埠是
443,仍須使用正確的密碼與憑證設定;連接埠開啟只代表伺服器有回應,不能證明驗證成功。
Hysteria2 與 WireGuard:同樣使用 UDP,用途不同
Hysteria2 以 QUIC 為基礎,底層使用 UDP。實際連線表現與 UDP 是否可達、封包遺失、壅塞控制及頻寬設定有關。若網路封鎖 UDP,即使同一台伺服器的 TCP 連接埠可連線,也不能據此判定 Hysteria2 可用。頻寬參數應參考實際網路能力與服務商說明,不是填得越大就越快。
WireGuard 是加密 IP 隧道,不是以使用者名稱和密碼登入的代理協定。Private Key 保存在本機,Peer Public Key 用來識別遠端;兩者不能互換。Endpoint 是遠端位址與連接埠;隧道位址則是分配給本機的虛擬位址,不能直接把公網伺服器 IP 填入隧道位址欄位。
- Hysteria2:驗證正確卻一直逾時時,先確認目前網路是否允許目標 UDP 連接埠,再核對 TLS 與混淆設定。
- WireGuard:交握有回應,但部分網頁無法載入時,再檢查路由、DNS 與 MTU;交握成功不代表前往目標網站的路徑可用。
- 共同注意事項:切換 Wi-Fi 與行動網路有助於判斷是否受到本地網路限制;請記錄相同設定下的結果,避免一次更動多個參數。
不要只因為「使用 UDP」就認定兩者相同。Hysteria2 用於代理傳輸,WireGuard 用來建立 IP 隧道,匯入欄位、位址配置與路由範圍都不一樣。本文不提供速度排名,也不會將未經測量的網路表現寫成固定百分比。
從 Add Server 到 Home:核對與測試流程
以下流程以使用者已持有自己的服務商資訊與設定為前提。訂閱通常可集中更新節點參數;手動新增則適合檢查單一項目。訂閱更新可能覆寫遠端管理的欄位,手動排查前請保留原始設定,必要時複製成獨立項目再修改。
-
確認類型
在 Home 開啟現有節點的編輯頁,或點選右上角的「+」進入 Add Server,查看 Type。依服務商標示選擇 Shadowsocks、VMess、VLESS、Trojan 等類型,不要只憑節點名稱猜測。
-
核對驗證資訊
在 Add Server 核對 Address、Port,以及目前 Type 對應的驗證欄位。UUID 不要混入空格;Password 須留意大小寫;WireGuard 的 Private Key 不要傳給他人。
-
檢查傳輸設定
接著核對 TLS、SNI,以及設定所需的 WebSocket 路徑與 Host。只填寫服務商明確提供的選項,不要從其他節點複製未提供的欄位。
-
測試連線
儲存後返回 Home,選擇該節點並啟用連線。暫時使用 Global Routing → Proxy 測試同一個目標,記錄逾時、驗證失敗或憑證錯誤;測試結束後恢復原本的分流設定。
-
確認訂閱更新
使用訂閱時,在 Config → Subscribe 檢查訂閱項目並執行更新,再回到 Home 查看節點是否有變動。訂閱連結請向服務商取得,不要以用戶端設定檔網址代替節點訂閱網址。
例如 https://example.com/sub?token=xxxx 是明顯的假值,僅用來說明訂閱 URL 可能包含查詢參數。實際連結通常含有存取憑證;排查時若要截圖,請遮住整條連結與 QR Code,不要只遮住伺服器名稱。
Global Routing:分辨協定問題與規則問題
同一個節點在 Proxy 下能存取目標,在 Config 下卻失敗時,請優先檢查規則與策略指向,不要立刻重建節點。Config 會依設定中的規則選擇出口,未符合網域規則的流量不一定會直接連線;最終行為取決於後續規則與 FINAL。
Config
建議依目前設定中的規則與策略處理流量。先確認設定已啟用,再檢查目標要求符合哪一條規則。
適用情境:日常分流,且已有可用的規則設定
Proxy
讓納入代理處理範圍的要求經由代理出口,方便暫時排除 Config 的規則選擇影響;但這無法修正錯誤的驗證或 TLS 參數。
適用情境:短時間確認節點與目標是否可連線
Direct
直接連線,不經由所選的代理節點。使用此模式時網頁能開啟,不代表該節點的協定設定正確。
適用情境:比對本地網路直接連線的結果
Global Routing 中的 Scene 依已設定的場景決定連線行為,並非另一種代理協定。排查時也請查看 Settings → On Demand:若已啟用自動連線條件,手動中斷後可能會再次觸發連線。若要暫時停用,請先記下原設定,測試結束後再恢復。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
以上是規則結構範例,不是可直接替換的完整設定。example.com 與 192.0.2.0/24 僅供示範;PROXY 必須對應設定中有效的策略。DOMAIN-SUFFIX 會比對網域及其子網域;IP-CIDR 會比對 IP 位址範圍;GEOIP 會依 IP 地理資料庫判斷;FINAL 則接收前面規則未比對到的要求。規則通常依序比對;no-resolve 可避免只為這條 IP 規則觸發網域解析。
協定選擇與連線問題問答
節點名稱標示高速,應該選哪種 Type?
名稱只是標籤。請開啟 Home 中該節點的編輯頁查看 Type,或重新匯入服務商提供的完整分享連結;若只有位址與連接埠,請先索取協定與驗證參數。不要把名稱中的宣傳描述當成協定欄位。
延遲測試有數值,為什麼網頁還是無法開啟?
延遲結果只反映對應測試方式的回應,不代表能成功存取目標網站。先在 Home 選擇同一個節點,暫時切換至 Global Routing → Proxy 並嘗試存取同一個目標,再核對 DNS、TLS 與驗證資訊;若切回 Config 後才失敗,請檢查規則與策略。
Hysteria2 連線逾時,改成 Trojan 就可以嗎?
不能直接更改 Type。伺服器必須提供對應的 Trojan 服務與完整參數。先使用原本的 Hysteria2 設定,改用另一個網路測試並確認 UDP 是否可達;若要改用其他協定,請向服務商索取另一組完整設定。
訂閱更新後,手動修改的參數又還原了?
遠端訂閱可能會以新內容覆寫受管理的節點欄位。先比較 Config → Subscribe 更新前後的項目,再向服務商確認是否有變更;暫時排查時可保留獨立副本,不要反覆修改會被覆寫的原項目。
電腦和手機一定要強制使用同一種協定嗎?
不需要。先確認各裝置目前的介面支援服務商提供的完整參數,再分別測試所連接的網路。即使使用相同協定,也可能因網路、DNS 或伺服器策略而有不同結果;記錄設定差異,比只對照協定名稱更有幫助。