FEATURES & SETTINGS

Shadowrocket 功能與設定:Global Routing、規則分流與常用項

這一頁按介面順序把 Shadowrocket(小火箭)的常用功能講一遍:Global Routing 三種模式各自適合什麼情境,規則表裡的關鍵字與策略怎麼讀,伺服器與訂閱怎麼管理,On Demand、Data 流量統計與 Settings 常用項分別管什麼。每一項都寫清是什麼、在哪個介面、怎麼設、注意什麼。

  • iOS / iPadOS
  • App Store 獨家
  • 一次買斷
  • iPhone 與 iPad 通用

GLOBAL ROUTING

Global Routing 三種模式:Config、Proxy 與 Direct

Global Routing 在 Home 頁,決定客戶端把連線交給誰處理。三種模式互斥,同一時間只有一個生效,切換不會改動已經匯入的伺服器與設定檔。

是什麼

Global Routing 是 Home 頁上的一組全域模式選項,作用對象是裝置發出的整體連線,而不是某一條規則。它不改變已經匯入的伺服器與設定檔,只改變這些連線的處理方式。

三種模式分別做什麼

Config(設定檔):依目前選取的設定檔裡的規則表逐條判斷。命中 PROXY 的連線走伺服器,命中 DIRECT 的連線直連,命中 REJECT 的連線被拒絕。日常使用以這個模式為主。

Proxy(代理):所有連線統一交給目前選取的伺服器處理,規則表不參與判斷。適合需要整體走同一條線路的臨時情境。

Direct(直連):所有連線直接發出,不經過任何伺服器。適合用來判斷「目前連不上,是線路造成的還是本地網路造成的」。

怎麼切換

Home → Global Routing 裡點選 Config、Proxy 或 Direct。切換後,後續連線依新模式處理;設定檔、規則與伺服器清單都保持原樣,切回 Config 即恢復依規則分流。

注意什麼

Direct 模式下規則表仍在,只是不參與判斷,不要誤以為規則被刪掉了。Proxy 模式會把全部流量壓到同一台伺服器上,Data 頁的讀數也會集中在這一台,排查流量前先確認目前模式。

Global Routing 三種模式對照
模式介面顯示流量怎麼走常見用途
設定檔Config依目前設定檔的規則表逐條判斷日常使用,分流與直連並存
代理Proxy全部交給目前選取的伺服器需要整體走同一條線路時
直連Direct全部直接發出,不經過伺服器判斷問題出在線路還是本地

RULES

規則分流:關鍵字、策略與命中順序

規則表決定每一條連線走哪條路。它來自你匯入的設定檔,客戶端依由上而下的順序逐條比對,第一條命中的規則生效,後面的規則不再參與。

規則從哪來

規則寫在設定檔裡。你在 Config 頁新增並選取哪一份設定檔,客戶端就依哪一份設定檔的規則表判斷。客戶端本身不內建針對某個服務的規則集,規則內容由設定檔的提供方決定。

一條規則由什麼組成

三部分:比對關鍵字、比對值、策略。策略只有三種寫法——PROXY(交給伺服器)、DIRECT(直連)、REJECT(拒絕)。關鍵字決定拿什麼去比對,策略決定命中之後怎麼處理。

命中順序

由上而下逐條比對,第一條命中的規則決定這條連線的走向。FINAL 通常放在最後一條作為保底:前面所有規則都沒命中時依它處理。把範圍窄的規則寫在前面、範圍寬的寫在後面,結果才符合預期。

注意什麼

REJECT 只對命中的連線生效,攔截效果取決於請求方怎麼處理失敗,不對任何情境承諾擋廣告效果。規則改完要先儲存設定檔、再重新選取該設定檔,改動才會生效。

規則關鍵字各自的比對範圍,另有一篇逐條說明:DOMAIN、GEOIP、IP-CIDR 與 FINAL 各比對什麼

