官方手冊 · 功能參考

Shadowrocket 功能與設定

先確認 Global Routing,再檢查設定檔與伺服器;建立連線後,使用 Data 和 Diagnostics 找出具體問題。每次只變更一項設定,並保留變更前的結果以供比對。

本文適用於 iPhone / iPad,預設讀者已有自己的訂閱或伺服器資訊。系統需求與相容性請以 App Store 頁面標示為準。

  • 模式決定路由方式
  • 規則決定比對結果
  • 測試結果需交叉確認

Global Routing:設定、代理與直連

Global Routing 決定目前連線採用哪種路由方式,不是伺服器協定選擇器。在 Home 開啟 Global Routing 後,依需求選擇 Config、Proxy 或 Direct。變更模式前,先記下原本的選項,避免排除問題後忘記還原。

介面選項 處理方式 適用情境 檢查重點
Config(設定檔) 依目前啟用設定檔中的規則與策略處理請求。 日常依網域、位址等條件分流。 目前設定檔、規則順序、策略引用與最終兜底規則。
Proxy(代理) 以代理模式處理流量,而非逐條套用 Config 的一般分流規則。 暫時確認所選伺服器是否能處理目標連線。 所選伺服器參數,以及設定檔中相關排除項目的影響。
Direct(直連) 直接連線至目標。 比對目前網路的直接連線情況。 本地網路、解析結果與目標服務本身的狀態。

如何選擇並驗證模式

已有分流設定時,先在 Config 確認目前使用的檔案,再將 Global Routing 設為 Config。若懷疑規則選錯策略,可暫時切換至 Proxy,在相同網路下測試相同目標以供比對;若要確認目前網路能否直接連線,則測試 Direct。每次只變更模式,不要同時更換伺服器、DNS 和網路,否則無法判斷是哪項變更造成影響。

模式名稱不能取代實際驗證。Proxy 不代表伺服器一定可用,Direct 也不代表系統連線開關已關閉。查看連線狀態、請求記錄與實際連線結果後,再下結論。排除問題後應還原原本需要的模式;若長期停留在暫時測試模式,原本依賴規則的連線方式可能會改變。

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

規則說明「哪些請求」,策略說明「如何處理」,兩者需一併確認。

規則主要在 Config 中查看與維護;使用前請確認 Global Routing 設為 Config,且編輯的是目前啟用的設定檔。通常會依規則順序比對,較具體的條件應排在較廣泛的條件之前,FINAL 則用來處理未符合前面規則的請求。只將規則加入另一個未啟用的檔案,不會改變目前的連線行為。

規則類型比對對象使用注意事項
DOMAIN完整網域。適合只處理一個明確的網域。
DOMAIN-SUFFIX網域後綴及其子網域。確認涵蓋範圍是否包含不想變更的子網域。
DOMAIN-KEYWORD網域中包含的關鍵字。比對範圍較廣,應避免使用過短的關鍵字。
IP-CIDR / IP-CIDR6IPv4 / IPv6 位址範圍。確認位址範圍與前綴長度,勿將單一位址與整個網段混淆。
GEOIP位址資料庫中的地區歸屬。資料庫判定結果不等於目標服務的語言或業務地區。
FINAL其他未比對的請求。作為兜底規則,放在需要優先比對的規則之後。

PROXY、DIRECT 與 REJECT 的差異

PROXY 表示交由代理策略處理,DIRECT 表示直接連線,REJECT 表示拒絕請求。設定檔也可能引用具名策略群組;此時除了規則本身,也要確認策略群組目前的選擇。介面模式 Proxy 與規則關鍵字 PROXY 屬於不同層級:前者選擇路由方式,後者是規則中的處理策略,兩者不可互換。

[Rule]
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,DIRECT
DOMAIN,blocked.example,REJECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY

以上僅示範語法與順序,並非可直接取代個人設定的完整檔案。新增規則時,先用一個目標驗證,再逐步擴大比對範圍。若目標仍採用其他策略,請檢查前面是否有更早符合的規則,並搭配請求記錄確認實際網域或位址;頁面上看到的網域不一定涵蓋該服務的所有請求。

訂閱與伺服器管理

伺服器項目會儲存連線參數,Subscribe 用於匯入及更新使用者已有的伺服器清單;兩者不等同於 Config 中的完整分流設定。在 Home 使用 Add Server 新增單一項目,或選擇 Subscribe 類型並填入既有訂閱。若已有 QR Code,可使用 Scan QR Code,但應先確認 QR Code 來自自己的設定來源。

新增與更新時要確認哪些項目

