FUNCTIONS & SETTINGS

Shadowrocket 功能與設定

先選擇 Global Routing,再檢查規則、伺服器與連線觸發條件。

本頁是 Shadowrocket 官方手冊的功能索引,主要說明 iPhone 與 iPad 上的常用操作。設定時先記下目前狀態,每次只修改一個變數,再用相同目標重新驗證;不要同時更換伺服器、DNS 和設定檔,否則難以判斷是哪個變更影響結果。

取得 App 與正版查驗 → 首次連線步驟 →

ROUTING MODE

Global Routing 三種模式

Global Routing 決定連線啟用時採用的整體路由方式。入口位於 Home;開啟 Global Routing 後,依用途選擇 Config、Proxy 或 Direct。中文可理解為設定、代理或直連,但操作時請核對英文選項。這與 Home 的連線開關是兩回事:選好模式後,仍須確認連線已啟用。

模式決定整體處理方式,實際行為仍會受系統與目前設定影響。
介面選項 處理方式 適用情境 注意事項
Config 依目前設定檔中的規則比對策略。 日常規則分流,檢查網域與網段規則。 先確認 Config 中啟用的是預期的檔案。
Proxy 整體以代理方式處理請求。 暫時檢查所選伺服器是否能處理目標請求。 不能以此模式測試成功,當作規則正確的證明。
Direct 整體以直連方式處理請求。 檢查目前網路直接存取目標的情況。 這不等於關閉連線,也不能用來驗證伺服器憑證。

需要依規則分流時,請使用 Config。在 Config 頁面確認目前啟用的設定檔,再回到 Home 檢查伺服器選擇。將檔案匯入清單,不代表它已設為目前使用的設定;同樣地,檔案中寫有 PROXY,也不代表伺服器參數已可使用。

無法存取目標時,可以暫時使用 Proxy 進行對照測試。如果 Proxy 成功、Config 失敗,接下來應檢查命中的規則、策略和 DNS,而不是立即重建所有伺服器。使用 Direct 測試時,也應維持相同的目標與網路條件。完成對照後,請恢復原本模式,避免長期沿用排查時的設定。

RULE MATCHING

規則類型與策略

規則分流會將請求條件與處理策略連結。規則位於 Config 中目前設定檔的 [Rule] 區段;通常由上而下比對,採用第一條符合的規則。因此,明確的網域應排在較寬泛的條件之前,FINAL 則放在最後。不要只確認某條規則是否存在,也要檢查前面是否已有其他規則符合條件。

routing-example.conf
  1. [Rule]
  2. DOMAIN,example.com,DIRECT
  3. DOMAIN-SUFFIX,example.com,PROXY
  4. IP-CIDR,192.168.0.0/16,DIRECT
  5. FINAL,PROXY

在這段範例中,example.com 本身會先符合 DOMAIN,採用 DIRECT;其子網域則可繼續符合 DOMAIN-SUFFIX,採用 PROXY。IP-CIDR 用來指定 IP 網段,FINAL 則處理未符合前面規則的請求。範例僅用於說明順序,未經檢查前不應直接取代完整設定。

關鍵字比對對象使用注意事項
DOMAIN完整網域名稱。適用於單一明確目標,不會自動涵蓋子網域。
DOMAIN-SUFFIX網域及其子網域。確認後綴涵蓋範圍,避免影響超出預期的請求。
DOMAIN-KEYWORD網域中的關鍵字。涵蓋範圍較廣,請先確認關鍵字不會造成誤判。
IP-CIDR / IP-CIDR6IPv4 / IPv6 位址網段。確認位址類型與前綴長度。
GEOIPIP 位址的地理分類。會受位址資料庫與解析結果影響。
USER-AGENT可取得的 User-Agent 資訊。並非所有流量都會提供可供比對的資訊。
FINAL其餘請求。放在最後,明確設定兜底策略。

PROXY、DIRECT、REJECT 是策略,不是規則條件。PROXY 會將請求交由代理路徑處理,DIRECT 使用直連路徑,REJECT 則拒絕符合條件的請求。排查時請分別確認兩件事:請求符合哪條條件,以及該條件指定了什麼策略。如果設定使用自訂策略名稱,也要確認名稱有效,並查明實際指向哪台伺服器。

修改前請保留原設定,修改後確認該檔案仍是目前啟用的項目,並以新請求驗證。既有連線可能仍沿用先前的路徑,不能只憑內容仍在播放或傳輸,就判斷新規則已生效。完整語法、設定區段與順序範例請見 設定總覽。

SERVER MANAGEMENT