規則關鍵字與比對對象對照
關鍵字比對對象寫法示例
DOMAIN完整網域,精確比對DOMAIN,example.com,PROXY
DOMAIN-SUFFIX網域後綴,同時比對該網域與其子網域DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD網域中出現的關鍵字DOMAIN-KEYWORD,static,DIRECT
IP-CIDR目標 IPv4 位址段IP-CIDR,203.0.113.0/24,DIRECT
IP-CIDR6目標 IPv6 位址段IP-CIDR6,2001:db8::/32,DIRECT
GEOIPIP 所屬地區代碼GEOIP,CN,DIRECT
USER-AGENT請求攜帶的 User-AgentUSER-AGENT,Example*,DIRECT
FINAL保底,前面規則都沒命中時生效FINAL,PROXY

SERVERS & SUBSCRIBE

伺服器與訂閱:Add Server 與 Subscribe 怎麼用

把伺服器放進客戶端有兩種方式:手動新增一筆記錄,或匯入服務商提供的訂閱連結。兩種方式最終都落在同一份伺服器清單裡。

Add Server:手動新增一筆

Add Server 用來新增單筆伺服器記錄,需要填寫名稱、類型、位址、連接埠,以及該類型要求的憑證欄位。類型常見的有 Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard、HTTP 與 SOCKS5,不同協定要填的欄位不一樣,以表單實際顯示為準。

Subscribe:匯入訂閱

訂閱連結從你的服務商取得。在 Config 頁新增訂閱位址後,客戶端負責拉取並解析其中的伺服器與規則。連結什麼時候更新、內容是什麼、什麼時候失效,都由服務商決定,客戶端只做匯入與更新。

其他匯入方式

Scan QR Code 用來掃描服務商提供的 QR Code;Import from Cloud JSON 用來匯入放在雲端儲存裡的 JSON 設定。文中出現的位址、網域與連結一律是 example.com 這類明顯假值,不要把自己的真實訂閱連結貼到公開場合。

管理與注意

伺服器清單支援測延遲、排序、複製與刪除。訂閱連結相當於一份憑證,拿到的人可以使用同一份線路,因此不適合公開分享。需要分清的是:客戶端在 App Store 一次買斷,買的是 App 本身;線路與方案由你的服務商提供,兩者是分開的兩件事。

訂閱新增之後,可以手動更新,也可以讓客戶端在開啟時自動更新;更新失敗時先看提示,再逐項排查。這部分另有一篇:訂閱更新:手動更新、開啟時自動更新與失敗原因

買斷與方案是兩件事

客戶端買斷 ≠ 線路方案。在 App Store 一次買斷,買到的是 Shadowrocket 這個 App;節點、訂閱與線路需要從你的服務商取得,本站不提供也不推薦任何節點服務。

ON DEMAND

On Demand 隨需連線:三類觸發條件

On Demand 讓客戶端依條件自動處理連線:連到某個網路或存取某個網域時,依預設動作執行,不必每次手動開關。

TRIGGER 01

Wi-Fi

以目前連線的 Wi-Fi 網路名稱為條件。適合「在家裡的網路依一種方式處理、在其他網路依另一種方式處理」這類需求。

TRIGGER 02

行動網路

以是否使用行動數據為條件。適合「離開 Wi-Fi 之後自動依某種方式處理」這類需求,條件本身不含具體的電信業者資訊。

TRIGGER 03

網域

以存取的目標網域為條件。命中某個網域時依設定的動作處理,適合把個別網域單獨挑出來走指定的處理方式。

怎麼設

Settings → On Demand 裡新增一條規則:選條件類型(Wi-Fi / 行動網路 / 網域),填條件參數,再選命中之後的動作。可以新增多條規則,同時符合多個條件時依實際比對結果處理。

注意什麼

條件寫得越寬,越容易在不該觸發的時候觸發。如果某個網路下出現「連不上」,先到 On Demand 裡確認這條網路是不是命中了某個動作,再回去看 Global Routing 模式與規則表,把兩個來源分開排查。

三類觸發條件的參數含義與常見誤配,另有一篇專門說明:On Demand 隨需連線:Wi-Fi、行動網路與網域觸發怎麼設

DATA

Data 流量統計:依伺服器與依 App 兩組讀數

Data 頁把流量拆成兩組讀數:一組依伺服器統計,一組依 App 統計。兩組的統計基準不同,放在一起看才能定位問題。

