MODE-MAP

Shadowrocket 功能與設定

請先確認已有可用的伺服器資訊或訂閱,再決定如何分流連線。本文依 Home、Config、Data、Settings 等介面位置,說明各項功能的用途、設定位置,以及變更後的檢查方式。

ROUTING

Global Routing:先選擇路由模式

Global Routing 會決定連線啟用後,流量是交由設定檔規則判斷,還是統一採用某種處理方式。

在 Home 找到 Global Routing,進入後查看 Config、Proxy、Direct。選擇前,請確認 Home 的 SERVER 區域已有可用的自有伺服器,且目前使用的 Config 內容符合預期。切換路由模式不會替你新增伺服器,也不會修改既有規則;它改變的是請求套用規則的方式。若要長期依網域或位址分別處理,請先從 Config 著手,再確認實際命中的規則。

模式處理方式適用情境檢查重點
Config(設定檔)依目前 Config 中的規則及最終策略處理請求。需要讓不同目標分別使用 PROXY、DIRECT 或 REJECT。檢查規則順序、策略名稱及 FINAL。
Proxy(代理)使用所選伺服器處理連線請求,不逐條套用日常分流規則。暫時確認問題是否出在規則比對。先確認所選伺服器本身可連線;測試結果不代表規則設定正確。
Direct(直連)請求直接連線,不經由所選伺服器。用來比對本地網路與目標服務是否可直接存取。Direct 下的結果無法證明伺服器或訂閱可用。

每次排查只變更一個變數:先記下原本的模式,再切換至 Proxy 或 Direct 進行比對,完成後切回 Config。若 Config 與 Proxy 的結果不同,請檢查規則是否將目標交給 DIRECT、REJECT,或命中非預期的策略;若兩者都無法連線,則先檢查伺服器資訊、目前網路及連線狀態。介面顯示已連線,只代表系統連線已建立,不代表每個目標都使用相同路徑。

RULE-SET

規則分流:比對條件與策略

規則分流位於 Config:條件用來描述要比對的請求,末尾的策略則決定命中後如何處理。常見策略包括 PROXY(使用所選代理伺服器)、DIRECT(直接連線)及 REJECT(拒絕請求)。Global Routing 設為 Config 時,才適合依這些規則檢視結果。編輯前請確認目前啟用的是哪份設定檔;修改未啟用的設定檔,不會改變目前連線的處理方式。

網域規則中,DOMAIN 比對指定網域,DOMAIN-SUFFIX 比對指定網域後綴,DOMAIN-KEYWORD 則依網域中的關鍵字比對。位址規則中,IP-CIDR 與 IP-CIDR6 分別用於對應的位址範圍;GEOIP 依位址歸屬資訊比對,結果取決於解析結果與位址資料。USER-AGENT 依請求識別資訊比對,但並非每個請求都會提供適用的識別資訊。選擇規則類型時,應以實際可觀察到的目標資訊為準,不要將網域格式直接當成位址格式使用。

DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,ads,REJECT
GEOIP,CN,DIRECT
FINAL,PROXY

以下是語法說明範例,不代表適合直接覆蓋現有設定。規則會依設定檔中的比對邏輯運作,較具體的條件應搭配兜底策略一併檢查;FINAL 是前述規則皆未命中時採用的最終策略。若將 FINAL 改為 DIRECT,未命中前述規則的請求便會直接連線;若設為 PROXY,則須確認所選伺服器可用。修改後先用少數已知目標驗證,再逐步擴大使用範圍。目標行為不如預期時,請優先檢查命中的條件與策略,不要同時大幅變更規則、DNS 和伺服器設定。

SERVER

既有訂閱與伺服器管理

伺服器項目記錄連線所需的類型、位址及驗證等參數;訂閱則用於匯入並更新服務商提供的一組伺服器資訊。兩者與路由規則屬於不同層面:有規則但沒有可用伺服器,PROXY 策略便無法如預期運作;有伺服器但選擇 Direct,也不能據此判斷伺服器是否正常。請在 Home 的 SERVER 區域查看目前選取的項目,再依現有資訊決定要手動新增或匯入訂閱。

