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 頁的讀數也會集中在這一台,排查流量前先確認目前模式。
| 模式 | 介面顯示 | 流量怎麼走 | 常見用途 |
|---|---|---|---|
| 設定檔 | 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 |
GEOIP | IP 所屬地區代碼 | GEOIP,CN,DIRECT |
USER-AGENT | 請求攜帶的 User-Agent | USER-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 用來在連線前後確認目前網路是否可達,把「網路本身不通」和「線路不通」區分開。
- Today Widget 在系統小工具區放一個入口
- iCloud Sync 設定與伺服器項目隨帳號同步
Today Widget 開啟後,可以在系統的「今天」檢視畫面或小工具區看到客戶端的入口,用來查看狀態或處理連線;系統裡最終顯示什麼,取決於你加入了哪個小工具。iCloud Sync 把設定與伺服器項目隨 iCloud 帳號同步,在同一 Apple ID 下的另一台裝置上可以讀回;同步的是客戶端裡的設定資料,不包含服務商那邊的線路。同步範圍與行為以 App 內實際顯示為準。
- Diagnostics 執行狀態與連線記錄彙總
- Data 流量與連線記錄入口
Diagnostics 彙總執行狀態與連線過程的記錄,排查時先看這裡有沒有明顯的錯誤項目,再決定是改設定還是找服務商。Data 是流量與連線記錄的入口,和上一節講的兩組讀數對應;判斷「是不是客戶端造成的」時,以這裡的記錄為準,不要只看系統統計。
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 頁面標示為準。