依伺服器

統計每台伺服器累計處理的上行與下行流量。用來確認流量集中在哪條線路上,以及某條線路是不是被大量使用。

依 App

統計每個 App 經客戶端處理的流量。用來找出「哪個 App 在持續跑流量」,再回到依伺服器那一組,確認它走了哪條線路。

為什麼和系統統計對不上

系統設定裡的流量統計涵蓋裝置全部網路活動,而 Data 頁只記錄經客戶端處理的連線。兩者的統計範圍與起算時間都不一樣,數值對不上是正常現象,不代表統計出錯。

用它排查異常流量

建議順序:先看依 App 那一組,找出讀數明顯偏大的項目;再看依伺服器那一組,確認這些流量走了哪台伺服器;最後回到 Global Routing 確認目前模式是不是 Config,排除「全域代理讓所有流量集中在一台」這種情況。

注意什麼

讀數是本機記錄,換裝置或重新安裝後不會帶過去;判斷「最近是否異常」時,先記下目前讀數再看變化。單位依 KB / MB / GB 自動換算,具體顯示以 App 內實際介面為準。

兩組讀數各自的含義,另有一篇專門說明:Data 頁流量統計怎麼看:依伺服器與依 App 的讀數含義

SETTINGS

Settings 常用項:DNS、Test Method、Today Widget 與診斷

Settings 頁裡的項目不少,日常真正需要動的只有幾項。以下依「連線與解析 / 入口與同步 / 診斷與記錄」三組說明;分組只為閱讀方便,實際入口以 App 內 Settings 頁為準。

  • DNS 網域交給誰解析
  • Test Method 延遲測試用哪種探測方式
  • Connectivity Test 連線前後的可達性測試

DNS 決定網域由誰解析:可以指定解析伺服器,也可以交給系統預設解析,改動的效果取決於你的線路與網路環境,不確定時先保持預設。Test Method 決定延遲測試採用的探測方式,不同方式得到的數值基準不同,不要拿兩種方式的結果互相比較。Connectivity Test 用來在連線前後確認目前網路是否可達,把「網路本身不通」和「線路不通」區分開。

NOTES

使用這一頁內容時的幾點前提

功能與設定都建立在兩個前提上:App 本身從 App Store 取得,線路與訂閱由你的服務商提供。

買斷與方案是兩件事

客戶端買斷 ≠ 線路方案。Shadowrocket 在 App Store 一次買斷(美國區定價 2.99 美元,各店面依當地貨幣顯示,以商店頁面為準),買到的是 App 本身;節點、訂閱與線路需要從你的服務商取得,本站不提供、不販售、也不推薦任何節點服務。

關於取得管道

Shadowrocket 只在 App Store 上架,開發者是 Shadow Launch Technology Limited,App ID 是 932747118。以 iPhone 與 iPad 為主,Mac、Apple TV 與 Apple Vision 也在同一商店頁的相容性欄位中,系統需求以 App Store 頁面標示為準。

關於介面差異

不同系統版本上,Settings 裡的項目名稱與位置可能略有差別,本文依常見排列說明。遇到對不上的地方,以你裝置上 App 內實際顯示為準。

關於示例值

文中出現的位址、網域與規則片段全部是 example.com、203.0.113.0/24 這類明顯假值,不對應任何真實服務。

把 Global Routing 切到 Direct 之後,規則會被刪掉嗎?

不會。Direct 只是讓連線不經過伺服器,設定檔與規則表都還在;切回 Config 就恢復依規則分流。

訂閱連結可以分享給別人嗎?

不建議。訂閱連結相當於一份憑證,拿到的人可以使用同一份線路;連結的更新與失效由你的服務商決定。

改了 Settings 裡的項目,為什麼沒有立刻看到變化?

部分設定要等下一次連線才生效。可以先中斷再連線,或者切換一次 Global Routing 模式,再觀察 Data 頁的讀數變化。

Mac 與 Apple TV 上也有這些設定嗎?

同一款 App 在不同裝置上的介面排列不完全一致,項目名稱以該裝置上 App 內實際顯示為準;系統需求一律以 App Store 頁面標示為準。