本文重點

Shadowrocket(小火箭)日常使用通常選 Config,前提是已選好並確認設定檔;Proxy 可用來暫時確認代理路徑,Direct 則用於比對本地網路。本文適合已有伺服器或訂閱的使用者,說明三種模式如何改變請求走向,以及如何在不一次變更多項設定的情況下找出問題。此處所說的「全部」,是指進入 Shadowrocket 處理範圍的流量,不代表裝置上的所有通訊都一定會經過它。

一、先選模式:Config、Proxy、Direct 的處理範圍

在 Home → Global Routing 中選擇模式。這項選擇決定請求採用哪一類路由邏輯,不等於選擇伺服器,也不等於啟用連線。只有相關流量進入 Shadowrocket 的處理範圍,所選模式才會生效;連線開關關閉時,單獨切換這裡並不會建立代理連線。

Config:依設定檔規則選擇策略

建議

依照目前設定檔中的分流規則處理請求,可能採用 PROXY、DIRECT、REJECT,或設定檔中定義的策略群組。未符合前面規則的請求如何處理,取決於 FINAL 等預設規則,不一定會直連。

適用情況:已有可信且確認過的設定檔,日常需要依目標分流。

Proxy:統一使用代理路徑

對進入處理範圍的流量統一採用代理路徑,不再逐項依照一般分流規則決定去向。仍須有可用的伺服器;協定、DNS 或目標服務本身的問題,不會因切換模式而自動排除。

適用情況:暫時透過代理連線,或與 Config 對照以排查規則及策略選擇。

Direct:統一使用直連路徑

進入處理範圍的流量會直接連線,不經過所選的代理伺服器。VPN 狀態仍可能顯示已連線,因此狀態列圖示不能單獨證明某個請求經過代理。

適用情況:確認本地網路能否直接連上目標,建立對照結果。

Global Routing 中也可能會看到 Scene。它會依照已設定的場景條件套用相應安排,不宜視為固定的第四種網路路徑。若尚未確認場景條件,請先使用本文介紹的三種明確模式完成測試,再另外檢查場景設定。

二、分清三個項目:路由模式、設定檔與連線開關

「已匯入訂閱」只代表已有伺服器資訊,不表示規則設定正確。伺服器訂閱主要提供連線參數;設定檔則可能包含規則及其他設定。兩者可能分別更新,名稱相似也不代表目前使用的是同一份內容。

3 種
本文比較的模式:Config / Proxy / Direct
2 個
模式選擇位置:Home → Global Routing
4 類
下文規則範例:DOMAIN-SUFFIX / GEOIP / IP-CIDR / FINAL
  1. 先查看 Home:確認選取的是自己已有的目標伺服器,且連線資訊完整。切換 Global Routing 不會替你修正伺服器位址、連接埠或驗證資訊。
  2. 接著查看 Config:確認目前選取的設定檔。僅儲存或匯入檔案,不代表已啟用;請返回清單確認目前的選取狀態。
  3. 最後確認連線開關:確認連線已建立,再發出新的存取請求。既有的長連線不適合用來判斷剛切換的模式。

如果已有的訂閱更新,請先確認伺服器清單中原本選取的項目是否仍存在,再檢查實際連線目標。更新訂閱與切換 Global Routing 是兩回事;即使路由模式相同,所選伺服器不同也可能造成不同結果。

三、Config 如何決定流量去向:依序比對規則與 FINAL 預設規則

Config 的關鍵不在於「部分走代理、其餘直連」這種概括說法,而在於實際規則內容。一般分流規則會依序判斷,較前面的符合項目可能使後續規則不再生效。以下片段用於說明語法,範例網域僅供解說,不是測試網址,也不應直接拿來取代整份設定檔。

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

因此,Config 並不會自然減少代理流量,也不保證某類網站一定直連。設定檔中的 PROXY 也可能涉及目前選取的伺服器或策略群組,應一併確認策略指向。更多語法請參閱規則參考,不要為了修正單一目標就直接刪除所有規則。

四、依使用情境選擇:日常分流與臨時診斷

日常使用時,優先維持設定的可理解性;診斷問題時,則應盡量減少變數。不要同時更新訂閱、更換伺服器、切換網路又修改規則,否則即使恢復正常,也無法判斷是哪個步驟發揮作用。以下兩種做法以相同目標、同一部裝置和同一條網路作為比較基準。

選擇方式:日常使用 Config,排查時短暫切換

日常使用
  • 在 Config 確認目前的設定檔,再將 Home → Global Routing 設為 Config。
  • 分別測試一個預期直連的目標,以及一個預期透過代理的目標。
  • 發現某個目標異常時,先記下目標網域與時間,不要立即替換整份設定檔。
