官方手冊 · 功能與常用設定
Shadowrocket 功能與設定
先確認 Global Routing,再檢查伺服器、規則與 DNS。連線開關、路由模式和隨選連線各有用途,應分開確認。
Shadowrocket 是 Apple 平台上的閉源商業 App,主要供 iPhone 與 iPad 使用,唯一取得管道為 App Store。系統需求及裝置相容性請以 App Store 頁面標示為準。需要確認 App 或購買資訊時,請先閱讀App Store 正版取得說明;第一次操作可先查看使用教學。
路由入口
Global Routing:設定、代理與直連
Global Routing 決定請求採用哪種整體路由方式。在 Home 開啟 Global Routing,依需求選擇 Config、Proxy 或 Direct。中文說明中的「設定、代理、直連」分別對應這三個介面用語。日常需要依網域或位址分流時使用 Config;短暫確認所選伺服器是否可用時,可切換到 Proxy;想以直接連線路徑作為對照時,可選擇 Direct。
| 介面選項 | 主要行為 | 適用情境 | 需要確認的項目 |
|---|---|---|---|
| Config(設定) | 依目前設定檔中的規則決定請求策略。 | 讓不同目標分別使用 PROXY、DIRECT 或 REJECT。 | 目前選取的設定檔、規則順序及最終命中策略。 |
| Proxy(代理) | 透過代理處理流量,仍須留意 App 與系統的相關例外。 | 暫時排查伺服器連線,降低規則差異對結果的影響。 | 已選取的伺服器、認證欄位及實際連線能力。 |
| Direct(直連) | 採用直接連線,不透過所選代理伺服器轉送一般請求。 | 對照本地網路能否直接存取相同目標。 | 本地網路、目標服務及網域解析是否正常。 |
設定前先記下原本的選項,接著只修改 Global Routing,再用相同目標重複連線。若 Proxy 可以存取、Config 卻失敗,優先檢查規則與目前設定;若兩者都失敗,再檢查伺服器參數、DNS 和本地網路。這是縮小排查範圍的方法,不能只憑一次結果就判定原因。
Global Routing 不是連線開關。選取 Proxy 不代表通道已建立,選取 Direct 也不等於中斷系統中的 VPN 連線。也請查看 Home 的連線狀態。排查完成後,請還原原本需要的模式,避免將暫時設定當成長期設定。
規則與策略
Rule:依條件決定連線路徑
規則負責比對請求,策略負責處理請求。先在 Config 確認目前啟用的設定檔,再查看或編輯其中的 [Rule] 區段。Global Routing 使用 Config 時,規則會由上而下依序判斷,符合條件後便採用該條規則的策略。將範圍明確的條件放在前面,並將兜底規則 FINAL 放在最後,通常更容易閱讀與排查。
DOMAIN 比對指定網域;DOMAIN-SUFFIX 比對網域及其子網域;DOMAIN-KEYWORD 依網域中的關鍵字比對。IP-CIDR 與 IP-CIDR6 分別用於位址網段,GEOIP 則依目標 IP 的歸屬資訊判斷。USER-AGENT 取決於可用的請求標頭資訊,不能將它視為能辨識所有連線中 App 身分的通用條件。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,ads,REJECT
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
以上片段僅示範語法與順序,並非適用於所有網路環境的完整設定。PROXY 表示採用代理策略,實際出口取決於目前選擇與設定內容;DIRECT 表示直接連線至目標;REJECT 表示拒絕請求。關鍵字 ads 也只是範例,它會依字串比對,無法準確代表特定類型的內容。
編輯前請保留原設定,儲存後確認目前選取的仍是修改後的檔案。驗證時請發出新請求,並在可用的連線記錄中確認目標與命中規則;既有連線可能沿用原本的處理結果。想了解各區段結構、策略與優先順序,請繼續閱讀規則與設定欄位參考,不要一次加入大量無法說明的規則。
連線資料
Subscribe 與 Add Server:管理既有資料
伺服器記錄用來儲存連線參數,訂閱則用於批次取得及更新這些記錄。在 Home 使用 Add Server 新增使用者已有的伺服器資訊,或在 Type 選擇 Subscribe 後輸入既有訂閱網址。若 App 提供 Scan QR Code 等入口,也可用來讀取使用者自己的連線資料。儲存前請確認所選類型;訂閱網址與單一伺服器的分享內容並非相同資料。
手動填寫時,協定類型必須與伺服器端一致。Shadowsocks、VMess、VLESS、Trojan、WireGuard、Hysteria2,以及 HTTP、SOCKS5 的欄位要求各不相同。請依據使用者已有的資料逐項填寫位址、連接埠、認證資訊和傳輸設定;若使用 TLS,也要確認憑證驗證與相關網域設定。欄位名稱相近不代表可以互換,也不應為了連線成功而任意關閉驗證。
更新訂閱會重新取得遠端內容,因此本地記錄的名稱、數量或參數可能隨之變動。若要保留手動編輯的項目,請先確認它是否由訂閱管理,並保留必要的備份。為不同用途的記錄設定容易辨識的名稱,有助於在 Home 確認目前選取的項目,但名稱本身不會改變路由策略。
匯入完成後,先選取一台伺服器,再執行 Connectivity Test,並透過實際請求驗證。測試有回應,只能表示相應的測試方式取得了回應,不能直接證明認證、網域解析與目標存取都正常。訂閱網址可能包含存取憑證,請勿放入公開截圖、診斷附件或共用設定。分享排查資訊前,請遮蔽網址中的敏感部分及伺服器認證欄位。
連線觸發
On Demand:依網路條件建立連線
On Demand 可讓系統依據設定條件觸發連線,而非決定每個請求要走哪條路徑。請在 Settings 查看 On Demand 相關選項,並依據 App 目前提供的 Wi-Fi、行動網路或指定網路條件進行設定。實際入口與可選項目以裝置上顯示的內容為準;首次啟用前,請先確認手動連線已能正常使用。
建議先設定一項明確條件,例如只在特定類型的網路啟用,再切換網路確認實際行為。測試時請留意 Home 與系統 VPN 狀態:符合條件時是否連線,離開該網路後是否符合預期。若使用指定 Wi-Fi 條件,請確認網路名稱,避免將名稱相近的網路誤認為同一個條件。
On Demand 和 Global Routing 可以同時生效:前者決定何時觸發連線,後者決定連線建立後如何處理請求。手動中斷連線後,如果觸發條件仍然成立,系統可能再次建立連線;需要暫停時,請一併檢查 On Demand,而非反覆切換連線開關。
隨選連線的耗電情況取決於網路切換頻率、實際流量與重新連線狀況,不能只看開關狀態判斷。請在系統電池設定中,依觀察時間與使用情境查看耗電比例。若頻繁重新連線,先檢查網路條件與伺服器穩定性,再調整觸發規則,避免同時變更多個項目。
用量觀察
Data:查看流量統計
Data 用於查看 App 記錄的流量資訊,適合觀察使用趨勢及排查流量異常增加。開啟 Data 後,先確認目前畫面的統計範圍、時間範圍,以及上傳與下載的區分,再查看數值。不同畫面可能涵蓋不同連線或彙總範圍,請以頁面實際標示為準,不能直接將局部統計視為整台裝置的總流量。
若要判斷某次操作產生多少流量,可先記下目前數值,暫停其他明顯的網路活動,再執行一次固定操作並比較數值變化。App 背景同步、媒體預載與系統網路活動可能同時發生,因此短時間內的差值不一定完全來自剛開啟的頁面。變更統計範圍或清除記錄前,請先保存需要保留的觀察結果。
Data 記錄、系統行動網路統計,以及使用者既有服務的用量記錄,可能採用不同的起訖時間與計算方式。傳輸額外負載、統計範圍與更新時機都可能造成差異。Data 適合本地觀察,不應取代服務端的用量記錄;也不能只憑流量增加就判定特定規則已命中,還要搭配連線詳細資料與實際策略判斷。
常用設定
Settings:解析、測試、元件與診斷
Settings 中的選項各有不同用途:DNS 會影響網域解析,Test Method 決定測試方式,Today Widget 提供元件入口,iCloud 用於同步相關資料,Diagnostics 則用於蒐集排查線索。請先確認要處理哪一層的問題,再開啟相應選項;實際名稱、位置與可用範圍以 App 介面為準。
DNS:先確認設定來源
DNS 會將網域轉換為目標位址。檢查 Settings 中與 DNS 相關的選項時,也應查看目前 Config 的 [General] 區段,確認是否有 dns-server 等設定。若介面選項與設定檔會共同影響實際行為,不能只因看到某個輸入欄已有內容,就認定所有請求都採用相同的解析路徑。
調整前先記下原值,每次只修改一個項目,再用相同網域驗證。若伺服器延遲正常但網頁無法開啟,應將解析失敗列入排查範圍,同時確認路由命中情況與目標狀態。不要連續加入多個來源不明的解析位址,也不要將解析服務的地理位置直接視為請求最終出口的位置。
Test Method:先確認測量對象
Test Method 會決定 Connectivity Test 採用的測試方式。在 Settings 選擇 App 目前提供的方法後,再回到 Home 測試所選伺服器。比較多個結果時,請保持測試方法、網路環境與測試目標一致,否則數值之間便缺乏可比性。
不同方法可能只涵蓋連線建立或部分測試請求流程,測試數值不等於網頁完整載入時間。若測試有回應但實際服務請求失敗,請繼續檢查協定認證、TLS、DNS 與規則;若測試失敗但實際請求正常,也應先確認測試目標與方法,而不是立即刪除伺服器記錄。
Today Widget:確認元件適用範圍
Today Widget 用於設定系統元件中可顯示或操作的相關內容。在 Settings 查看 App 提供的元件設定後,再到系統相應的元件區域新增或調整。元件位置、顯示方式與可用操作會受系統支援狀況影響,請以目前裝置上的實際顯示為準。
設定後先回到 Home 確認連線狀態,再檢查元件顯示是否一致。元件適合快速查看或執行其支援的操作;詳細的伺服器選擇、設定檔編輯與規則排查,仍應回到 App 中完成。裝置鎖定時,也請留意系統允許顯示哪些資訊。
iCloud:同步前確認兩端狀態
iCloud 相關設定可在支援範圍內同步 App 資料。使用前請確認系統已啟用 iCloud、已允許 Shadowrocket 使用相關服務,並在 App 中確認目前可同步的資料類型。同步範圍請以介面說明為準,不應假設伺服器記錄、設定檔與統計資料都會以相同方式處理。
首次在另一台裝置啟用前,請先備份兩端需要保留的內容,並辨認本地與雲端資料;不了解合併或覆寫方式時,避免連續操作。同步結果也不代表目前選取的伺服器、Global Routing 與連線開關都符合預期;更換裝置後仍須逐項確認並重新驗證。
Diagnostics:針對單次故障蒐集線索
Diagnostics 可用於檢查連線問題及查看 App 提供的診斷資訊。在 Settings 找到相關入口後,先記下發生問題時的網路、Global Routing 選項與目前設定,再重現一次故障。診斷內容應對應這次操作;長期累積大量記錄,通常更難找出原因。
閱讀時先區分網域解析、伺服器連線、認證與規則處理等階段,再確認哪個階段最先出現異常。準備提供診斷資料前,請檢查其中可能包含的存取網域、伺服器位址、訂閱資訊與認證欄位,只保留排查所需內容。診斷記錄只能提供線索,不能只憑單一錯誤訊息就判定原因。
實際操作
依固定順序檢查設定
先建立可重現的最小情境,再逐項恢復常用設定。若同時更換伺服器、設定檔、DNS 與測試方式,即使結果改變,也很難判斷是哪個項目造成影響。每次修改後記下狀況,並保留可還原的原值。
- 確認資料。在 Home 確認目前伺服器來自使用者自己的有效資料,並檢查協定、位址、連接埠與認證欄位是否完整。
- 確認連線。確認系統 VPN 設定的授權已完成,並查看實際連線狀態;開啟連線開關與成功存取目標是兩回事。
- 確認路由。在 Global Routing 確認選擇的是 Config、Proxy 或 Direct;使用 Config 時,進一步確認目前使用的設定檔。
- 確認請求。對相同目標發出新請求,搭配規則命中情況、DNS 與 Diagnostics,判斷故障發生在哪個階段。
- 恢復自動化設定。確認基本連線正常後,再啟用 On Demand、元件與同步,最後檢查 Data 的統計範圍。
需要按步驟完成第一次連線,請閱讀Shadowrocket 使用教學;需要查詢特定關鍵字的寫法,請閱讀設定欄位參考;對購買、匯入或連線狀況仍有疑問,請前往疑難排解。各頁面依操作層次分工,不必為了調整一項設定而重新修改整份設定檔。