訂閱與伺服器管理

伺服器資訊用來描述連線端點、協定與驗證參數;訂閱則用來批次提供並更新既有伺服器項目。伺服器訂閱與規則設定檔用途不同,不能因為兩者都以文字連結提供,就匯入同一個入口。操作前先確認手上的內容是伺服器訂閱、單一伺服器分享內容,還是設定檔。

Add Server 與匯入入口

手動新增伺服器時,從 Home 進入 Add Server,先選擇協定,再填寫位址、連接埠和驗證欄位。Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2 所需欄位不盡相同,請依照既有伺服器資訊填寫;TLS、傳輸方式與伺服器名稱等參數也須與伺服器端一致,不要只憑協定名稱猜測。

已有 QR Code 可使用 Scan QR Code;已有分享內容則可透過相應的匯入操作處理。使用 Subscribe 時,請先辨明目前入口管理的是伺服器訂閱,還是 Config 中的設定檔訂閱。匯入前確認內容類型,匯入後檢查項目出現在哪個清單,不要把規則檔案網址當成伺服器訂閱網址。

更新、選擇與保留本機修改

更新訂閱後,先查看項目是否有變化,再回到 Home 確認目前選取的伺服器仍是預期項目。更新成功只代表內容已取得並處理,不表示其中每台伺服器都能連線;之後仍須透過 Connectivity Test 和實際請求驗證。若更新失敗,先檢查連結是否完整、目前網路是否能存取,以及訂閱內容是否仍有效。

手動修改訂閱產生的項目前,請先考慮下次更新是否會重新產生或覆蓋該項目。重要的本機修改應另外記錄,移除訂閱前也要確認其中是否包含正在使用的伺服器。訂閱連結、QR Code 和驗證欄位可能包含存取憑證,回報問題時請勿公開原始內容。

CONNECTION TRIGGER

On Demand 按需連線

On Demand 會依設定的網路條件觸發連線,處理的是「何時建立連線」,而不是「某個網域採用哪種策略」。設定入口位於 Home 的 On Demand;進入後依目前介面提供的網路條件設定,再啟用此功能。此功能須搭配正常可用的系統 VPN 設定,因此請先完成一次手動連線驗證。

設定前先明確界定預期:要在指定網路連線,還是網路條件變更後重新觸發。依照應用程式提供的 Wi-Fi、行動網路及網路比對選項逐一檢查,不要在不了解條件關係時全部啟用。測試時先維持一個穩定網路,再切換到另一個網路觀察觸發結果;只在原本網路上反覆開啟頁面,無法驗證網路變更條件。

On Demand 建立連線後,請求仍由 Global Routing 和目前設定處理。它無法修復失效的伺服器,也不能取代規則選擇。如果手動中斷後又重新連線,請先檢查 On Demand 是否仍啟用,以及目前網路是否符合觸發條件。暫時排查時可先關閉 On Demand,再手動連線進行對照;完成後恢復所需條件。

TRAFFIC OBSERVATION

Data 流量統計

Data 用來查看用戶端記錄的流量情況。開啟 Data 後,先確認目前統計項目、時間範圍及介面提供的分類,再觀察上傳與下載的變化。測試前記下目前數值,發出一筆明確請求後比較新增流量,比起只看累計總量,更容易確認這次操作是否產生流量。

用戶端統計不等同於服務提供者的計費紀錄。兩者可能採用不同的週期、統計範圍與計算方式;不能直接將 Data 的總量視為帳戶剩餘額度,也不能只因下載數值增加,就判定網頁已完整載入。背景請求、應用程式重試和連線開銷都可能造成統計變化。

需要重新建立觀察基準時,先記下必要資訊,再使用介面提供的重設操作。重設統計無法修復連線,也不應與更換規則同時進行。若頁面載入失敗但 Data 數值有變化,請繼續檢查請求結果、命中策略與目標狀態;若數值沒有變化,先確認連線開關、目前模式,以及測試請求是否確實重新送出。

COMMON SETTINGS

Settings 與常用設定項目

Settings 提供測試、輔助入口、同步和診斷等設定;DNS 等行為也可能由目前設定檔定義。以下依功能說明檢查位置,實際層級與可用選項請以目前應用程式介面為準。不要只因選項名稱相似,就認定 Settings 的全域項目與 Config 的檔案項目作用範圍相同。

DNS:先確認生效位置

DNS 負責將網域解析為位址,解析結果會影響連線及部分 IP 規則的判斷。檢查 DNS 時,先在 Config 開啟目前使用的檔案,查看 [General] 中的 dns-server,以及目前介面提供的 DNS 相關設定。以下的 system 範例代表使用系統 DNS,並非適用於所有網路的固定建議。

