Shadowrocket(小火箭)的 Global Routing 決定連線採用規則分流、統一代理或統一直連。本文適合已有自己的訂閱或設定,卻不確定該如何選擇模式的使用者:先了解 Config / Proxy / Direct 的作用,再以相同目標進行對照測試,最後還原日常設定。切換模式不會更換協定,也無法取代有效的伺服器設定。
Global Routing 控制什麼、不控制什麼
在 Home → Global Routing 選擇的模式,會決定進入 Shadowrocket 處理範圍的連線如何選擇出口。Config 依據目前設定中的規則處理;Proxy 將這些連線統一交由目前選取的代理處理;Direct 則使用直連出口。此處的「全域」指的是路由決策,不代表裝置上的所有系統通訊都必定經由相同路徑。
路由模式與伺服器協定屬於不同層面。現有伺服器使用 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 或 WireGuard,都不會改變 Config / Proxy / Direct 的基本意義。切換至 Proxy 不會自動修正伺服器位址、連接埠或驗證欄位;切回 Config 也不會自動產生適合自己的規則。
如何選擇 Config / Proxy / Direct
日常優先選擇 Config 的前提,是已啟用自己了解其作用的設定。規則分流可讓不同目標採用不同策略,而非強制所有目標都使用同一個出口。規則可指定 DIRECT、代理策略或其他處理方式;若未符合前面的規則,則由 FINAL 決定去向,因此不能一概說成「其他連線全部直連」。
Config
建議依照目前設定中的規則與策略選擇出口。請一併確認規則順序、策略指向和 FINAL;若只有使用 Config 時發生失敗,原因可能出在規則或設定關聯選項。
適用情境:已有容易理解的規則設定,並需要日常長期分流。
Proxy
對進入處理範圍的連線統一使用目前選取的代理,不逐一依照一般分流規則決定出口。若目前的伺服器或策略無法使用,切換為 Proxy 仍可能失敗。
適用情境:暫時確認代理出口,或對照排查 Config 的規則命中情形。
Direct
對進入處理範圍的連線使用直連出口。這只會改變路由方式,不等於關閉連線開關或移除系統 VPN 設定,也無法突破目前網路本身的存取限制。
適用情境:對照確認目前網路是否可直連,或暫時測試本機目標。
Proxy 不一定比 Config 快,Direct 也不保證延遲較低。速度還會受到目前網路、目標服務、選取的出口、DNS 結果及連線重用等因素影響。若沒有明確故障,不必只因「全域」這個名稱就切換模式;先讓路由方式符合自己的使用目的。
依照固定步驟完成模式切換
開始前,先記下目前模式、選取的伺服器或策略,以及 Config 目前使用的設定。請先準備好自己的服務商與訂閱;如果 Home 中還沒有可用的伺服器,請先依照使用教學匯入已有資料,再進行以下對照測試。一次只變更 Global Routing,避免在同一輪測試中混入更新訂閱、切換伺服器和修改規則等操作。
-
記下原始設定
在 Home 記下目前的伺服器或策略,再前往 Config 確認目前使用的設定。記下原本的 Global Routing 模式,測試結束後需要還原。
-
開啟模式選項
返回 Home → Global Routing。先選擇 Config,連線後開啟一個自己有權存取的固定目標,記錄是否能載入,以及連線記錄中的處理結果。
-
對照測試 Proxy
在 Home → Global Routing 選擇 Proxy,維持伺服器和網路不變。重新連線至相同目標,觀察是否改用代理出口,以及問題是否仍然存在。
-
對照測試 Direct
在 Home → Global Routing 選擇 Direct,再測試相同目標。只記錄目前網路下的直連結果,不要將單次成功或失敗推論為所有目標都會有相同結果。
-
還原原始設定
返回 Home → Global Routing,還原原本的模式,通常是 Config。重新連線以確認設定已生效;若發現設定問題,請另外修改並測試,不要長期保留暫時的排查狀態。
Config 為何使用錯誤出口:從規則順序開始檢查
Config 的核心是規則比對。一般會依照設定中的順序逐一檢查,符合規則後便採用指定策略,因此較具體的例外規則應放在可能涵蓋它的廣泛規則之前。以下僅為協助理解語法的規則片段,不是完整設定,也不建議直接用來覆蓋目前的檔案。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX,example.com,PROXY會比對example.com及其子網域;此處的PROXY必須在目前設定中指向可用的代理處理方式。IP-CIDR,192.0.2.0/24,DIRECT,no-resolve示範 IP 網段規則。192.0.2.0/24是文件範例網段;no-resolve表示不會為了比對這條 IP 規則而主動觸發網域解析,不代表整個連線都不需要 DNS。GEOIP,CN,DIRECT會依據 IP 地理資料庫的判定進行比對,不是依網頁語言、網域後綴或使用者所在地判斷;結果可能受到解析出的 IP 位址與資料庫內容影響。FINAL,PROXY會處理前面所有規則都未比對成功的連線。若改為FINAL,DIRECT,未符合規則的連線預設出口也會改變;FINAL 應放在規則清單末尾。
如果 Proxy 可以存取目標,但 Config 失敗,請先查看新連線符合了哪條規則,再確認該規則所指定的策略。目標網頁可能會同時要求多個網域;首頁網域走代理,不代表圖片、登入介面和其他資源也會使用相同出口。請依據實際連線記錄檢查相關網域,不要只新增一條網頁網址,就認定分流已完整設定。
訂閱更新和設定更新也不是同一回事:更新現有訂閱主要會變更伺服器清單及其參數,不應據此推斷 Config 中的規則也已同步更新。在 Config 中確認目前確實選用了預期設定,並確認規則引用的策略仍有可用伺服器。更多規則說明請參閱Rules 功能說明。
根據對照結果找出問題,不要貿然下結論
以下說明如何判讀測試結果,並非針對特定網路的實測報告。比較時必須使用相同目標、相同網路和相同的代理選擇,並查看新連線;若測試期間從 Wi-Fi 切換至行動網路,或更換伺服器,結果就不再只是模式差異的對照。
| 觀察結果 | 優先檢查項目 | 下一步 |
|---|---|---|
| Proxy 成功,Config 失敗 | 規則比對、策略指向、目前使用的設定,以及設定關聯的 DNS 選項 | 查看失敗連線的實際處理結果,修正對應設定後重新測試。 |
| Direct 成功,Proxy 失敗 | 代理出口連線狀態、伺服器欄位、驗證資訊及目前選取的策略 | 核對已有的服務資料,並在網路不變的情況下測試該伺服器。 |
| Proxy 成功,Direct 失敗 | 目前網路至目標的直連路徑及 DNS 結果 | 確認是否只有特定目標受到影響,不要將結果解讀為所有網路都必須使用 Proxy。 |
| 三種模式都失敗 | 基本網路、目標服務狀態、DNS、連線授權與測試方式 | 先確認其他目標是否正常,再逐項排查,避免反覆切換模式。 |
伺服器測試顯示的延遲數值不能取代實際請求。出現延遲數值,只能表示相應的測試方式收到回應,不代表目標網頁的 DNS、驗證、資料傳輸或所有資源都正常。反過來說,某次測試逾時也不代表所有 App 流量都無法通過,應搭配實際連線記錄判斷。
分別檢查 On Demand 與路由模式
Settings → On Demand 管理依條件觸發連線的行為,Global Routing 則管理連線建立後如何選擇出口。兩者不能互相取代:開啟 On Demand 不會自動讓所有目標都使用代理,選擇 Direct 也不代表取消按需連線。排查「為什麼又連上了」時,應檢查觸發條件,而不是一再修改路由模式。
區分連線觸發與出口選擇
是否觸發連線
- 入口:Settings → On Demand。
- 檢查已啟用的觸發條件,以及目前網路是否符合條件。
- 手動進行對照測試時,記下 On Demand 原本的設定,避免自動重新連線影響判斷。
連線採用哪種路由
- 入口:Home → Global Routing。
- 透過 Config / Proxy / Direct 對照出口行為。
- 使用 Config 時還需檢查規則與策略;使用 Scene 時則另外確認場景條件。
先確認連線為何建立,再確認新連線使用哪個出口;測試結束後,請還原路由模式與按需連線設定。
若要確認完全未經 Shadowrocket 的網路狀態,請先關閉連線並確認系統連線狀態;若已啟用 On Demand,也要確認沒有再次觸發連線。這和選擇 Direct 的測試目的不同:前者確認未連線時的網路環境,後者則確認 Shadowrocket 連線狀態下的直連處理方式。
日常使用與還原檢查
排查完成後,請保留能清楚說明其運作方式的設定。對多數需要規則分流的日常情境,使用 Config 並維護規則,比長期停留在用於對照測試的 Proxy 或 Direct 更容易定位問題。不過,若本來就需要統一代理或統一直連,也可以選擇相應模式;重點是了解出口變化及其影響。
- 確認 Home → Global Routing 已還原至預期模式,而不是仍停留在暫時使用的測試選項。
- 確認 Config 中啟用的是預期設定,且 FINAL 與策略引用符合自己的用途。
- 確認目前的伺服器或策略有效;更新現有訂閱後,請重新檢查策略所選取的伺服器。
- 確認 Settings → On Demand 已還原原本設定,再重新測試常用目標。
- 保留測試條件與命中規則的紀錄;請勿在紀錄中公開訂閱連結、驗證資訊或其他憑證。
Shadowrocket 是透過 App Store 取得的閉源商業 App,主要供 iPhone 與 iPad 使用。核對正版時,請確認開發者為 Shadow Launch Technology Limited,且 App ID 為 932747118;一次買斷 App 不等於線路方案,連線所需的現有訂閱或設定需由使用者自行準備。系統需求與一般購買適用性,請以 App Store 頁面標示為準。