官方手冊 · 功能與設定

Shadowrocket
設定與功能說明

從 Global Routing 到 Diagnostics,依「功能說明 → 介面位置 → 設定方式 → 檢查結果」逐項確認。先確認目前模式與設定檔,再調整個別參數,避免同時修改多處而無法找出原因。

  • Global Routing / Config
  • On Demand
  • Data / Diagnostics

本頁主要說明 iPhone 與 iPad 的操作方式。入口位置與可用選項請以目前 App 內顯示為準;系統需求以 App Store 頁面標示為準。首次設定可先閱讀入門指南,再回到本頁確認各項設定。

Global Routing:設定、代理與直連

Global Routing 決定連線採用哪一種整體處理方式,通常位於 Home。這裡的 Config、Proxy、Direct 分別代表設定檔、代理與直連三種模式。它們不是三組伺服器資訊,也不是連線開關本身。選好模式後,仍須確認 Home 中選取的伺服器、目前設定檔與連線狀態,才能判斷請求實際如何處理。

日常需要依網域或位址區分處理方式時,請使用 Config;若要暫時排除規則比對的影響,可用 Proxy 作為對照;若要確認目前網路能否直接連線,可用 Direct 作為對照。請依實際目標觀察三種模式的結果,不能因為某個頁面能開啟,就推論所有請求都經過相同路徑。

模式與介面用語主要處理方式適用情境注意事項
設定檔 / Config依目前啟用設定檔中的規則與策略處理請求。需要規則分流,或確認特定網域符合哪一條規則。確認設定檔已啟用;只儲存檔案不代表已切換至該檔案。
代理 / Proxy一般請求透過代理處理,實際行為仍會受到相關網路設定影響。暫時比對伺服器連線與規則判斷的差異。不代表所有系統流量都經過相同路徑,也不保證目標可連線。
直連 / Direct透過目前網路直接連線至目標。比對目前 Wi-Fi 或行動網路的基本連線狀況。這不是關閉連線開關;仍須另外確認 On Demand 的連線行為。

如何切換並確認

在 Home 開啟 Global Routing,選擇所需模式,返回後確認顯示值。使用同一個目標重新發出請求,再查看可用的連線記錄。已建立的長連線不一定會立即反映新設定;必要時,先結束測試連線再重新發出請求。比對完成後,請恢復原本模式,尤其不要把暫時使用的 Proxy 或 Direct 誤當成規則仍在生效。

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

規則用來判斷請求符合哪些條件,策略則決定符合後如何處理。入口位於 Config:先確認目前啟用的設定檔,再查看其中的規則順序。一般依由上而下的順序檢查;前面的規則符合後,後面的規則就不會重新判斷。FINAL 用來處理前面規則都未符合的請求。

依據哪些條件比對

DOMAIN 比對完整網域,DOMAIN-SUFFIX 比對網域後綴,DOMAIN-KEYWORD 檢查網域中的關鍵字。IP-CIDR 與 IP-CIDR6 分別比對相應的位址範圍;GEOIP 則依位址所屬區域的資料判斷。選擇規則前,先確認比對對象是網域還是 IP 位址;完整網址不能直接作為網域規則的比對值。

DOMAIN-SUFFIX,example.com,PROXY

符合規則後如何處理

DIRECT 代表直接連線,PROXY 代表交由代理處理,REJECT 代表拒絕請求。設定檔也可能引用策略群組,最終行為仍取決於群組目前的選擇。修改時應一併確認規則末尾的策略及其引用的群組,不能只看規則前半段就判斷請求路徑。

IP-CIDR,192.168.0.0/16,DIRECT

調整時先找出目標,再檢查它可能符合的前幾條規則,將較具體的條件放在適當位置,並保留明確的最終處理方式。以上內容僅用來說明語法,不是完整設定檔。啟用設定檔後若網頁異常,先記錄符合的規則,再只修改該處;不要同時更換整份設定檔與 DNS。協定參數的說明請參閱協定參考。

訂閱與伺服器管理

伺服器項目會儲存連線所需的位址、連接埠、協定與驗證欄位;訂閱則用來批次匯入及更新既有項目。兩者與 Config 中的分流規則屬於不同層次:有伺服器資訊不代表已啟用合適的規則;匯入規則檔也不代表已有可連線的伺服器。

Home / Add Server:新增既有資訊

在 Home 點選 Add Server,依既有伺服器資料選擇相應類型,再逐項填入參數。使用既有訂閱時,請在新增入口選擇相應的 Subscribe 類型,輸入自己的訂閱網址並儲存;使用 QR Code 時,透過 Scan QR Code 匯入後仍應確認類型與重要欄位。不同協定所需的驗證、傳輸與 TLS 欄位各不相同,不要將某種類型的參數直接套用到另一種類型。

