本文適合已在 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。
部分介面也會列出 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
DOMAIN-SUFFIX,example.com,DIRECT:符合example.com及其子網域時採用 DIRECT;不會符合notexample.com。IP-CIDR,192.168.0.0/16,DIRECT,no-resolve:符合該 IP 位址範圍的連線使用 DIRECT;no-resolve表示不會為符合這條規則而主動觸發網域解析。GEOIP,CN,DIRECT:依客戶端使用的 GeoIP 資料判斷目標 IP 是否屬於 CN。判斷依據不是網頁語言、網域後綴或使用者所在地。FINAL,PROXY:前面的規則都未符合時使用 PROXY。若改為FINAL,DIRECT,預設處理路徑也會隨之改變。
規則會依序比對,由最先符合的規則決定採用的策略。若測試網域先符合 DIRECT,即使後面還有 PROXY 規則,也不會因此改走代理。策略也可能指向設定中的策略群組;此時必須繼續確認群組目前的選項,不能只看規則最後一個欄位。
四、日常分流與臨時排查的設定方式
日常使用 Config 的前提,是已了解設定來源、規則範圍與 FINAL 的處理方式。若尚未確認設定內容,不能只憑「建議」兩字判斷它是否適合目前網路。訂閱通常提供伺服器項目;設定檔則可能包含規則與其他參數,兩者不能直接畫上等號。
兩種操作流程:穩定使用與單一變因排查
日常使用 Config
- 在 Config 確認目前檔案,檢查 DIRECT、PROXY 與 FINAL。
- 在 Home 確認可用伺服器,並設定 Global Routing → Config。
- 分別測試一個預期直接連線的目標,以及一個預期使用代理的目標。
- 需要自動連線時,再另外確認 Settings → On Demand。
暫時切換 Proxy / Direct
- 記下原本的路由模式、設定檔與所選伺服器。
- 固定網路與測試目標,只切換 Global Routing。
- 結束舊請求後重新連線,觀察新連線的結果。
- 記錄測試結果並恢復 Config,再次確認常用服務。
一次只調整一個變因;不要同時切換路由、更新訂閱、更換伺服器與修改 DNS。
切換模式不一定會立即重建既有的長連線。音樂播放、即時通訊或瀏覽器重複使用的連線可能仍會沿用原連線。可先停止相關請求,再重新開啟目標;若要中斷並重新連線客戶端,請先確認沒有需要維持的連線工作階段。
五、依現象排查:Proxy 可用,Config 無法使用
這種情況表示值得檢查路由差異,但不能直接證明「一定是某條規則寫錯」。不同路徑可能使用不同出口、解析結果或目標位址。依照下列順序檢查,可縮小問題範圍,也避免將伺服器問題誤認為規則問題。
- 固定測試條件。記錄目標網域、目前使用的 Wi-Fi 或行動網路、所選伺服器與連線狀態。使用相同目標發起新請求,分別記錄 Config 與 Proxy 的結果;不要把延遲測試數值當成網頁存取結果。
- 確認 Config 下實際符合的規則。查看客戶端可用的請求或連線記錄,核對目標網域、目標 IP、符合的規則與策略。特別留意是否符合 DIRECT、REJECT,或指向其他伺服器的策略群組。
- 確認預設處理方式。前面的規則都未符合時,檢查 FINAL 採用的策略。若預期使用代理,實際結果卻是 DIRECT,應先確認這是設定設計還是規則遺漏,而非立刻修改所有規則。
- 檢查網域與 IP 的差異。目標可能重新導向至其他網域,也可能載入多個資源網域。只替首頁網域新增規則,不一定能涵蓋登入介面、圖片或媒體請求。
- 盡量減少變更。先備份目前設定,只調整與目標相關的規則或策略,再透過新連線驗證。找出問題後,請還原不再需要的臨時設定。
若 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。判斷時應以「新請求實際符合什麼規則、最後採用哪條路徑」為準,而不只是看模式名稱。