Shadowrocket(小火箭)支援多種代理與隧道協定,但只知道協定名稱,還不足以完成連線設定。本文適合已有服務商與訂閱的使用者,先釐清協定、傳輸方式與規則的差異,再逐項核對 Add Server 中的位址、連接埠、驗證與 TLS 設定,最後整理匯入、測試及排錯步驟。訂閱請向你的服務商取得。
一、協定、傳輸方式與 Global Routing 的差異
協定決定用戶端與遠端如何驗證、封裝及傳送資料;傳輸方式則決定資料透過 TCP、UDP、WebSocket 或 QUIC 等通道傳送。TLS 負責相關連線層的加密與身分驗證。這些設定不能互相取代:即使兩筆記錄同為 VLESS,傳輸方式、TLS 或伺服器要求不同,參數也可能無法通用。
Home 用來管理及選取連線記錄,Config 用來管理設定檔,Settings 則可調整 App 設定。Home 中的 Global Routing 決定請求要走哪條路徑,不會將 Shadowsocks 服務轉換成 Trojan 服務。Config 會依設定檔中的規則分流;實際結果取決於符合的規則及其目標策略,不是固定讓某類網站一律直連。
| 設定層 | 範例 | 檢查項目 |
|---|---|---|
| 協定類型 | Shadowsocks、VMess、Trojan | Type 必須與伺服器協定一致 |
| 傳輸與安全性 | WebSocket、TLS、QUIC | 傳輸方式、路徑、網域與驗證參數 |
| 路由模式 | Proxy、Direct、Config、Scene | 請求實際使用的路徑或場景設定 |
| 設定檔規則 | DOMAIN-SUFFIX、IP-CIDR、GEOIP、FINAL | 規則順序與目標策略 |
二、Shadowsocks:核對 Method 與 Password
Shadowsocks 使用預先共享的憑證,並依所選 Method 加密及驗證代理資料。常見的 AEAD Method 包含 aes-128-gcm、aes-256-gcm 和 chacha20-ietf-poly1305。不同 Method 的金鑰要求與協定細節各異,名稱相近不代表相容;若涉及特定擴充功能,也要確認用戶端與伺服器皆支援該功能。
- 在 Home 右上角點選「+」進入 Add Server,將 Type 設為 Shadowsocks。
- Address 與 Port 分別填入遠端位址和監聽連接埠,不要填訂閱 URL。
- Method 與 Password 必須完全相符。請勿以帳戶登入密碼代替連線密碼。
- 如果原始參數包含額外混淆或外掛設定,請保留對應參數;一般的 TLS 開關不能取代這些設定。
成功儲存只代表記錄格式可被接受,不代表驗證已通過。若位址可連線但請求始終無法傳送,先比對原始參數中的 Method、Password 與附加設定,再檢查 UDP 轉送等功能;不要一次連續更改多個選項,才回頭判斷原因。
三、VMess 與 VLESS:UUID 相似,不代表可以互換
VMess 與 VLESS 都可能使用 UUID 作為使用者識別碼,但驗證與資料處理機制不同。VMess 有自己的驗證與加密機制;VLESS 本身不會加密載荷,必須依伺服器方案搭配 TLS 或其他相應的安全機制。只將 Type 從 VMess 改成 VLESS,並不能完成協定轉換。
| 檢查項目 | VMess | VLESS |
|---|---|---|
| 使用者驗證 | UUID;若原始設定含有 AlterId,也要一併核對 | UUID;若有 Flow 要求,請依原始參數填寫 |
| 協定加密 | 保留伺服器要求的加密設定 | 協定本身不提供載荷加密 |
| 底層傳輸 | 依設定檔核對 TCP 或 WebSocket 等項目 | 依設定檔核對 TCP 或 WebSocket 等項目 |
| TLS 參數 | 啟用狀態、Server Name 等設定必須一致 | 安全層設定及相關驗證參數須完整 |
在 Add Server 選擇對應的 Type 後,先填入 Address、Port 和 UUID,再檢查傳輸與 TLS 相關選項。若使用 WebSocket,也要核對 Host 與 Path;/ws 和 / 是不同路徑,請勿自行簡化。若使用其他安全性擴充功能,應比對完整原始設定,不能只複製位址和 UUID。
重點:保留完整參數
同一筆記錄匯入後若無法連線,先逐項比對服務商提供的原始設定,包括 Type、傳輸方式、Path 和安全層參數;不要先切換協定或關閉身分驗證。
四、Trojan 與 HTTP/SOCKS5:分辨驗證與加密
Trojan 通常透過 TLS 保護傳輸,並以 Password 驗證。在 Add Server 中,請核對 Type、Address、Port、Password 及 TLS 相關設定。連線位址與憑證身分不一定是同一個字串:Address 可能是 IP,而 Server Name 應符合伺服器要求及憑證身分。不要只因填了 IP,就任意將 Server Name 也改成 IP。
HTTP 與 SOCKS5 是通用代理協定。HTTP 代理可透過 CONNECT 建立通道,但 CONNECT 本身不代表用戶端與代理伺服器之間的連線已加密;SOCKS5 的使用者名稱與密碼驗證也不會自動加密傳輸。目標網站使用 HTTPS,與連線至代理端點的這一段是否受 TLS 保護,是兩個不同層面。
- Trojan:核對 Password、TLS 與 Server Name;若出現憑證錯誤,先檢查網域、裝置時間與憑證鏈。
- HTTP:核對位址、連接埠,以及是否需要 Username、Password;若遠端要求使用加密代理連線,還須設定相符的 TLS 選項。
- SOCKS5:核對驗證方式;若需要轉送 UDP,伺服器與用戶端都必須支援相應功能。
- 共同要求:除非服務商明確表示兩者相同,否則不要直接使用網頁控制台的登入憑證作為代理驗證憑證。
五、WireGuard 與 Hysteria2:也要檢查 UDP 是否可用
WireGuard 是以 UDP 為基礎的加密隧道協定,透過公私鑰建立對等連線。它不使用 VMess 的 UUID,也不採用 Trojan 的 Password 結構。手動設定時,請依既有設定核對本機 Private Key、隧道位址、遠端 Public Key、Endpoint 及必要的路由參數;若有提供 Pre-shared Key,也必須保留。私鑰屬於敏感資訊,請勿放入公開截圖。
Hysteria2 以 QUIC 為基礎,底層依賴 UDP,並使用 TLS 保護連線。在 Add Server 選擇 Hysteria2 後,請核對位址、連接埠、驗證資訊及 Server Name 等安全設定。若原始設定還包含混淆參數,也須一併填妥。網路允許 TCP 443,不代表同一網路也允許 UDP 443。
| 協定 | 重要參數 | 連線失敗時優先檢查 |
|---|---|---|
| WireGuard | Private Key、Public Key、隧道位址、Endpoint | 金鑰配對、UDP 可達性、隧道路由及位址是否衝突 |
| Hysteria2 | 驗證資訊、連接埠、Server Name、選用的混淆設定 | UDP 是否受限、驗證資訊是否相符、TLS 身分驗證是否通過 |
協定名稱無法直接預測實際速度。延遲、封包遺失、頻寬限制、伺服器負載及目前網路的 UDP 政策都可能影響結果。若某筆 Hysteria2 記錄在行動網路可用,連上特定 Wi-Fi 後卻逾時,可將「網路路徑或 UDP 限制」列為檢查方向,但單憑這個現象還無法確定原因。
六、在 Add Server 手動設定與透過 Subscribe 匯入
單筆記錄適合逐項核對參數,訂閱則適合批次匯入及後續更新。訂閱位址是取得記錄的入口,不是遠端代理的 Address。以下的 https://example.com/sub?token=xxxx 僅為格式範例,不能用於連線;實際訂閱請向你的服務商取得。
-
開啟新增頁面
進入 Home,點選右上角「+」開啟 Add Server。若要手動設定,請先在 Type 選擇與原始參數相符的協定。
-
填寫連線設定
依協定填入 Address、Port 及對應的驗證項目。接著核對 TLS、Server Name、傳輸方式和 Path,不要用常見預設值取代伺服器要求。
-
匯入訂閱
若已有訂閱,請在 Add Server → Type 選擇 Subscribe,將完整訂閱位址填入 URL,儲存後等待取得記錄。請勿將訂閱位址填入個別協定的 Address。
-
核對並測試
返回 Home,確認匯入數量及各筆記錄的 Type,選取一筆記錄並連線。再前往明確的測試目標,分辨延遲測試結果與實際請求結果。
-
保留更新來源
若要同步服務商的調整,請在 Home 更新訂閱。更新後再次確認記錄是否存在;不要將訂閱產生項目的本機修改視為長期保存方式。
七、協定設定正確後,仍須檢查 Global Routing
連線記錄測試正常,但某個網站無法連線時,先確認該請求是否真的經過所選記錄。Global Routing 的 Config 會執行設定檔中的規則;例如請求符合前面的 DOMAIN-SUFFIX 後,後面的 FINAL 就不會再處理該請求。IP-CIDR 用於比對 IP 網段,GEOIP 則依目標 IP 所屬地區比對,兩者都不是選擇協定的開關。
Config:依設定檔規則分流
建議使用已核對的設定檔,依規則順序選擇目標策略。未符合前面規則的請求通常由 FINAL 處理,最終路徑取決於設定檔內容。
適用情境:已有明確分流需求,並已核對規則的日常使用
Proxy:測試代理路徑
讓 Shadowrocket 處理的請求使用代理路徑,暫時降低規則分流對測試的影響。但這無法修復無效密碼、TLS 錯誤或遠端無法連線等問題。
適用情境:暫時確認故障是否與 Config 規則有關
Direct:測試直連路徑
使用直連路徑,對照目前網路連線至同一目標的狀況。選取 Direct 後網頁能開啟,不代表代理記錄已成功連線。
適用情境:比較直連與代理的結果,縮小排錯範圍
Scene 用來依情境整理相關設定,並不是新的協定。Settings → On Demand 可管理自動連線條件,也不會變更連線記錄的 Type。排查時先維持測試條件一致,檢查 Global Routing 與目前生效的設定檔,再單獨確認是否有 On Demand 自動連線行為。
八、常見協定設定問題
有位址和連接埠,為什麼還是無法使用?
進入 Home,開啟對應記錄的編輯頁面,檢查 Type 與驗證項目。Shadowsocks 還需要 Method 和 Password;VMess/VLESS 需要 UUID 及傳輸參數;WireGuard 則需要金鑰與隧道設定。位址和連接埠只用來識別遠端入口。
延遲測試有數值,為什麼網頁還是無法開啟?
延遲測試成功不代表能成功連線至目標網站。先在 Home 檢查 Global Routing,暫時使用 Proxy 與 Config 進行比較;若只有 Config 會失敗,請檢查規則。兩種模式都失敗時,再核對 DNS、驗證與 TLS,別只憑延遲數值就認定協定可用。
TLS 發生錯誤,可以直接略過驗證嗎?
先核對裝置時間、Address、Server Name 與伺服器憑證是否相符,再向你的服務商確認完整安全參數。略過驗證會降低身分驗證的安全性,不應做為一般修復方式,也無法解決密碼錯誤或傳輸路徑不符的問題。
訂閱更新後,手動修改的內容為什麼不見了?
訂閱產生的記錄可能會在更新時重新建立。返回 Home 檢查訂閱來源與更新結果,並請服務商確認必須長期保留的連線需求;若要獨立測試,請另建手動記錄,不要依賴修改訂閱項目來保存設定。
支援的協定很多,應該選哪一種?
先使用服務商明確提供且參數完整的協定。若要比較,請在同一裝置、同一網路及相近時段連線至同一目標,記錄連線成功率、請求耗時與錯誤類型,每次只改變一個因素。不要只憑協定名稱判斷穩定性。