儲存後返回 Home,確認項目已出現,並選取預期的伺服器,再執行 Connectivity Test。項目名稱只是方便辨識的標籤,不能用來判定連線成功。手動編輯前可先記下原始值;訂閱產生的項目可能在日後更新時被覆寫,若要長期保留調整,請先確認目前 App 提供的管理方式。

Subscribe:更新與重複項目檢查

更新既有訂閱後,確認項目數量的變化、分組與目前選取項目是否符合預期。更新失敗時,先確認網址完整且目前網路可以存取,再檢查是否需要重新取得有效的原始資訊。不要將「訂閱可更新」和「其中某台伺服器可連線」視為同一件事:前者只表示資料取得成功;後者還受到伺服器狀態、協定參數與網路條件影響。

訂閱網址、QR Code 與匯出的設定檔可能包含驗證資訊。截圖或分享疑難排解資料時,請遮蔽這些內容,尤其不要在公開留言中貼出完整訂閱網址。需要逐步匯入說明時,請參閱入門指南中的新增流程。

On Demand:依網路條件連線

功能說明與設定位置

On Demand 會依照已設定的網路條件,決定是否發起連線。它處理的是連線觸發,不會取代 Config 中的請求分流。請至 App 的 On Demand 相關入口查看可用條件;入口位置與條件名稱以目前 App 顯示為準。設定前,先完成一次手動連線,確認系統 VPN 設定授權、伺服器參數與基本連線均正常。

若要依實際需求設定 Wi-Fi、行動網路或特定網路條件,請從少量條件開始;儲存後,分別在相應網路下觀察連線狀態。只有觸發條件與目前環境一致,測試結果才有意義;在同一個網路中反覆切換頁面,不能取代網路切換測試。

檢查方式與注意事項

若手動關閉後連線又重新出現,先確認 On Demand 是否仍在觸發,不要一直刪除系統 VPN 設定。若要完全停止本次測試,先暫停 On Demand,再處理連線開關並確認系統狀態。反之,若未自動連線,也應先確認條件是否符合,而不是立即更換伺服器。

On Demand 無法修正錯誤的驗證欄位,也不能保證網路切換後所有既有連線都能持續使用。Wi-Fi 與行動網路之間切換時,原有連線可能需要重新建立。測試時請記錄切換前後的網路、觸發條件與狀態,才能分辨是隨選條件有問題,還是連線本身失敗。

Data:查看流量,不代表套餐餘額

Data 顯示用戶端可記錄範圍內的流量統計,可用來觀察用量與變化。進入 Data 後,先查看頁面顯示的統計範圍、時間範圍與計量單位,再比較上傳與下載量。App 內統計的口徑可能與系統行動數據用量或既有服務的計費方式不同,不能據此推算剩餘可用額度。

實際檢查時,可先記下目前數值,完成一段明確的網路操作後,再返回查看變化。若頁面提供重設功能,請先確認影響範圍並記錄需要保留的資料,避免清除後失去排查基準。統計數值增加只能表示相應範圍內有流量被記錄,不能單憑此判定某個網域符合 PROXY,也不能證明已成功取得完整內容。

排查流量異常時,請搭配 Data 與連線記錄:先確認流量增加的時間,再查看相應目標與處理策略。背景同步、媒體預載與 App 重試都可能產生請求,應先找出具體活動,再考慮調整規則。不要只憑一段時間的總用量,就判斷某種協定「比較省流量」。

Settings:DNS、測試、小工具與同步

以下依功能說明各項目。請在 Settings 或相應功能入口確認目前可用選項;介面名稱、顯示位置與系統支援情況,均以實際顯示為準。

DNS:分開檢查網域解析與後續連線

DNS 會將網域轉換成可用於連線的位址;解析成功與否、目標服務是否可連線,屬於不同階段。請先在 Settings 的 DNS 相關設定或目前 Config 的 DNS 內容中確認實際使用的來源。設定檔可能含有自己的 DNS 指令,調整前應確認是否與其他設定重複或互相影響;不要只修改單一輸入欄位,就認定所有請求都已切換。

調整時請保留原始值,每次只變更一個來源或一項行為,再存取相同目標並查看解析與連線記錄。延遲測試正常但網頁無法開啟時,先分辨是解析、連線還是 TLS 階段失敗;不要直接將所有問題歸因於 DNS。涉及 IPv6 時,也要確認目前網路是否支援連線至相應位址,不能只因出現 IPv6 位址就判定異常。

Test Method:統一測試方式

Test Method 決定 Connectivity Test 採用哪種測試方式。進入相應設定後,先閱讀目前方法的說明,再使用相同方法比較既有伺服器。若方法需要測試目標,也應固定使用同一目標。不同方法可能分別反映連接埠連線或特定請求的狀況,不能直接混在一起排序。

