Shadowrocket Global Routing 怎麼選?Config、Proxy、Direct 路由模式比較

比較 Shadowrocket Global Routing 中 Config、Proxy、Direct 的流量路徑與適用情境,整理日常建議設定及臨時切換時機。

本文重點

本文適合已在 Shadowrocket(小火箭)匯入自有訂閱,卻不確定 Global Routing 該選哪個選項的使用者。先分清「是否連線」、「使用哪個伺服器」與「如何分流」,再用相同目標比較 Config、Proxy、Direct 的行為。日常使用通常選擇規則已確認的 Config;Proxy 適合暫時統一使用代理,或排查分流問題;Direct 則用於檢查直接連線。切換後請驗證新請求,排查完畢後恢復原設定。

一、先分清連線開關、伺服器與 Global Routing

Global Routing 決定進入 Shadowrocket 處理範圍的連線採用哪種路由方式,不會提供伺服器,也不等同於連線開關。在 Home 選擇伺服器,不代表每個請求都會經過該伺服器;選擇 Config 時,個別請求仍須依目前設定中的規則與策略處理。

先在 Home 找到 Global Routing,進入後查看目前選項;再前往 Config 確認目前使用的設定檔。Settings 中的功能設定則是另一個層面,例如 Settings → On Demand 用來管理依條件發起連線的行為,並非指定網域使用 DIRECT 或 PROXY。

3 種
本文比較:Config / Proxy / Direct
2 個層面
先確認連線狀態,再判斷請求路由
1 個目標
每輪測試固定使用相同網域與網路

部分介面也會列出 Scene,用來依情境安排路由選擇,不應將它簡單視為第四種固定流量出口。若有使用 Scene,還須確認目前情境實際採用的設定。本文先以手動選擇的三種模式建立判斷基準,避免情境切換增加變數。

二、Config、Proxy、Direct 的流量路徑

Config:依目前設定處理

建議

請求依目前設定中的規則與策略處理。符合 DIRECT 可直接連線,符合 PROXY 可交由代理處理,符合 REJECT 則會遭拒;若未符合前面的規則,通常由 FINAL 決定路徑。Config 不代表「只有少數網域使用代理」。

適用情境:已檢查規則與 FINAL 的日常分流。

Proxy:統一採用代理路由

進入客戶端處理範圍的連線會統一採用代理路由,而非逐條依 Config 中的分流規則選擇出口。實際能否存取,仍取決於使用的伺服器、協定設定、DNS 與目標服務。

適用情境:暫時統一使用代理,或比對排查 Config 中的規則與策略。

Direct:統一直接連線

進入客戶端處理範圍的連線會採用直接連線路徑,不經由所選代理伺服器轉送。客戶端仍可能維持連線狀態並處理 DNS 等事項,因此 Direct 不等於完全關閉連線。

適用情境:檢查目前網路能否直接連線至目標,或暫時避開代理轉送。

此處的「統一」僅限於客戶端實際接管的流量範圍,不代表裝置上的所有通訊都一定如此。系統行為、排除項目及既有連線都可能影響觀察結果。選擇 Proxy 也不能據此斷定所有 DNS 請求都會經過同一代理出口。

三、用四條規則理解 Config 為何不是固定出口

以下是供閱讀理解的規則片段,放在設定中的 [Rule] 區段即可。example.com 是說明用網域,不表示日常使用時應新增這條策略;測試時請勿覆蓋正在使用的完整設定。