手動新增時,協定類型必須與既有伺服器資訊一致,接著逐項確認伺服器位址、連接埠、驗證資訊及協定相關選項。Shadowsocks、VMess、VLESS、Trojan、WireGuard 等協定的參數不能直接互換。儲存成功只代表項目已建立,不代表遠端服務可用;請選取該項目,執行 Connectivity Test,並實際連線測試。

匯入 Subscribe 時,請保持連結完整,特別留意查詢參數,以及複製時帶入的空格與換行。更新訂閱會重新讀取其內容,可能新增、修改或移除伺服器項目。手動修改訂閱產生的項目之前,請先考慮下次更新是否會覆蓋這些變更;需要保留的個人設定應另行記錄,避免把暫時編輯當成長期保存方式。

多份清單與敏感資訊

同時管理多份訂閱時,可用備註區分來源與用途;清理前先確認項目屬於哪份清單。備註相同不代表參數相同,位址重複也不一定表示完全相同,因為連接埠、協定與驗證方式可能不同。刪除後也應檢查 Config 是否仍引用原項目或策略名稱,以免規則指向已移除的項目。

訂閱連結可能包含存取憑證,QR Code、匯出內容與診斷記錄也可能帶有伺服器資訊。請勿將這些內容直接放入公開截圖。本網站不提供、不販售也不推薦節點或訂閱;需要確認遠端參數時,請使用自己已有的資訊並向相應服務提供者確認,不要反覆切換無關設定來猜測正確值。

On Demand:依條件觸發連線

先確認手動連線正常,再設定自動觸發;自動連線無法修正錯誤的伺服器參數。

On Demand 用於依網路等條件決定是否觸發連線。進入應用程式中的 On Demand 設定頁面,查看目前的規則與動作,再依實際需求設定 Wi-Fi、行動網路或網域相關條件。設定入口位置與可用選項以裝置上的應用程式畫面為準,不應直接根據另一台裝置的介面位置推斷。

一次設定一項條件,逐步啟用

先選定一個可重複驗證的情境,例如連上某個已知 Wi-Fi 後需要建立連線。輸入網路名稱時確認拼字與空格,再檢查動作是否符合預期。儲存後切換至相應網路,觀察系統連線狀態與實際連線結果。第一條規則驗證通過後,再加入其他網路條件;不要一次加入多條彼此重疊的規則。

網域相關條件也涉及系統何時開始解析或存取,不能把填入網域理解為所有相關請求都會立即執行相同動作。多項條件有重疊時,應檢查規則順序、各項動作與實際符合結果。切換網路後表現不同,也可能是目前網路本身無法連線至伺服器,需與規則觸發失敗區分。

On Demand 與 Global Routing 的分工

On Demand 負責觸發連線,Global Routing 與 Config 負責連線後的流量處理。自動連線成功不代表分流符合預期,仍需確認目前模式與設定檔。若手動中斷後又重新連線,先檢查 On Demand 是否仍已啟用,不要立即刪除伺服器。若要暫停自動行為,請在相應設定中關閉,再次觀察狀態。

Data:查看流量統計

Data 用於查看應用程式記錄的流量資訊。開啟 Data 後,先確認目前檢視畫面的統計範圍、時間範圍與計量單位,再查看上傳與下載數據。若頁面提供重設功能,請先保留需要比對的記錄;歸零後的數值不能直接與先前的累計值比較。

如何利用統計協助判斷

排除問題時,可先記錄數值,再只開啟一個目標頁面,接著回到 Data 觀察變化。若數據增加但頁面仍無法載入,表示「有流量」與「目標服務請求成功」並非同一回事;還需確認 DNS、目標回應與規則策略。背景應用程式也可能產生流量,因此不應將同一時段的所有增量都歸因於剛開啟的頁面。

Data 不是服務提供者的剩餘用量頁面,也不等同於裝置系統中的行動網路用量。統計起點、網路範圍、協定額外負荷與計費方式可能不同,不能直接用應用程式的累計值推算遠端帳戶餘額。同樣地,看到流量也不能證明請求一定使用了代理策略;要判斷具體路徑,應搭配 Global Routing、符合的規則與請求記錄。

需要重現問題時,固定觀察時段並記錄目前網路,比單獨截取一個累計數字更有參考價值。不要為了得到看似整齊的結果而反覆清除記錄;重要的是變更前後可比較的差異,而不是某個孤立數值。

Settings:常用項目與診斷入口

先檢視目前設定檔,再調整應用程式設定。設定檔中的相關選項也可能影響最終行為。

DNS:先確認問題發生在哪個步驟

DNS 負責網域解析;相關選項可在 Settings 的 DNS 項目及目前 Config 的設定內容中確認。先記下原本的解析設定,再依既有設定要求進行變更。應區分網域無法解析、解析後無法建立連線,以及已連線但目標回應異常這三種情況,不能用同一種方式處理。