dns-example.conf
  1. [General]
  2. dns-server = system

若懷疑解析異常,先比較同一網域修改前後的新請求,不要同時更換伺服器。確認所設定的解析方式在目前網路中可連線,再檢查規則是否依賴解析後的位址。修改 DNS 不會自動變更伺服器驗證、目標憑證或既有連線;發生錯誤時,應區分解析失敗與連線失敗。

Test Method:統一測試方式

Test Method 位於 Settings,用來選擇伺服器測試方式。先查看目前使用的方法及可設定的參數,再執行 Connectivity Test。不同方法測量的階段各異:連接埠能建立連線,不代表目標頁面請求已完成;透過代理完成測試請求,也不代表所有目標都能存取。

比較伺服器時,請維持 Test Method、測試目標與網路條件一致。不要直接比較不同方法得出的數值,也不要把某次測試時間較短解讀為長期速度保證。測試失敗後,請分別確認端點是否可連線、驗證資訊、傳輸參數與測試目標,最後再檢查實際使用的目標。

Today Widget:輔助查看與操作

Today Widget 是系統小工具的輔助入口,可在 Settings 檢查應用程式提供的相關選項,再依系統支援的方式新增或管理。可用位置與操作方式會因裝置和系統而異,請以目前系統介面為準。先在應用程式中完成伺服器選擇與連線驗證,再設定小工具,避免將初始設定問題誤認為小工具問題。

小工具僅供輔助資訊參考,系統更新可能不是即時的。若狀態有疑問,請開啟 Home 檢查實際連線開關、Global Routing 與伺服器選擇,不要只憑小工具某次顯示判斷目前路由。移除小工具也不代表關閉應用程式中的 On Demand。

iCloud:分別檢查同步與復原

使用 iCloud 相關功能前,先檢查系統中的 iCloud 是否可用,以及 Shadowrocket 是否已獲得存取權限,再查看應用程式 Settings 提供的同步選項。請依目前功能支援的範圍同步,不要假設所有伺服器、設定檔、統計資料和系統授權都會一併複製。首次同步前,請保留重要設定的可復原副本。

在多部裝置上修改同一份內容時,請先確認同步已完成再繼續編輯,以免無法辨認哪一份才是預期狀態。更換裝置後仍應檢查目前設定檔、選取的伺服器與系統 VPN 授權。透過 App Store 重新取得已購項目,與 iCloud 內容同步是不同流程:應用程式可以重新取得,不代表所有使用資料都已復原。

Diagnostics:收集可重現問題的資訊

Diagnostics 可協助檢查執行狀態與連線問題,可從 Settings 中的診斷相關入口查看目前可用工具。排查前記下網路類型、Global Routing、目前設定檔及發生問題的操作,再重現一次問題。診斷資訊應對應實際失敗時間;太早儲存的紀錄可能不含所需分析的請求。

分享診斷結果前,請刪除訂閱連結、密碼、驗證欄位和不必要的個人資訊。只保留有助於判斷問題階段的內容,例如解析是否完成、連線在哪個步驟失敗,以及命中哪項策略。收集到足以判斷問題的資訊後,請恢復日常紀錄設定,避免長期保留不必要的詳細請求紀錄。

逐層檢查,每次只改一項

一次連線會涉及系統授權、伺服器參數、網域解析、規則策略與目標回應。以下順序有助於縮小問題範圍;每完成一步,都以相同目標重新測試並記錄結果。

先確認連線基礎

在 Home 檢查連線開關與目前伺服器,並確認系統 VPN 設定已獲允許。接著確認伺服器協定、位址、連接埠和驗證欄位與既有資訊一致。若這一層尚未通過,就不必先調整複雜的網域規則。

再確認路由結果

檢查 Global Routing;使用 Config 時,確認啟用的檔案,並逐行查看可能符合的規則與最終策略。需要對照時,可暫時切換 Proxy 或 Direct,測試後再恢復原模式。

區分測試與實際請求

維持 Test Method 不變,完成 Connectivity Test 後,再發出實際目標請求。搭配 Data 和 Diagnostics 判斷是否產生流量、是否完成解析與連線,不要用單一測試數值代替完整結果。

最後恢復日常狀態

確認 On Demand 條件、目前設定檔與同步狀態,並恢復排查期間暫時變更的選項。保留必要紀錄,但刪除其中的敏感資訊;日後遇到類似問題時,可用相同方式進行比對。