官方手冊 / 功能與設定

Shadowrocket 功能與設定

先確認流量的處理路徑,再調整連線條件與診斷設定。依 Home、Config、Data、Settings 的操作範圍查閱,介面用語保留英文原文。

Global Routing Config / Proxy / Direct 規則與策略 既有訂閱管理 Settings 參考

功能索引

六項功能的用途

選擇功能查看摘要;詳細操作與檢查方法請參閱下方對應章節。規則片段僅為語法範例,不能直接取代現有設定檔。

Global Routing 與規則比對

規則分流會依比對條件,為請求指定處理策略。先在 Home 查看 Global Routing,再前往 Config 確認目前使用的設定檔。只有選用 Config 時,才應依該設定檔的規則判斷流量去向。編輯前先儲存原設定檔,並檢查規則順序、策略名稱與最終比對項目;較寬泛的規則若排在前面,可能會先於後續的精確規則比對。驗證時,請用單一目標請求對照記錄,不要以連線開關狀態代替規則比對結果。

DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

Home / Global Routing

Config、Proxy、Direct 三種模式

Global Routing 決定由 Shadowrocket 接管的流量要採用哪種處理路徑。在 Home 開啟 Global Routing,先確認目前選取的項目,再決定是否切換。設定、代理、直連分別對應介面中的 Config、Proxy、Direct,操作時請依英文名稱辨識。切換模式不會更換伺服器,也無法修正伺服器資料中的錯誤。

介面項目流量處理方式適用時機優先檢查項目
Config依目前設定檔中的規則選擇策略。需要依目標位址或其他條件分流時。目前設定檔、規則順序、策略引用與 FINAL。
Proxy透過所選代理路徑處理接管的流量。暫時測試所選伺服器的代理連線,或明確需要統一代理時。目前伺服器與協定參數是否正確。
Direct以直接連線方式處理接管的流量。檢查目前網路的直連狀況,或明確需要直接連線時。目前網路與 DNS 是否可用。

日常使用與臨時排查分開處理

已準備好分流設定時,可使用 Config,並透過請求記錄確認規則效果。懷疑規則造成異常時,先記下原本的模式,再以 Proxy 或 Direct 對同一目標進行一次對照測試。測試結束後恢復原模式,避免將臨時狀態當成日常設定。某個目標在某種模式下能開啟,只能協助縮小問題範圍,無法單獨證明 DNS、伺服器或規則中的哪一項必定有誤。

Direct 不等於關閉系統 VPN 設定。若要確認連線是否完全停止,請同時查看 Home 的連線開關與系統 VPN 狀態。若對連線路徑有明確要求,不要只憑狀態列圖示判斷。

Config / Rule

規則類型與處理策略

一條規則通常包含比對類型、比對內容與處理策略。規則類型說明「依據什麼辨識請求」,策略則說明「比對後如何處理」。在 Config 查看目前設定檔中的規則區段,先核對較具體的項目,再檢查較寬泛的比對條件與 FINAL。規則通常依序比對;不能只確認某條規則存在,還要確認它是否有機會執行。

依目標選擇比對條件

DOMAIN 用於比對完整網域;DOMAIN-SUFFIX 用於比對網域後綴;DOMAIN-KEYWORD 依網域中的關鍵字比對,涵蓋範圍可能比預期更廣。使用後綴規則時,請填寫網域本身,不要附上網頁路徑。若要為單一網域設定例外,通常應將精確條件排在可能涵蓋該網域的寬泛條件之前。

IP-CIDR 與 IP-CIDR6 依位址範圍比對;GEOIP 則仰賴位址歸屬資料。網域規則與位址規則觀察的對象不同:網域解析結果、IPv4 與 IPv6 路徑都可能影響檢查結果。USER-AGENT 取決於請求中可辨識的相關資訊,不宜將它理解為適用於所有 App 的應用程式層級選擇器。

策略名稱與 FINAL

DIRECT 表示直接連線,PROXY 表示透過代理處理,REJECT 表示拒絕符合條件的請求。設定檔若使用自訂策略名稱,請確認名稱已有對應定義且拼寫一致。FINAL 負責處理未符合前述規則的請求;其設定會決定大量未個別列出的目標如何處理,因此修改時必須先確認預期結果。

[Rule]
DOMAIN,example.com,DIRECT
DOMAIN-SUFFIX,example.org,PROXY
FINAL,DIRECT