設定後使用相同網域重新測試,並留意快取可能使變更前後的結果暫時相同。只有部分網域異常時,請檢查相應規則、解析路徑與 IPv4 / IPv6 結果,不要直接將所有請求改用同一策略。更換 DNS 不會自動修正錯誤的連接埠、驗證資訊或無法使用的遠端伺服器;排除問題應以已觀察到的錯誤為準,而非頻繁更換解析位址。

Test Method:了解 Connectivity Test 的測試範圍

在 Settings 檢查 Test Method,再執行 Home 中的 Connectivity Test。測試方式會決定測量對象與成功條件,不同方式的耗時不宜直接比較。若選項要求指定測試目標,也要確認該目標本身可連線;目標異常時,結果可能反映的是目標問題,而非伺服器的整體能力。

單次測試通過,不代表所有網站、傳輸方式或服務都正常;一次 timeout 也不足以證明整份設定失效。請先連續重測,再確認位址、連接埠、協定參數、系統時間與目前網路,最後使用實際需要連線的目標交叉驗證。記錄結果時也要註明測試方式,避免只比較單一數字。

Today Widget:快速操作與狀態確認

Today Widget 用於相關快速操作與資訊顯示。在 Settings 查看 Today Widget 選項,再依裝置系統提供的小工具加入方式操作。能否加入、具體顯示方式與可用操作,請以目前系統及應用程式畫面為準;不同裝置的版面不必完全一致。

執行快速操作後,仍應回到 Home 確認所選伺服器、Global Routing 與連線狀態。小工具顯示的是操作入口或狀態資訊,不會檢查伺服器參數。若快速操作後的狀態不如預期,先確認應用程式內的狀態與 On Demand 條件,不要只憑小工具外觀判斷連線已建立。

iCloud:同步不等於恢復購買

使用 iCloud 同步前,先在 Settings 確認同步開關與同步內容,並確認系統允許應用程式使用 iCloud。在新裝置上先檢查同步結果再繼續修改;若內容沒有立即出現,應先確認帳戶、網路與系統權限,避免重複建立項目造成混亂。

不要認為同步一定會完整移轉所有設定與敏感欄位。請以實際同步到的內容為準,重要設定仍應保留可供還原的記錄;匯出內容也需妥善保管。iCloud 同步與 App Store 已購項目的恢復處理的是不同問題,重新取得客戶端請參閱已購項目恢復說明,不能以同步開關取代購買記錄確認。

Diagnostics:針對具體故障收集資訊

在 Settings 尋找 Diagnostics,使用目前應用程式提供的工具檢查連線或記錄。操作前先明確描述症狀:是所有請求都失敗、只有某個網域失敗,還是只在切換網路後失敗。接著記錄目前的 Global Routing、使用中的設定檔、伺服器項目與錯誤發生條件,再重現一次,避免大量無關記錄掩蓋關鍵錯誤。

診斷工具提供的是觀察結果,不保證會自動修復問題。檢視記錄時,請找出時間相符的錯誤及其對應請求,不要只憑單一警告推斷所有原因。對外提供記錄前,請移除訂閱連結中的憑證、驗證欄位及個人網路資訊;保留錯誤類型、重現步驟與必要的去識別化參數,通常更有助於找出問題。

設定檢查順序

先確認「能否建立基本連線」,再檢查「請求是否採用正確策略」,最後才處理自動化與同步。依照以下順序操作,可減少多項設定互相影響而造成的誤判。

  1. 確認既有資訊完整。確認伺服器協定、位址、連接埠與驗證欄位;匯入訂閱後,先確認清單中確實有可選取的項目。
  2. 確認目前的路由方式。檢查 Home 中的 Global Routing。使用 Config 時,請確認目前啟用的檔案與策略引用,而不只是檢查某個已儲存的檔案。
  3. 先手動建立連線。完成必要的系統 VPN 設定授權,再使用 Connectivity Test 和實際目標進行驗證;測試期間先不要加入新的自動連線條件。
  4. 逐項確認規則與 DNS。針對一個連線失敗的目標檢查符合情況,每次只變更一處並保留變更前後的記錄;沒有改善就還原原值。
  5. 最後設定 On Demand 與同步。基本連線穩定後,再啟用按需條件、小工具操作及 iCloud,並分別驗證結果。

首次設定可接著閱讀使用說明;若要確認購買與裝置相容性,請前往App Store 正版取得說明。本頁是 Shadowrocket 官方手冊的功能參考,具體可用選項請以應用程式內顯示為準。