臨時排查
  • 保持伺服器與網路不變,先從 Config 切換至 Proxy,再發出新的請求。
  • 需要比對本地網路時,改用 Direct,重新連線至同一個目標。
  • 記下每次使用的模式與結果,結束後切回 Config,並再次確認實際採用的策略。

每次只變更一個變數;某種模式下能開啟網頁,只能作為排查線索,不能僅憑單次結果判定根本原因。

自動重新連線也應分開檢查。Settings → On Demand 用來管理按需連線條件,不是用來指定某個網域走 PROXY 或 DIRECT。若連線自動重新建立,請先確認 On Demand 設定,再判斷連線開關的行為;不要混淆「自動連線」與「自動分流」。

五、無法連線時,依可重現的順序排查

先確認本地網路可用,再檢查伺服器,最後檢查規則。Connectivity Test 是連線檢查工具,結果須配合 App 內選取的測試方式解讀;測試成功不代表每個網站、每條規則或每種協定承載的流量都已驗證無誤。

  1. 記錄基準資訊:寫下目前的網路、目標網域、選取的伺服器、Global Routing 模式,以及連線是否已建立。請勿記錄或分享密碼、完整訂閱網址等敏感資訊。
  2. 確認本地網路:使用 Direct 存取平常可直接連線的目標。如果仍然失敗,請優先檢查 Wi-Fi 連線、行動網路及目標本身,不要先修改分流規則。
  3. 確認代理路徑:維持同一台伺服器,使用 Proxy 發出新請求,並在 Home 執行 Connectivity Test。若測試失敗,請核對已有的連線參數,包括位址、實際連接埠與驗證欄位。
  4. 與 Config 對照:若 Proxy 下成功、Config 下失敗,請優先檢查規則順序、符合的策略群組、FINAL 與解析相關設定。這是排查方向,並不代表已證明伺服器或 DNS 完全正常。
  5. 再次測試並還原:修改一項設定後,重新請求同一個目標;必要時先中斷再重新連線,以排除舊連線的影響。記錄結果後,恢復日常使用的模式,不要長期保留臨時診斷設定。

例如,同一個目標在 Proxy 下可連線、Direct 下逾時,而 Config 也逾時,表示應優先確認 Config 是否將它導向 DIRECT,或選用了其他策略。這是可重現的判斷方式,不是預設的實測結論;請以裝置上的實際請求紀錄與結果為準。

伺服器使用 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 或 WireGuard,不會改變這三種模式的基本分工。協定參數會影響對應連線能否建立,Global Routing 則決定採用哪一種處理路徑。連接埠應使用既有服務設定中的實際值,不能用通用連接埠取代各協定的需求。

六、Global Routing 常見問題

切換至 Proxy,就一定能開啟所有網頁嗎?

不一定。請先在 Home 確認選取的伺服器,再開啟連線並執行 Connectivity Test。Proxy 只會統一採用代理路徑;伺服器無法連線、驗證錯誤、目標拒絕存取或解析異常,仍須分別處理。

選擇 Direct 後,為什麼狀態列仍有 VPN 圖示?

Direct 描述的是請求的流向,不代表 VPN 工作階段已關閉。請回到 Home 確認連線開關;若要停止工作階段,請關閉連線,並檢查 Settings → On Demand 是否設有自動連線條件。

使用 Config 時,本地裝置無法連線,該修改哪裡?

先記下目標的實際位址,再確認目前設定檔是否有涵蓋該網段的 IP-CIDR 規則,以及是否被前面的規則先行攔截。上文的 192.168.0.0/16 只涵蓋一個位址範圍,不能代表所有本地網路;請依實際網段檢查,不要直接照抄。

規則修改後,同一個網頁看起來沒有變化?

先確認修改的是目前選取的設定檔,再重新建立連線並發出新請求。瀏覽器快取和既有長連線可能讓畫面看起來沒有變化;請以相同目標重新測試,同時確認請求實際採用的策略,不要只看頁面顯示。

更新已有的訂閱後,還需要把 Config 改成 Proxy 嗎?

沒有一概而論的必要。更新後先確認伺服器清單與目前選取項目,再使用 Connectivity Test 檢查連線;日常規則仍可在 Config 下使用。只有在需要區分代理路徑與規則問題時,才短暫切換至 Proxy 進行比對。

最後可歸納為三種選擇:需要明確分流且已確認設定檔時,使用 Config;暫時驗證代理路徑時,使用 Proxy;比對本地網路時,使用 Direct。首次連線操作請參閱入門指南,模式設定說明請參閱代理模式。