以上範例僅說明從精確比對到最終處理的順序。替換規則前請先儲存原設定檔;更完整的設定範圍請參閱設定參考 →

Home / Add Server / Subscribe

訂閱與伺服器管理

Home 可用來查看、選取及管理既有伺服器。單筆資料可透過 Add Server 依協定輸入;既有訂閱連結可透過 Subscribe 匯入;既有 QR code 可使用 Scan QR Code。選擇哪個入口取決於手邊資料的格式,而不是哪種方式能改變伺服器端的功能。匯入前請確認資料來自自己的服務來源,並保留原始資訊以便核對。

匯入後先核對,再連線

  1. 確認伺服器列表中確實出現預期項目;若列表為空,先檢查訂閱取得與解析狀況,不要急著修改規則。
  2. 開啟項目檢查協定、位址、連接埠與驗證欄位。TLS 或傳輸參數應與既有資料一致,不要只憑名稱猜測。
  3. 選取預定使用的項目,執行 Connectivity Test,再以實際請求驗證。測試方式不同,結果所代表的意義也不同。
  4. 查看 Global Routing 與目前的 Config,最後再開啟連線;只有這幾項都確認清楚,才容易判斷流量去向。

更新訂閱會重新讀取遠端項目,可能造成名稱變更、項目增減,或原先選取的項目不再存在。更新後請重新確認目前的伺服器,不要只看見「更新完成」提示就算了。若有需要手動保留的特殊參數,請先記錄,再更新並確認訂閱更新是否會重建相應項目。

伺服器名稱只是辨識標籤,不能證明連線品質。整理時可使用容易辨認的名稱區分用途,但不要將憑證放進名稱。訂閱連結、QR code 和匯出內容都可能含有驗證資訊;提供排查資料時只保留必要欄位。需要完整匯入流程時,請依教學逐步操作。

Settings / On Demand

On Demand 隨選連線

On Demand 可讓系統在符合已儲存條件時觸發 VPN 連線。它處理的是「何時連線」,Global Routing 處理的是「連線後如何路由」,兩者不能互相取代。進入 Settings 查看 On Demand 相關選項,先閱讀目前的條件,再決定是否啟用;實際項目與系統行為請以裝置目前的介面為準。

先驗證手動連線,再啟用觸發條件

先停用自動觸發因素,手動選取伺服器並驗證網頁請求。確認伺服器、DNS 和規則運作正常後,再啟用需要的 On Demand 條件。每次變更一個項目,都要在對應的網路環境下重新測試。不要同時修改連線條件與分流規則,否則發生變化時便難以判斷是哪一層造成。

手動中斷後又重新連線,通常應先檢查隨選觸發設定;切換網路後沒有立即恢復,則應核對觸發條件、系統 VPN 狀態與目前網路。系統排程、網路可用性和伺服器回應都會影響實際結果,On Demand 無法保證持續連線。若要維持中斷狀態,請先檢查是否仍有會觸發連線的條件,再確認系統狀態。

Data

流量統計與連線記錄

Data 可用來查看 App 記錄的流量與連線狀況。排查時先確認目前顯示的統計範圍、時間基準,以及是否曾重設,再查看上傳、下載或連線記錄。某次連線有流量,只代表曾發生資料交換;交握、解析及失敗重試也可能產生流量,不能直接把計數增加視為服務存取成功。

以一次可重現的請求對照記錄

開始前記下所選伺服器、Global Routing 和測試目標。開啟目標頁面後返回 Data 查看新增記錄,依可見的目標、策略與時間判斷請求是否經過預期路徑。如需更詳細的處理原因,再視需要查看 Log。測試期間請減少其他 App 的背景請求,避免將不同請求混在一起解讀。

Data 的統計範圍不應直接視為伺服器帳單或裝置行動網路數據統計。不同的計數範圍、協定額外負載、重新連線與時間區間都可能造成差異。需要比較時,請先統一觀察時段,並保留重設前的資料。記錄可能含有存取目標與位址,截圖或匯出前請檢查隱私資訊。

Settings

常用設定項目的調整範圍

以下說明設定用途與檢查方式,不會為所有裝置指定相同值。設定檔可能包含相關項目,調整前請先確認目前設定檔與 Settings 的實際生效關係。

DNS:先區分解析失敗與連線失敗

