官方手冊 · 功能介紹
Shadowrocket
功能與常用設定
先選擇 Global Routing,再確認 Config 與伺服器。連線開關、分流規則、DNS 和自動連線分別影響不同環節,排查時請勿同時修改。
- iPhone / iPad 操作說明
- 設定前先備份
- 一次只修改一項
本頁依照 iPhone 與 iPad 的使用方式編排。Shadowrocket 是 Apple 平台的付費用戶端;Mac、Apple TV 與 Apple Vision 的相容性、系統需求及購買適用範圍,請以 App Store 頁面標示為準。應用程式僅能透過 App Store 取得,購買前可先閱讀正版確認與購買說明。
Global Routing:先選擇三種模式
Global Routing 決定整體連線採用哪種處理方式,並不等同於連線開關。在 Home 找到 Global Routing,依目前需求選擇 Config、Proxy 或 Direct。中文說明分別稱為設定檔、代理、直連;實際操作時請辨認介面上的英文原文。變更後,既有長連線未必會立即依新方式重新建立;驗證時請重新送出請求,不要只查看已開啟的頁面。
| 介面選項 | 主要用途 | 適用情境 | 注意事項 |
|---|---|---|---|
| Config 設定檔 | 依目前選取的設定檔比對規則。 | 需要讓不同目標採用不同策略時。 | 務必確認目前啟用的設定檔及 Rule 區段順序。 |
| Proxy 代理 | 以代理模式處理請求,主要用於檢查所選代理路徑。 | 暫時排除規則因素,確認現有伺服器是否可用時。 | 不能據此認定系統中的所有流量都經過相同路徑。 |
| Direct 直連 | 以直連模式處理請求。 | 比對目前網路的直接連線狀況時。 | 選取 Direct 不代表已關閉系統中的 VPN 連線。 |
日常依規則分流時,通常從 Config 開始。若某個目標無法連線,可先記下原有模式,再暫時改用 Proxy 或 Direct 作為對照,最後恢復原設定。對照結果只能呈現不同路徑的狀況,不能直接證明問題出在伺服器、DNS 或目標服務;仍須配合記錄判斷。
容易混淆的是,Config 同時是介面入口名稱,也是 Global Routing 的選項:前者用來管理設定檔,後者表示「依目前設定檔處理」。進入 Config 瀏覽設定檔,不代表已將它設為啟用中的設定檔;啟用前請確認選取狀態。
Rule:分清規則類型與策略
規則類型用來判斷請求,策略則決定符合規則後採取的動作。在 Config 開啟目前使用的設定檔,檢查 Rule 或相應的 [Rule] 區段。規則依由上而下的順序處理,符合第一條規則後便不再比對後續規則;較明確的例外應放在範圍較廣的規則之前,FINAL 則應放在末尾作為兜底。
DOMAIN 對應完整網域名稱,DOMAIN-SUFFIX 對應網域後綴,DOMAIN-KEYWORD 依網域中的關鍵字比對。IP-CIDR 與 IP-CIDR6 分別表示 IPv4 與 IPv6 位址範圍,GEOIP 則依據 IP 地理資料庫參與判斷。網域規則與 IP 規則的觀察角度不同,不能只因頁面屬於某個網域,就認定載入的每項資源都會符合相同規則。
[Rule]
DOMAIN-SUFFIX,apple.com,DIRECT
DOMAIN-KEYWORD,adservice,REJECT
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
以上僅為語法範例,不能取代完整設定。DIRECT 表示直接連線,REJECT 表示拒絕請求,PROXY 表示交由代理策略處理;實際使用的伺服器仍須確認目前的選取狀態。策略關鍵字須使用大寫,不要與 Global Routing 中的 Proxy、Direct 介面選項混為一談。
修改時請先保留原設定檔副本,只新增一條範圍明確的規則,儲存並確認啟用中的設定檔後再重新測試。如果規則未生效,先確認 Global Routing 是否設為 Config、前面是否已有範圍較廣的規則符合,再檢查請求實際使用的網域或位址。請勿直接將 FINAL 移到頂端;這會讓它成為最先套用的兜底規則,使後續規則失去比對機會。規則排序詳情請參閱自訂規則與 FINAL 說明。
Subscribe 與 Add Server:管理現有資訊
訂閱用於批次管理伺服器項目,手動新增則用於輸入一組明確的連線參數。兩種方式都需要使用者先備妥相關資訊。在 Home 進入 Add Server,依現有資料選擇相應類型並填入參數;匯入訂閱則在相應入口選擇 Subscribe,輸入自己的訂閱網址。也可使用應用程式提供的 Scan QR Code 等入口讀取現有內容,匯入前請先確認內容來源與用途。
手動輸入時,請逐一核對位址、連接埠、驗證資訊及協定要求。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 等協定所需參數各不相同,不能只更改類型名稱,其他欄位便沿用原值。TLS、傳輸方式及相關名稱也應依原始資料填寫,請勿為了排除錯誤而任意關閉驗證或更換參數。
成功匯入只代表應用程式已讀取內容,不代表伺服器一定能連線。返回 Home 後,請確認群組與項目,再選擇要使用的伺服器,並另外執行 Connectivity Test。訂閱更新可能新增、移除或調整項目,因此重要的手動備註與個別修改應先留存;不要假設訂閱下次更新時會保留所有本機變更。
訂閱網址可能包含存取憑證,分享截圖、記錄與求助資料時,請遮蔽完整連結及驗證欄位。更新失敗時,先分辨是連結無法存取、回傳內容格式不符,還是匯入後項目無法連線。前兩種屬於取得與解析階段,最後一種才需要進一步檢查協定參數與連線路徑。詳細步驟請參閱使用說明。
On Demand:依條件觸發連線
On Demand 用於依條件觸發連線,不負責決定個別請求的分流策略。在應用程式的 On Demand 設定入口檢查可用條件,再依自己的網路使用情境進行設定。它與 Global Routing、Rule 屬於不同層級:On Demand 控制何時連線,Global Routing 與 Rule 則處理連線後的請求路徑。
設定前,先以手動方式連線,確認目前的設定檔與伺服器可正常運作,再啟用一項容易驗證的條件。儲存後切換至相應網路,查看系統 VPN 狀態及應用程式內的連線狀態,接著離開該條件再觀察一次。若設定涉及 Wi-Fi 網路名稱,請確認名稱與目前網路相符,避免將相似名稱誤認為相同條件。
啟用後,手動關閉連線,而後又符合觸發條件時,可能會連續執行不同動作,因此「剛關閉又重新連線」不一定是應用程式異常。排查時,請先暫停 On Demand,進行一次手動連線測試,再檢查系統中相關的 VPN 設定。自動觸發不代表遠端服務一直可用;網路變更、驗證失敗或伺服器無法連線,仍可能造成連線或存取失敗。
若要暫停自動觸發,請返回 On Demand 檢查並關閉相應條件,不要只是不斷操作 Home 的開關。恢復自動連線前,請再次確認目前選取的伺服器與啟用中的設定檔,避免自動觸發時使用測試期間留下的選項。
Data:查看流量統計,不是測速結果
Data 用於查看流量使用情況,累計位元組數不等於目前速度。進入 Data 後,先確認目前檢視畫面、項目歸屬與介面提供的統計範圍,再查看上傳與下載數據。依伺服器查看有助於掌握個別項目的使用情況;若目前裝置與介面提供依 App 檢視的方式,也應確認其歸屬判定,不要直接把記錄名稱視為完整的 App 行為結論。
進行比對時,可先記下目前讀數與統計起點,再只執行一次明確操作,例如重新開啟某個頁面,接著返回 Data 查看變化。短時間內讀數增加,只能表示相應統計範圍記錄到流量;頁面可能同時請求圖片、指令碼與背景資源,不能簡單地將總量等同於畫面上某個檔案的大小。
讀數為零時,先確認連線已建立、目標請求確實重新送出,以及目前檢視的項目是否為實際使用的伺服器。瀏覽器快取、不同策略路徑或統計範圍變更,都可能讓數字不如預期。讀數偏高時,先檢查背景活動與是否重複測試,不要立即認定統計有誤。
Data 也不是服務計費的依據。用戶端顯示的統計範圍可能與遠端服務的計量方式不同,請分別參閱相應說明。若介面提供清除或重設統計的操作,執行前請先記下必要資訊,之後比較時應採用新的起點。更多讀數說明請參閱Data 頁面的流量統計說明。
DNS:先確認啟用中的設定檔,再調整解析設定
DNS 負責將網域名稱解析為位址,解析成功與後續連線成功是兩個不同的檢查點。檢查 DNS 時,應同時查看 Config 中啟用設定檔的相關項目,以及 Settings 顯示的 DNS 選項。不要只修改其中一處,就假設所有請求都會受到影響;實際行為也與設定檔內容、請求路徑及相關選項有關。
例如,設定檔中的 dns-server 用於描述 DNS 伺服器設定,以下片段示範使用系統 DNS 的寫法。這不是適用於所有網路的建議方案,也未涵蓋完整設定所需考量的其他內容。
[General]
dns-server = system
調整前請先備份啟用中的設定檔並記下原值,接著只修改一項 DNS 相關設定。儲存後重新送出相同網域的請求,必要時依應用程式提供的方式重新建立連線,避免舊連線或快取影響比較。不要只因一次解析速度較慢,就同時更換 DNS、Global Routing 與伺服器,否則難以判斷是哪項調整改變了結果。
若網域無法解析,優先檢查目前網路的 DNS 可用性與設定檔語法;若能解析但無法存取,則繼續檢查目標位址連線、TLS 與規則策略。解析結果可能受快取與網路環境影響,因此請記下測試時的網路條件,不要將單次結果視為長期結論。
Settings:測試方式、快速入口與同步
Settings 中的常用項目應依用途分別調整。入口與選項可能因裝置和目前介面而異,操作前請先確認名稱。保留原值,優先採用可重複驗證的設定變更;不了解用途的選項請先查閱說明,不要把所有開關都打開當成通用處理方式。
Test Method 與 Connectivity Test
Test Method 用於選擇連線測試的方法,Connectivity Test 則用來執行測試。先在 Settings 確認 Test Method,再返回 Home 測試現有伺服器。比較不同項目時,請維持測試方法、測試目標與目前網路條件一致;不同方法得出的數值不能直接排名比較。
測試有結果不代表所有網站或 App 都能正常使用,測試失敗也未必表示驗證資訊有誤。請選擇明確目標進行實際請求,並區分名稱解析、建立連線與接收內容三個階段。不要為了得到較小的數字而不斷切換測試方法,卻忽略實際存取是否成功。
Today Widget
Today Widget 是供系統相應區域使用的快速入口,是否能加入及可顯示哪些操作,請以目前系統與應用程式介面為準。先在應用程式內檢查相關設定,再前往系統提供的元件編輯入口確認能否加入。它只是操作入口,並非獨立的設定環境;使用前仍應在應用程式內確認伺服器、Global Routing 與啟用中的設定檔。
若快速操作後的狀態與預期不同,請先開啟應用程式確認實際連線狀態,再檢查 On Demand 是否觸發後續連線。不要只根據元件上次顯示的文字判斷目前的請求路徑。
iCloud 同步
iCloud 同步會在符合相關條件時,同步應用程式支援的資料。請先在系統設定確認 iCloud 使用狀態與 App 權限,再檢查 Shadowrocket 內的對應選項。同步範圍請以應用程式顯示為準;開啟同步不代表每台裝置上的伺服器、設定檔、統計資料與連線狀態都會完全一致。
在另一部裝置上操作前,請先檢查已同步的內容及其選取狀態,確認後再連線。刪除、覆寫或批次修改前,請保留可還原的副本。App Store 已購項目還原的是 App 購買資格,不代表所有連線參數都能一併還原;兩者應分開確認。更換裝置的步驟請參閱已購項目還原說明。
Diagnostics:依序縮小故障範圍
診斷的目的,是找出「問題發生在哪個環節」,而不是接連修改所有設定。在 Settings 查看 Diagnostics 或目前介面提供的診斷工具,搭配 Connectivity Test 與連線記錄進行檢查。工具名稱、記錄範圍與可用功能請以應用程式內顯示為準;測試完成後,只需保留必要結果。
- 先確認基本網路。記下目前使用 Wi-Fi 還是行動網路,以及問題是否只發生在其中一種網路。若基本連線本身就失敗,請先處理該網路的連線問題。
- 確認選取狀態。檢查 Home 中目前的伺服器、Global Routing、Config 啟用檔案與 On Demand 狀態。連線開關顯示為開啟,只能作為檢查起點。
- 確認測試條件。確認 Test Method,在相同網路下對同一項目執行 Connectivity Test 並記錄結果;不要混合比較不同方法的數值。
- 檢查規則與解析。針對明確的目標查看請求線索,確認網域解析、符合的策略與連線錯誤。若只在 Config 下失敗,請回頭檢查 Rule 順序。
- 還原並重新測試。每次只調整一項,再次送出相同請求。若未改善,請還原原值後再測試下一項,避免暫時設定彼此疊加。
「逾時」、「驗證失敗」與「名稱解析失敗」代表不同線索。逾時須配合網路可達性、目標位址與遠端回應進一步判斷;驗證失敗應先檢查現有憑證與協定參數;名稱解析失敗則優先確認 DNS 相關設定。單一錯誤訊息通常不足以證明整條連線路徑的問題原因。
整理求助資訊時,可記錄裝置類型、目前網路、Global Routing 模式、失敗目標類型,以及已去識別化的錯誤文字。請勿公開伺服器驗證資訊、完整訂閱網址或設定檔中的敏感欄位。若問題集中在連線過程,請參閱連線問題常見問答;若尚未取得 App 或無法還原購買項目,請改看App Store 指南,不要反覆嘗試網路設定。