Shadowrocket
功能與常用設定
先選擇 Global Routing,再確認 Config 與 SERVER;連線後,透過實際請求驗證結果。
本頁以 iPhone 與 iPad 上的 Shadowrocket 為操作對象,依「功能說明、所在位置、設定方式、注意事項」整理內容。介面入口可能因裝置版面而異,實際名稱與可用選項請以 App 內顯示為準;若要從首次匯入開始操作,可先閱讀入門指南。
Global Routing:三種運作方式
Config 依規則決定流量去向;Proxy 使用代理連線,Direct 則直接連線。
功能說明:Global Routing 用來決定用戶端如何處理進入其網路通道的請求。它不是伺服器清單,也不等同於連線開關。選擇某台伺服器,只是指定需要代理時使用的出口;選擇 Config、Proxy 或 Direct,則是決定請求的處理方式。三種方式適用於不同的驗證情境,不能靠切換方式來取代修正錯誤的伺服器參數。
位置與設定方式:前往 Home,開啟 Global Routing,依目前需求選擇 Config、Proxy 或 Direct。若要依網域、位址等條件分流,先在 Config 確認已啟用的設定,再選擇 Config;若要暫時確認目前的代理伺服器能否處理請求,可選擇 Proxy;若要比較目前網路直接連線的情況,可選擇 Direct。切換後重新送出目標請求,不要只觀察先前已建立的連線。
| 介面選項 | 處理方式 | 適用情境 | 檢查重點 |
|---|---|---|---|
| Config 設定 |
依目前啟用設定中的規則與策略處理請求。 | 需要為不同目標分別指定 DIRECT、PROXY 或其他已定義的策略。 | 設定是否已啟用、規則順序是否正確,以及策略名稱是否存在。 |
| Proxy 代理連線 |
以代理方式處理進入用戶端處理範圍的請求。 | 暫時確認所選伺服器與代理連線是否可用。 | SERVER 選擇、協定參數,以及目標服務是否可連線。 |
| Direct 直接連線 |
直接連線處理進入用戶端處理範圍的請求。 | 比較目前網路的直接連線結果,協助找出分流問題。 | 本機網路是否正常,以及是否仍有自動連線條件。 |
規則分流:比對條件與執行策略
功能說明:規則由「比對條件」與「比對後的處理方式」兩部分組成。DOMAIN、DOMAIN-SUFFIX 等關鍵字描述比對條件;DIRECT、PROXY、REJECT 等則代表處理策略。規則會依序檢查,已符合前面規則的請求通常不會再交由後續規則處理,因此規則順序與內容同樣重要。Global Routing 設為 Config 時,才應以目前設定中的規則檢查分流結果。
位置與設定方式:前往 Config,確認目前啟用的檔案,再檢查其中的 [Rule] 區段。修改前先保留一份原始設定,只調整與目標請求相關的項目。將明確且範圍較小的例外規則放在適當的前面位置,並檢查最後的 FINAL。若策略引用設定中定義的群組名稱,也要確認名稱拼寫一致,且群組內有可用選項。
| 關鍵字 | 比對或處理方式 | 使用注意事項 |
|---|---|---|
DOMAIN | 比對完整網域名稱。 | 適合只處理單一明確主機名稱的情況。 |
DOMAIN-SUFFIX | 比對網域本身及其子網域。 | 範圍比單一 DOMAIN 更廣,請先確認子網域是否也適用。 |
DOMAIN-KEYWORD | 依網域中包含的關鍵字進行比對。 | 關鍵字太短,容易涵蓋不相關的目標。 |
IP-CIDR / IP-CIDR6 | 比對 IPv4 或 IPv6 位址範圍。 | 留意位址類型、遮罩與實際連線位址。 |
GEOIP | 依 IP 地理位置資料庫進行比對。 | IP 歸屬判斷不等同於網域所屬地區,結果也會受資料庫影響。 |
DIRECT / PROXY / REJECT | 分別用於直接連線、代理處理或拒絕請求。 | 這些是處理策略,不是網域比對類型。 |
FINAL | 處理前面規則都未符合的請求。 | 通常放在規則末尾,明確指定其餘請求的去向。 |
最小規則範例
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
此範例僅說明比對邏輯:符合 example.com 及其子網域的請求交由 PROXY 處理,其餘請求則交由 DIRECT 處理。這不是適用於所有人的完整設定;PROXY 實際使用的出口仍須依目前設定與伺服器選擇確認。編輯後重新瀏覽測試目標,查看連線記錄中的目標與策略,再確認是否符合預期規則。
注意:網頁可能同時連線至多個網域。主頁能開啟,不代表圖片、登入或 API 請求使用相同策略。排查時記下發生問題的確切目標,避免只憑網站名稱新增範圍過大的規則。更多規則關鍵字說明請參閱術語表。
訂閱與伺服器管理
功能說明:伺服器項目會儲存連線所需的位址、連接埠、協定與驗證資訊;Subscribe 則會透過使用者已有的訂閱連結讀取一組伺服器項目。訂閱、伺服器與 Config 是不同的項目:匯入一組伺服器,不代表規則檔也已正確啟用;啟用 Config,也不代表其中引用的伺服器一定有效。
位置與設定方式:在 Home 開啟 Add Server。若已有訂閱,將 Type 設為 Subscribe,貼上服務供應商提供的完整連結,儲存後檢查匯入結果。若已有單一伺服器的資訊,依照提供的協定選擇 Type,再逐項填入參數。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 等協定的欄位各不相同,不能只因名稱相近就套用其他協定的參數。
- 先確認輸入內容完整,尤其是訂閱連結末尾的參數;不要連同說明文字一起貼上。
- 儲存後查看 Home 中的群組與伺服器項目,確認匯入內容符合預期,再執行 Connectivity Test。
- 選擇要使用的 SERVER,再檢查 Global Routing;若使用 Config,也要確認規則實際引用的策略。
- 更新訂閱後重新確認目前選擇的項目;名稱或內容可能有所變動,不要假設原本的選擇仍然有效。
注意:訂閱更新失敗與伺服器連線失敗是不同環節。前者應先檢查連結是否有效,以及目前網路能否取得訂閱內容;後者則檢查伺服器位址、連接埠、驗證資訊與傳輸設定。訂閱連結可能包含存取憑證,在截圖、記錄或求助內容中應遮蔽完整連結與驗證欄位。刪除項目之前,先確認是否保留原始資訊;手動編輯由訂閱產生的項目,也可能在下次更新時遭到覆寫。
On Demand:依條件觸發連線
功能說明:On Demand 會在符合已設定條件時,由系統觸發 VPN 連線。它處理的是「何時建立連線」;Global Routing 與 Config 處理的則是「建立連線後如何處理請求」。啟用 On Demand 不會自動補上伺服器資訊,也無法讓錯誤的設定變得可用。
位置與設定方式:前往 Settings,尋找 On Demand 相關設定,依 App 提供的網路條件進行設定。開始前先手動連線,確認目前的 SERVER 與 Config 運作正常;接著只加入一項明確需要的觸發條件,儲存後切換至相應網路進行驗證。若介面提供 Wi-Fi 或行動網路條件,請分別測試,不要依其中一種網路的結果推斷另一種網路的情況。
注意:啟用後,手動中斷連線不代表系統之後不會再次連線。若遇到「關閉後又自動連線」,請先檢查 On Demand 與系統中相應的隨選連線設定,再觀察切換網路後的行為。若暫時需要完全停止自動觸發,請先關閉相關條件,再操作連線開關。
單憑 On Demand 無法判斷耗電程度。訊號品質、網路切換頻率、請求量及持續連線都可能影響電池續航力。建議在其他條件相近時,透過系統電池頁面比較一段時間內的實際使用情況,不要只根據 VPN 圖示是否顯示來判斷。連線穩定後再逐步增加條件,較容易確認是哪次修改造成行為變化。
Data:流量統計與請求檢視
功能說明:Data 可查看用戶端記錄的流量與連線資訊,協助確認使用期間是否有請求、流量是否持續增加,以及設定調整前後的變化。這是用戶端端的檢視入口,不等同於服務供應商的帳單,也不能只憑總流量判斷某條規則是否正確。
位置與設定方式:前往 Data,先查看目前顯示的統計範圍與時間基準,再進行一次可重複的瀏覽測試。若要檢查個別問題,先記下目前統計資料或保存必要記錄,再開啟相同目標,比較測試前後的變化。若要清除記錄或重設統計資料,請先確認操作範圍,避免一併刪除仍需用於排查的資料。
注意:上傳與下載、直接連線與代理連線、目前工作階段與累計記錄可能採用不同統計方式,請依介面實際標籤判讀。服務供應商的計量可能包含協定額外流量,結算週期也可能不同,因此數值不一定完全一致。系統行動網路統計另有獨立的時間範圍,比較前請先對齊觀察區間。
若發現「流量持續增加但頁面無法開啟」,不要立刻判定伺服器正常。增加的流量可能來自背景 App 或其他網域,應繼續核對目標請求與錯誤訊息;若沒有新增記錄,則先檢查連線開關、測試請求是否重新送出,以及請求是否進入用戶端處理範圍。分享記錄時只保留排查所需內容,並遮蔽私人網域、位址與驗證資訊。
Settings:常用項目逐一檢查
先記錄目前設定值,每次只修改一項;也要一併檢查設定檔中的相關設定。
DNS:先判斷是解析問題還是連線問題
功能與位置:DNS 會將網域名稱解析為位址。可在 Settings 的 DNS 設定,以及目前 Config 中與 DNS 相關的內容進行檢查;實際生效方式須依所用設定判斷,不能只查看其中一個頁面。
設定方式與注意事項:先保留目前可用的設定,記下發生問題的網域與目前網路。確認有 DNS 解析異常後,再依設定需求調整 DNS,並重新連線、送出請求驗證。成功解析出位址不代表一定能連上目標,位址變更也不一定是故障。不要同時修改 DNS、伺服器與規則,否則無法判斷是哪項設定影響結果。
Test Method:統一 Connectivity Test 的測試方式
功能與位置:Test Method 決定伺服器測試採用的方式,可在 Settings 中查看。它會影響 Connectivity Test 結果的解讀方式,但不能取代實際服務請求測試。
設定方式與注意事項:依測試目的選擇 App 提供的方法;比較伺服器時,請保持測試方法、目標與目前網路一致。不同測試方法檢查的環節各異,結果不宜直接混合比較。測試成功後仍須開啟實際目標;測試失敗也應一併檢查伺服器協定與網路環境,不要只憑單次結果刪除所有項目。
Today Widget:使用快速操作後仍須確認狀態
功能與位置:Today Widget 是用來快速查看或操作用戶端狀態的系統入口;可在 Settings 中查看相關選項,並在系統允許的位置加入對應元件。是否能加入元件及其顯示方式,請以目前系統與 App 支援情況為準。
設定方式與注意事項:先在 App 中完成伺服器與路由設定,再設定快速入口。使用後回到 Home,確認連線狀態、所選的 SERVER 與 Global Routing。系統元件的顯示可能需要重新整理,不能只根據上一次顯示的內容推斷目前狀態;排查問題時,應優先以 App 內狀態與實際請求結果為準。
iCloud:確認同步範圍,不要將同步當成完整備份
功能與位置:iCloud 相關功能會在符合條件時同步 App 支援的內容。前往 Settings 查看同步選項,並確認系統 iCloud 設定允許 Shadowrocket 使用相應服務。
設定方式與注意事項:先確認裝置使用的 iCloud 帳號與網路狀態,再依介面列出的範圍啟用。更換裝置後,請逐項檢查設定、伺服器與選取狀態,不要假設所有資料與系統授權都會一併還原。同步可能需要時間;多台裝置同時編輯前,請先保留可還原的設定副本。包含訂閱或驗證資訊的內容仍應視為敏感資料妥善管理。
Diagnostics:針對單一問題蒐集資訊
功能與位置:Diagnostics 提供診斷入口,可在 Settings 中尋找。診斷資訊用於縮小問題範圍,不能取代伺服器參數檢查或實際連線測試。
設定方式與注意事項:先記下問題發生時的網路類型、Global Routing 與所選 SERVER,再依介面提示執行相關檢查。若需要記錄,只在重現問題所需的範圍內蒐集;保存必要結果後,請還原日常設定。匯出或分享前,檢查內容是否包含訂閱網址、驗證欄位、私人請求目標或其他敏感資訊。若長篇記錄缺少問題發生時間與操作過程,通常不如一次清楚且可重複的測試有效。
設定驗證:依固定順序找出問題
完成設定後,先驗證最簡單的連線流程,再逐步擴大檢查範圍。連線開關已開啟,只表示已發起連線;Connectivity Test 有結果,只表示所選測試收到回應;實際目標頁面能正常開啟,才代表該次請求成功。這些觀察各有用途,不能互相取代。
- 確認輸入資料:在 Home 檢查伺服器或訂閱是否完整匯入,核對位址、連接埠、協定與驗證資訊,並確認目前的 SERVER。
- 確認處理方式:查看 Global Routing。使用 Config 時,前往 Config 核對已啟用的檔案、規則順序與 FINAL;暫時使用 Proxy 或 Direct 測試後,請記錄並還原原本設定。
- 確認連線與自動觸發:查看連線開關與系統授權狀態。若連線自行恢復,請檢查 On Demand;若切換網路後才發生問題,請分別重現 Wi-Fi 與行動網路情境。
- 確認目標請求:重新開啟相同目標,搭配 Data、連線記錄與 Diagnostics,判斷問題出在 DNS 解析、伺服器連線或個別請求環節。
- 還原並重新測試:每次只調整一項,並保留修改前的設定值。若問題沒有改善,請還原原值後再檢查下一項,避免將多個獨立問題混在一起。
若尚未完成首次連線,請依入門指南的順序操作;若遇到購買、復原或商店頁面顯示問題,請閱讀取得指南;需要確認設定詞彙的意思時,請參閱術語表。Shadowrocket 僅在 Apple 平台透過 App Store 發行,系統需求請以 App Store 頁面標示為準。