DNS 負責將網域解析為位址。在 Settings 的 DNS 相關項目與目前 Config 中檢查解析設定,先記下現有值,再確認使用目的。目標網域無法解析與已取得位址但連線失敗,是兩種不同問題;應先透過診斷記錄加以區分,再調整相應環節。不要一次替換多個解析選項,然後只憑網頁是否能開啟來判斷原因。

DNS 請求本身也需要可用的網路路徑。若設定的解析方式依賴目前代理,而代理連線尚未建立,可能會出現相互依賴的問題。檢查時也要考量伺服器可連通性、規則以及 IPv4、IPv6 的結果。網域解析會涉及查詢資訊的處理,選擇設定時應先了解其路徑,不要只比較單次測試所花的時間。

Test Method:測試方式決定結果意義

Test Method 會控制連線測試採用的方式。在 Settings 查看此項目,再返回 Home 執行 Connectivity Test。比較多個項目時,應保持測試方式、目標與網路環境一致。測試逾時不一定代表伺服器完全無法使用,也可能是測試目標或方式不適合;測試通過也不代表所有服務請求都能完成。

不要只憑一次結果就重新排列所有伺服器。先重複測試,再以實際目標請求驗證,最後參照記錄判斷。若更改測試相關參數,請記下變更前的狀態,避免將不同條件下的結果放在一起比較。

Today Widget:快速查看與操作

Today Widget 是與系統小工具相關的設定入口,可用來設定相應的快速檢視或操作內容。先在 Settings 查看目前可用選項,再依裝置系統提供的方式加入相應小工具。可顯示內容、加入方式與更新行為請以實際介面為準,不要將小工具的顯示視為持續即時監測。

透過快速入口操作後,仍應返回 Home 確認連線開關、目前伺服器與 Global Routing。若小工具未即時更新,請先開啟 App 查看實際狀態;不要只憑舊的顯示文字連續切換連線。

iCloud:同步範圍與覆寫檢查

iCloud 相關設定用於 App 支援的同步功能。在 Settings 檢查可同步的項目,並確認系統已允許使用相應的 iCloud 功能。啟用前請保留重要的現有設定;更換裝置後先查看同步結果,再進行編輯。不同類別的資料不一定都會同步,不能因為「已開啟 iCloud」就認定所有連線資料都已完整還原。

多部裝置同時修改時,應先確認各裝置顯示的內容,再決定要保留哪一份。同步可能需要等待;切換帳號或關閉功能前,請先檢查本機資料。iCloud 同步與 App Store 購買記錄是不同事項:還原購買不代表伺服器資料或設定已同步。

Diagnostics 與 Log:為單次問題蒐集證據

Diagnostics 可進一步檢查連線問題;Log 則用來查看請求處理過程。進入 Settings 的相關入口,依實際可用項目執行檢查。蒐集資料前,先記下失敗目標、發生條件與目前模式,再重現一次問題,優先保留與這次請求相關的記錄。這樣比長時間連續記錄後再猜測原因,更容易找出問題所在。

記錄中可能含有網域、位址、訂閱資訊或其他連線細節。分享前請刪除或遮蔽敏感欄位,只保留解釋問題所需的時間、錯誤訊息與策略脈絡即可。完成詳細記錄後,請恢復適合日常使用的記錄設定;資料不完整時,不要根據單一錯誤推斷所有連線都已失效。

排查順序

每次只變更一個條件

設定項目較多時,依固定順序檢查,比同時嘗試多個選項更容易還原。先確認目前網路可用,再確認伺服器資料與所選項目,接著檢查 Global Routing、目前 Config、DNS,最後檢查 On Demand 和快速入口造成的狀態變化。每一步都記下原始值,測試結束後還原臨時調整。

  1. Home:確認所選伺服器與連線開關,區分訂閱更新成功、測試通過與實際請求成功。
  2. Global Routing:確認目前使用的是 Config、Proxy 還是 Direct;比較模式時,務必使用相同目標。
  3. Config:確認生效中的檔案、比對到的規則、策略引用與 FINAL,不要只搜尋目標網域是否存在。
  4. Settings:依問題類型檢查 DNS、Test Method 或 On Demand,不要把統計顯示項目當成路由開關。
  5. Data / Diagnostics:以一次可重現的請求核對記錄,保存必要證據後恢復日常狀態。