手動輸入時,進入 Add Server,選擇與現有資料相符的類型,再逐項核對位址、連接埠及驗證欄位。介面可能提供 Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2 等類型;協定名稱應與服務商提供的資訊一致,不能只靠更改類型,讓一組參數自動套用至另一種協定。儲存後返回 SERVER,明確選取要使用的項目,再檢查連線。

已有訂閱連結時,可在 Subscribe 對應的匯入入口,填入向服務商取得的網址。更新訂閱會重新讀取服務商提供的內容,但不代表其中每個項目都能連線。更新前後可核對項目名稱與目前選取的項目,避免將清單變化誤認為 App 已自動選好伺服器。若匯入失敗,請先確認連結完整、目前網路可存取訂閱網址,以及服務商提供的連結仍有效;請勿在公開頁面貼上含有存取憑證的完整網址。

管理多個伺服器時,請為自用項目取容易辨識的名稱,並區分「項目已存在」、「項目已選取」及「請求已依規則交由該項目處理」這三種狀態。Connectivity Test 可協助觀察連線狀況,但測試結果會受到目前網路、測試目標及測試方式影響。發生異常時,同時記錄所選項目、路由模式及測試方式,比反覆切換多項設定更容易找出問題。

ON-DEMAND

On Demand:依網路條件連線

On Demand 會依設定的網路條件決定何時建立連線,適合需要在不同網路環境間切換的使用方式。它處理的是「何時連線」,而非「連線後每個請求要套用哪條規則」;後者仍須搭配 Global Routing 與 Config 檢查。請先在 App 內找到 On Demand 設定入口,閱讀目前介面提供的條件選項,再依實際使用的網路環境設定。可用選項以已安裝 App 顯示為準。

設定前請先手動連線一次,確認所選伺服器與目前規則在常用網路下運作正常。接著只加入能明確驗證的條件,例如依熟悉的網路環境決定連線方式。設定完成後,分別在對應的網路環境中查看 Home 的連線狀態,並確認請求仍依預期分流。若條件未觸發,請先確認裝置目前使用的網路確實符合條件,再檢查系統 VPN 設定權限及 App 內的 On Demand 開關。

暫時排查連線問題時,可先停用 On Demand,改用 Home 手動開關重現問題,以便區分自動觸發條件與伺服器、規則問題。恢復自動連線後,請再次測試網路切換;不要只根據先前的手動連線結果,就認定條件已生效。持續連線或按需連線應依使用情境選擇;查看 Data 中的流量變化時,也要配合實際連線時段判讀。

DATA

Data:看懂流量統計

Data 可查看 Shadowrocket 記錄的連線流量資訊。在 App 的 Data 頁面查看統計時,請先確認介面顯示的是目前連線、特定時段或其他統計範圍,再核對對應的上傳與下載數值。這些資訊可用來觀察某項操作後用戶端處理的流量是否變化,但不應直接視為服務商的計費紀錄;雙方的統計範圍、時間區間及計算方式可能不同。

比較前後差異時,建議先記下目前顯示的數值,再進行單一操作,例如開啟一個已知目標,然後返回 Data 查看增量。若數值變化不如預期,請先確認 Home 的連線狀態、Global Routing 是否設為 Config,以及目標是否命中 DIRECT 或 REJECT。DIRECT 處理的請求,不能直接等同於經由所選伺服器處理的請求。切換伺服器或網路後,也要重新確認統計所涵蓋的時間與連線範圍,避免直接比較不同條件下的數值,據此推斷規則是否生效。

Data 適合用來觀察使用情況,不適合單獨診斷協定參數。若要確認伺服器是否連通,請搭配 Connectivity Test 與 Diagnostics;若要確認分流路徑,則返回 Config 核對規則與策略。綜合這幾處資訊,才能判斷「已有流量但目標仍無法開啟」或「連線正常但統計變化不明顯」等情況。

SETTINGS

Settings:常用選項逐項檢查

DNS:先確認從何處解析