測試顯示的數值不代表實際網頁一定能開啟,也不能直接代表持續傳輸速度。比較前先確認裝置使用相同網路,並盡量避免同時執行大量流量工作;單次測試失敗時,請重複測試並記錄狀況。完整排查還須確認 Global Routing、符合的規則與實際存取目標。

Today Widget:快速查看與操作入口

Today Widget 提供系統小工具相關的快速資訊或操作入口。先在 Settings 查看 App 提供的相關選項,再到系統的小工具編輯畫面確認能否加入相應項目。不同系統環境的入口可能有所不同,請以目前裝置顯示為準;小工具是否出現,不應作為判斷 App 連線能力的依據。

設定完成後,先在 App 內確認連線正常,再查看小工具的顯示與操作結果。小工具可能延遲更新;若狀態不一致,請返回 Home 並確認系統 VPN 狀態,不要只根據小工具文字判斷是否已連線。也請留意鎖定畫面或共用裝置的情境是否會顯示伺服器名稱。

iCloud:同步前先確認範圍

iCloud 相關選項用於同步 App 支援的內容。先在系統中確認 iCloud 可用且已授權 App 存取,再到 Shadowrocket 的相關設定確認同步範圍。同步、匯入檔案與完整還原並非同一項操作;不要假設所有伺服器、驗證資訊、統計資料及系統 VPN 授權都會一併移轉。

啟用同步或在另一台裝置上還原前,請先保留目前可用設定檔的副本,並確認可能發生的合併或覆寫情況。完成後逐項檢查目前 Config、伺服器選擇、Global Routing 與 On Demand。系統 VPN 設定授權仍須在相應裝置上確認;即使已看到同步內容,也應先實際測試連線再繼續使用。

Diagnostics:將故障定位至特定階段

Diagnostics 用來收集並檢查連線相關線索,可從 Settings 的相應入口查看目前提供的診斷項目。它與 Connectivity Test 的用途不同:單次延遲測試只能提供有限的連線資訊;診斷則有助於判斷故障發生在哪個步驟。執行前先明確描述要重現的狀況,例如「同一個網域在 Config 下連線失敗,在 Direct 下可存取」,而不只是記錄「連線不順」。

依序檢查

  1. 確認目前網路、連線開關與系統 VPN 授權狀態。
  2. 確認 Global Routing、目前 Config 與選取的伺服器。
  3. 對同一個目標重新發出請求,查看解析、連線與規則記錄。
  4. 每次只調整一項條件,再重複相同測試並比較結果。

保留必要資訊

記錄故障發生時使用的網路類型、模式、測試方式與錯誤訊息。逾時、驗證失敗與憑證錯誤代表不同階段,處理方式也不同。診斷結果若含有網域、位址或驗證資訊,請先遮蔽敏感內容,再整理需要說明的部分。

不要為了消除錯誤訊息而任意放寬憑證驗證。請先確認伺服器資料、憑證名稱與裝置時間;確認欄位無誤後,再重新測試原本的目標。

若只有一個目標失敗,先檢查它的解析結果、符合的規則與目標服務狀態;若所有目標都失敗,再檢查基本網路與伺服器參數。依此順序排查可減少不必要的修改,也較容易分辨問題出在 App 設定還是伺服器端。常見狀況請參閱疑難排解。

設定調整順序與還原檢查

首次設定時,請將「能夠手動連線」與「依預期分流」分成兩項任務。前者要檢查既有伺服器資料與系統授權;後者則要確認 Global Routing 和 Config。基本連線尚未確認前,若加入複雜規則、自動觸發條件並修改多處 DNS,同一個故障就可能出現多種原因。

  1. 記錄目前狀態。保存可用的設定檔,記下目前模式、伺服器選擇及重要設定的原始值。需要還原時,請以這些記錄為基準,不要憑印象重新輸入。
  2. 先確認手動連線。暫停 On Demand,避免受到自動觸發影響,並確認既有項目可用於預期的連線。請同時觀察 Connectivity Test 與實際請求,但兩者不能互相取代。
  3. 接著確認 Config。啟用預期的設定檔,檢查特定目標符合的規則與策略。若出現異常,只修改相關規則,避免連同伺服器驗證欄位一起變更。
  4. 最後再加入自動化功能。依需求啟用 On Demand、小工具或同步,並在相應環境中個別確認。確認結果後,再透過 Data 與診斷記錄觀察日常使用狀況。

還原設定後仍須重新發出測試請求。既有連線、App 快取與系統網路變化,都可能讓修改後的表現暫時與預期不同。固定測試目標、網路條件與觀察時間,比反覆切換多個開關更容易得出可再次確認的結論。