Shadowrocket(小火箭)的 Global Routing 會決定已接管連線的處理方式:Config 依目前設定檔比對規則,Proxy 一律走代理路徑,Direct 則走直連路徑。本文以使用者已有自己的服務商與訂閱為前提,說明如何切換、判讀規則,以及如何用同一個目標進行比較排查。日常使用建議優先選用檢查過的 Config;Proxy 適合暫時比對,Direct 則可用來測試直連。切換後應檢查新建立的連線,而不只是確認連線開關。
三種模式的差異:先分清規則、代理與直連
Global Routing 是路由模式,不是連線品質等級。切換模式不會修改既有伺服器的位址、連接埠或驗證資訊,也不會因為切到 Proxy 就提高線路頻寬。該選哪種模式,取決於這次連線需要如何處理。
Config:依目前設定檔處理
建議依規則順序決定連線走 DIRECT、PROXY,或設定檔中指定的策略;若前面的規則都未命中,則由 FINAL 決定連線去向。Config 不代表「其他連線一律直連」。
適用情境:日常分流,且已檢查規則與 FINAL。
Proxy:一律走代理路徑
對已接管的一般連線,不再依據 Config 中針對目標的分流規則選擇直連或代理,而是統一走代理路徑;仍須有可用的伺服器和正確參數。
適用情境:暫時統一走代理,或與 Config 比較路由結果。
Direct:一律走直連路徑
已接管的一般連線會走直連路徑。連線開關仍可維持開啟,因此 Direct 不等於關閉 Shadowrocket,也不代表所有網路設定都已還原為系統預設值。
適用情境:確認目前網路能否直連,或暫時讓所有連線直連。
此處所說的「一律」僅適用於 Shadowrocket 實際接管的連線,不應解讀為裝置上的所有流量都必定經過同一個出口。DNS、區域網路存取、既有連線及設定檔中的其他網路行為,仍須分別檢查。
切換位置:Home → Global Routing
在 iPhone 或 iPad 上開啟 Shadowrocket,進入 Home,點選 Global Routing,再選擇 Config、Proxy 或 Direct。請勿將底部的 Config 頁面與此處的 Config 模式混為一談:前者用來管理設定檔,後者則決定連線是否依照目前設定檔中的規則處理。
- 記下原本狀態。記錄目前的 Global Routing、使用中的設定檔,以及選取的既有伺服器,避免排查後忘記還原。
- 確認使用條件。若需要代理,請先確認既有訂閱已匯入,且伺服器參數完整;切換模式時不要同時更新訂閱或更換伺服器。
- 選擇模式。在 Home → Global Routing 中點選目標項目,返回 Home 確認顯示結果,再檢查連線開關是否符合需求。
- 建立新連線。重新開啟測試頁面;必要時關閉再重新開啟相關 App。舊連線可能仍沿用原本的路徑。
- 還原日常設定。驗證完成後,切回原先檢查過的模式,再次存取相同目標確認結果。
如果頁面上還有 Scene,請將它視為依預設場景條件套用相關設定的入口,而不是固定代表「全部走代理」或「全部直連」。使用前應先確認場景條件及關聯設定;若要進行可重現的三模式比較,請先明確選擇 Config、Proxy 或 Direct。
Config 如何分流:依序比對,最後檢查 FINAL
Config 的結果取決於目前生效的設定檔,而非模式名稱本身。在 Config 頁面確認目前使用的檔案,再檢視其中的規則。一般規則會由上而下比對;命中適用規則後,就依該規則指定的策略處理,不會綜合計算所有規則的結果。
以下是用來說明語法的獨立範例,並非建議直接取代現有設定。網域使用文件範例網域,位址範圍則使用文件示例位址;這些都不是可用的服務資訊。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX,example.com,PROXY:比對example.com及其子網域,並指定走代理路徑;這不是針對整個 URL 搜尋關鍵字。IP-CIDR,192.0.2.0/24,DIRECT:比對目標 IP 所屬的位址範圍。以網域存取時是否會觸發 IP 類規則,也與解析結果及相關選項有關。GEOIP,CN,DIRECT:依目標 IP 的地區資料庫比對結果處理;資料庫標示的 IP 歸屬地不一定是網站營運者所在地。FINAL,PROXY:處理前面規則都未命中的連線。若改為FINAL,DIRECT,未匹配連線的預設路徑也會跟著改變。
因此,「切換到 Config 後,某個網站仍走代理」不一定是異常:它可能命中了網域規則、IP 規則或某個策略群組,也可能最後套用 FINAL。請先檢查該次新連線的比對記錄,再決定是否修改規則。若將涵蓋範圍較廣的規則放在前面,也可能導致後續的具體規則無法生效。
日常使用與排查怎麼選:先固定目標,再比較結果
日常瀏覽時,有些目標需要直連,有些則需要代理;檢查過的 Config 較容易維持清楚的路由範圍。暫時排查時則應控制變因:維持相同網路、相同目標與相同伺服器,只變更 Global Routing,才能比較差異。
兩種使用方式:日常分流與暫時比對
日常使用 Config
- 確認 Config 頁面選取的是預期檔案。
- 檢查目標規則與 FINAL 的策略。
- 分別測試一個預期直連的目標和一個預期走代理的目標。
- 調整規則後重新建立連線,確認比對結果。
暫時使用 Proxy / Direct
- 先記下 Config 模式下的具體失敗情形。
- 伺服器維持不變,切換至 Proxy 後存取相同目標。
- 接著使用 Direct,確認目前網路能否直接存取。
- 記錄結果後還原原本模式;不要把單次成功當成長期結論。
Config 失敗而 Proxy 成功時,優先檢查規則去向與策略選擇;這只是排查線索,仍須搭配 DNS 和連線記錄確認原因。
例如,同一個頁面在 Config 下逾時、Proxy 下可載入,而 Direct 下也逾時,可先查看 Config 是否將連線導向 DIRECT,或導向其他無法使用的策略。反過來說,若 Direct 正常而 Proxy 逾時,應優先檢查代理伺服器與連線路徑。這裡說明的是如何判讀比較結果,並非保證每次測試都會得到相同結果。
切換後仍無法開啟:分別檢查路由、DNS 與連線
Global Routing 只處理路由方式,無法取代伺服器驗證、網域解析及協定傳輸條件。一次存取通常會經過解析網域、連接目標位址、建立加密工作階段等步驟;其中任何一步失敗,都可能讓頁面持續載入。
| 觀察到的現象 | 優先檢查項目 | 下一步 |
|---|---|---|
| Config 失敗,Proxy 正常 | 規則比對、FINAL、策略群組選擇 | 在 Data 的連線記錄中尋找同一目標的新連線,確認實際使用的策略;實際顯示內容以目前介面為準。 |
| Proxy 失敗,Direct 正常 | 既有伺服器位址、連接埠、驗證資訊與傳輸條件 | 檢查既有訂閱中的參數,確認沒有手動輸入錯誤的連接埠或憑證,再單獨測試伺服器。 |
| 三種模式都失敗 | 目前網路、DNS、目標本身的狀態 | 先確認其他目標是否能存取,再檢查解析錯誤;不要一次連續修改多個設定項目。 |
| 切換後原頁面看起來沒有變化 | 連線重用、快取、背景連線 | 關閉原頁面後重新存取;必要時重新開啟 App,再查看新連線記錄。 |
以常見的 HTTPS 存取為例,目標連接埠通常是 443;傳統 DNS 查詢通常使用 53,DNS over HTTPS 通常使用 443。這些連接埠分屬不同環節,並不表示要將既有代理伺服器的連接埠改成這些數值。伺服器連接埠必須與使用者既有設定一致。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 是協定或通道類型,不能取代 Global Routing。切換到 Proxy 不會自動將協定轉換成其他類型,也無法修正錯誤的驗證資訊。DNS 也應依目前設定個別檢查:Direct 不保證解析方式會因此還原為系統預設值。
常見問題:連線開關、訂閱與自動連線各自影響什麼
選了 Proxy,為什麼還是無法使用?
先返回 Home 確認選取的既有伺服器及連線開關,再檢查位址、連接埠與驗證參數。Proxy 只是將已接管的連線交由代理路徑處理;如果該路徑無法使用,這個模式本身不會建立可用連線。請固定同一個目標進行測試,避免同時更換網路和伺服器。
切換到 Direct 後,為什麼系統仍顯示 VPN 狀態?
Direct 是連線開啟時的一種路由方式,不是停止網路延伸功能的按鈕。若要停止 Shadowrocket 接管連線,應在 Home 關閉連線,並檢查 Settings → On Demand 是否設定了自動觸發條件;仍須以實際連線狀態為準。
更新既有訂閱,就會一併更新 Config 規則嗎?
不應如此推斷。伺服器訂閱更新與路由設定檔更新是兩回事,實際更新內容取決於匯入的項目。更新後,請分別檢查 Home 中的伺服器,以及 Config 中目前生效的檔案;伺服器數量改變,不能證明規則或 FINAL 已更新。
開啟 On Demand 後,還需要選擇 Global Routing 嗎?
兩者仍須分別確認。Settings → On Demand 負責管理符合條件時的連線觸發方式,Global Routing 則決定連線建立後的處理方式。開啟自動連線不代表已自動選取正確的規則設定檔;若同時使用 Scene,也應檢查場景是否會套用其他設定。
Proxy 可以開啟的網頁,是不是都該新增一條規則?
先確認 Config 下的新連線命中了什麼,再決定是否修改。如果只是目前選錯策略群組中的伺服器,應先修正選擇;確實需要新增網域規則時,請使用適當範圍的 DOMAIN-SUFFIX,並放在會更早命中的廣泛規則之前,之後重新驗證。
恢復日常使用前,確認這四項
排查結束後,應還原成明確且容易理解的設定狀態,而不是只保留最後一次能開啟頁面的模式。尤其暫時使用 Proxy 後,應確認是否仍需要所有已接管的連線都走代理路徑;在 Direct 下測試完成後,也要確認原本需要代理的目標。
- 模式:Home → Global Routing 顯示預期選項,沒有停留在暫時測試狀態。
- 設定檔:Config 中的生效檔案、規則順序與 FINAL 符合實際需求。
- 伺服器:目前代理路徑使用的是使用者既有且參數完整的伺服器,並未將延遲數值視為可用性的唯一依據。
- 驗證:重新建立連線,分別檢查預期直連與預期走代理的目標,並確認 Settings → On Demand 的觸發條件。
Shadowrocket 是 Apple 平台的付費用戶端,主要供 iPhone 與 iPad 使用,唯一取得管道為 App Store。這是閉源商業 App,購買用戶端不等於購買線路方案;本文不提供、不販售也不推薦節點或訂閱。系統需求、裝置相容性與一般購買資訊,請以 App Store 頁面標示為準。