DNS 負責將網域名稱解析為位址,相關選項可在 Settings 或目前 Config 的對應設定中查看。系統 DNS、自訂 DNS 與 DNS over HTTPS 的差異在於解析服務及傳輸方式;選擇前請先確認目前設定檔是否已指定解析項目,避免同時變更多處設定,導致無法判斷是哪項設定影響結果。若在 Config 中編輯 DNS,欄位格式請以 App 支援的設定格式為準。變更後可用已知網域測試解析與連線;若網域無法存取,但直接使用已知位址時表現不同,才值得優先檢查 DNS。不要將所有連線失敗都歸因於解析問題。

Test Method:了解測試結果的範圍

Test Method 會決定連線測試採用的方式,可在 Settings 查看目前選項,並搭配 Home 的 Connectivity Test 使用。測試通過代表該方式下的檢查收到回應,不保證所有目標及協定情境都相同;測試未通過,也須配合目前網路、目標及伺服器資訊分析。比較兩台伺服器時,請保持 Test Method 一致,避免將測試方式不同造成的結果誤認為伺服器效能變化。測試完成後,再以實際要存取的目標驗證規則路徑。

Today Widget:查看捷徑,不取代狀態確認

Today Widget 是系統提供的便利入口;在 Settings 確認 App 內的相關設定後,仍須依裝置系統介面的提示管理小工具。小工具可協助查看或操作連線,但最終狀態仍應以 Home 顯示及實際連線檢查為準。若小工具顯示與預期不同,請先開啟 App,確認目前選取的 SERVER、Global Routing 及連線開關,不要只憑桌面上的單次顯示,就判定規則已生效。系統介面及可用操作可能因裝置環境而異,請以目前裝置顯示為準。

iCloud 同步:確認同步內容與目前啟用項目

可在 Settings 尋找 iCloud 同步相關選項,用來管理符合條件的 Apple 裝置間,App 支援同步的資料。啟用前,請先在原裝置確認需要保留的設定,並留意訂閱網址及伺服器驗證資訊屬於敏感資料。同步完成後,請在目標裝置逐項確認設定是否出現、目前啟用的是哪份 Config,以及 SERVER 中選取的伺服器項目;「資料已出現」不代表「目前連線已使用這些資料」。同步範圍、可用性及系統需求,以 App 內選項及 App Store 頁面標示為準。

Diagnostics:依問題現象縮小範圍

Diagnostics 可協助檢查連線相關問題,可在 Settings 尋找對應入口。使用時請先記下問題發生時的網路、所選伺服器、Global Routing 模式及目標,再查看診斷資訊。若 Home 無法建立連線,先檢查伺服器參數及系統 VPN 設定權限;若連線已建立但特定網域異常,優先檢查 DNS、規則命中情況及 FINAL;若只有 On Demand 情境異常,先透過手動連線排除伺服器問題。診斷內容可能包含位址或設定細節,向他人求助前請先移除個人憑證。

FINAL

變更設定後的檢查順序

多項功能同時使用時,依照相依順序檢查,比在不同頁面間反覆切換開關更有效率。先確認伺服器或訂閱資訊已正確匯入,並在 Home 的 SERVER 中選取目標項目;接著確認 Global Routing 要設為依規則運作的 Config,還是用於短暫比對的 Proxy、Direct。先釐清這兩項前提,後續觀察才有依據。

  1. 在 Home 確認連線狀態與所選 SERVER;若無法建立連線,先檢查伺服器資訊及系統 VPN 設定權限。
  2. 需要分流時,將 Global Routing 設為 Config,檢查個別規則的條件、策略與 FINAL,再用少數已知目標驗證。
  3. 特定網域異常時,檢查 DNS 與規則命中情況;測試伺服器時固定 Test Method,並比對 Connectivity Test 結果。
  4. 手動連線確認正常後,再驗證 On Demand 觸發條件;查看 Data 時,請保持統計範圍與測試時段一致。
  5. 使用 iCloud 同步或 Today Widget 後,返回 Home 確認目前啟用的設定檔及實際連線狀態;必要時再查看 Diagnostics。

每完成一項變更就驗證一次,並記下原設定,方便還原。若尚未完成首次匯入與連線,可先依照教學建立最基本的可用設定;若要核對 App 來源、開發者及 App ID,請查看App Store 正版核對說明。本頁所述入口與選項,請以 App 內實際顯示為準。