[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

規則會依序比對,由最先符合的規則決定採用的策略。若測試網域先符合 DIRECT,即使後面還有 PROXY 規則,也不會因此改走代理。策略也可能指向設定中的策略群組;此時必須繼續確認群組目前的選項,不能只看規則最後一個欄位。

四、日常分流與臨時排查的設定方式

日常使用 Config 的前提,是已了解設定來源、規則範圍與 FINAL 的處理方式。若尚未確認設定內容,不能只憑「建議」兩字判斷它是否適合目前網路。訂閱通常提供伺服器項目;設定檔則可能包含規則與其他參數,兩者不能直接畫上等號。

兩種操作流程:穩定使用與單一變因排查

日常使用 Config
  • 在 Config 確認目前檔案,檢查 DIRECT、PROXY 與 FINAL。
  • 在 Home 確認可用伺服器,並設定 Global Routing → Config。
  • 分別測試一個預期直接連線的目標,以及一個預期使用代理的目標。
  • 需要自動連線時,再另外確認 Settings → On Demand。
暫時切換 Proxy / Direct
  • 記下原本的路由模式、設定檔與所選伺服器。
  • 固定網路與測試目標,只切換 Global Routing。
  • 結束舊請求後重新連線,觀察新連線的結果。
  • 記錄測試結果並恢復 Config,再次確認常用服務。

一次只調整一個變因;不要同時切換路由、更新訂閱、更換伺服器與修改 DNS。

切換模式不一定會立即重建既有的長連線。音樂播放、即時通訊或瀏覽器重複使用的連線可能仍會沿用原連線。可先停止相關請求,再重新開啟目標;若要中斷並重新連線客戶端,請先確認沒有需要維持的連線工作階段。

五、依現象排查:Proxy 可用,Config 無法使用

這種情況表示值得檢查路由差異,但不能直接證明「一定是某條規則寫錯」。不同路徑可能使用不同出口、解析結果或目標位址。依照下列順序檢查,可縮小問題範圍,也避免將伺服器問題誤認為規則問題。

  1. 固定測試條件。記錄目標網域、目前使用的 Wi-Fi 或行動網路、所選伺服器與連線狀態。使用相同目標發起新請求,分別記錄 Config 與 Proxy 的結果;不要把延遲測試數值當成網頁存取結果。
  2. 確認 Config 下實際符合的規則。查看客戶端可用的請求或連線記錄,核對目標網域、目標 IP、符合的規則與策略。特別留意是否符合 DIRECT、REJECT,或指向其他伺服器的策略群組。
  3. 確認預設處理方式。前面的規則都未符合時,檢查 FINAL 採用的策略。若預期使用代理,實際結果卻是 DIRECT,應先確認這是設定設計還是規則遺漏,而非立刻修改所有規則。
  4. 檢查網域與 IP 的差異。目標可能重新導向至其他網域,也可能載入多個資源網域。只替首頁網域新增規則,不一定能涵蓋登入介面、圖片或媒體請求。
  5. 盡量減少變更。先備份目前設定,只調整與目標相關的規則或策略,再透過新連線驗證。找出問題後,請還原不再需要的臨時設定。

若 Proxy 與 Config 都無法連線,但 Direct 可以,請優先檢查代理路徑與所選伺服器,不必先重寫規則。若三種模式都失敗,則應檢查目前網路、目標是否可用,以及 DNS 等共同條件。Direct 仍可能使用客戶端的 DNS 設定,因此若要比較系統網路的基準狀況,可在確認沒有重要連線工作階段後,關閉客戶端連線再單獨測試。

六、Global Routing 常見問題

選擇 Proxy 後,為什麼某個 App 還是無法開啟?

先在 Home 確認所選伺服器與連線狀態,再以相同目標發起新請求測試。代理路徑可用,不代表目標服務接受該出口;還須排查 DNS、目標服務限制與協定參數。不要反覆切換模式來取代對失敗請求的實際檢查。

選擇 Direct 後,為什麼連線標記還在?

Direct 會改變流量路由,不會關閉客戶端。若要停止連線,請操作 Home 的連線開關;若之後又自動連線,再前往 Settings → On Demand 檢查觸發條件。不要只憑系統連線標記判斷請求是否經過代理伺服器。

更新訂閱後,會自動取得適合自己的 Config 規則嗎?

不能這樣推論。伺服器訂閱更新與設定檔規則管理應分開確認。更新後先在 Home 檢查伺服器項目,再前往 Config 確認目前檔案與規則。訂閱連結請向你的服務供應商取得,含有認證資料的連結不要貼到公開記錄中。

可以一直使用 Proxy,不再檢查 Config 嗎?

可以依實際需求選擇,但要了解統一代理會改變原本可直接連線的請求路徑,可能影響區域網路資源、連線延遲或目標服務的判斷。需要分流時應恢復 Config,並明確設定相關 DIRECT 規則;不要把 Proxy 當成長期掩蓋設定錯誤的方法。

換到 iPad 後,需要重新確認路由選項嗎?

需要。在新裝置上分別確認 Home → Global Routing、Config 目前使用的檔案,以及 Settings → On Demand。即使已移轉設定檔,也應在目前網路環境驗證實際行為;不同裝置的網路環境與連線條件不一定相同。

最後可用一句話確認操作目的:日常依規則處理時選 Config;暫時統一使用代理或比對規則時選 Proxy;檢查直接連線時選 Direct。判斷時應以「新請求實際符合什麼規則、最後採用哪條路徑」為準,而不只是看模式名稱。

App Store 下載先確認正版資訊