官方手冊 · 功能與設定

Shadowrocket 功能與常用設定

先決定連線的處理方式,再設定自動連線、測試與診斷。伺服器決定連線目標,Global Routing 決定處理方式,Config 中的 Rule 決定分流結果;請分開檢查這三個層面。

Shadowrocket 支援 iPhone、iPad、Mac(Apple 晶片與 Intel)、Windows、Android 及 Linux。以下以 iPhone / iPad 的介面操作為主;其他平台的入口位置、系統整合項目與可用設定,請以實際介面為準。

初次設定請先閱讀入門指南 →

Global Routing:設定、代理與直連

Global Routing 控制目前連線採用哪種整體處理方式。在 Home 開啟 Global Routing 後,可依需求選擇 Config、Proxy 或 Direct。中文說明中的「設定、代理、直連」分別對應這三個英文介面用語;它們不是三台伺服器,也不會自動補齊缺少的伺服器參數。

介面選項 連線處理方式 適用情境 使用條件
Config(設定) 讀取目前的 Config,並依 Rule 比對結果選擇策略。 日常依網域、目標位址等條件進行分流。 確認目前使用的設定檔,以及規則所引用的策略。
Proxy(代理) 一般連線交由所選代理處理,實際情況仍受系統及相關設定影響。 暫時確認目前伺服器是否能處理連線請求。 已選取有效伺服器,且協定參數完整。
Direct(直連) 採用直接連線,不透過所選代理伺服器轉送。 比較目前網路直接連線至目標時的狀況。 目前網路本身可連至目標。

日常使用時,優先確認 Config

若要讓部分目標使用 PROXY、其他目標使用 DIRECT,請選擇 Config,並進入 Config 確認已啟用正確的檔案。匯入設定檔不代表它已成為目前使用的設定;同樣地,選取伺服器也不代表所有請求都會經過該伺服器。請一併確認目前的設定檔、Global Routing 與伺服器選擇。

排查時可暫時切換至 Proxy,觀察相同目標是否恢復連線。若 Proxy 正常、Config 異常,接著應檢查規則比對結果、策略引用及 DNS,而不是立刻更換所有協定參數。Direct 則可作為直接連線的比較基準。每次比較都應使用相同目標與網路,並重新送出請求,以免將舊連線誤認為切換後的結果。

選擇 Proxy 不代表連線一定成功,Direct 也不代表已關閉所有系統網路設定。測試完成後,請切回原先預定使用的模式;若長時間停留在排查模式,流量路徑可能與原本預期不同。

Rule:比對條件與處理策略

Rule 是依照「連線符合哪些條件,就採用哪種策略」排列的清單。入口位於 Config 的目前設定中;若要編輯,請先儲存原設定的副本,再檢查規則區段。規則通常由上而下比對,較明確的條件應排在較廣泛的條件之前;FINAL 則用來處理前面都未比對到的連線。

常見規則類型說明

  • DOMAIN:比對指定的完整網域,適合只處理單一明確的主機名稱。
  • DOMAIN-SUFFIX:比對指定網域及其子網域;適合將同一網域下的目標套用相同策略。
  • DOMAIN-KEYWORD:比對網域中的關鍵字,涵蓋範圍較廣,使用前請確認是否會包含無關目標。
  • IP-CIDR 與 IP-CIDR6:分別依 IPv4、IPv6 網段比對,不是比對網址文字。
  • GEOIP:依目標 IP 的歸屬資訊比對,結果會受 IP 位址資料庫與實際解析結果影響。
  • FINAL:處理尚未比對到的連線,請確認它是否符合預設路徑的預期。

PROXY、DIRECT 與 REJECT 的用途

比對類型回答「選取哪些連線」,策略則回答「選取後如何處理」。PROXY 交由代理路徑處理,DIRECT 直接連線,REJECT 則拒絕連線。設定也可能引用具名策略,此時還要確認該名稱實際指向何處,不能只看到規則存在,就認定設定已完整。

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

以下是用來說明語法的獨立片段,並非完整設定,也不包含可用的伺服器資訊。第一行只比對 example.com,不會自動包含其子網域;第二條規則才會包含 example.net 及其子網域。最後的 FINAL,DIRECT 表示未被前面規則選取的連線將直接處理,而不是預設全部交由 PROXY。

編輯後請儲存,並確認目前使用的是修改後的 Config,再依實際連線紀錄核對比對結果。同一個頁面可能同時請求多個網域,因此頁面主網域符合規則,不代表圖片、登入或其他資源也會走相同路徑。規則語法與範例請參閱規則關鍵字入門。

Subscribe 與伺服器管理

伺服器項目會儲存連線至遠端所需的協定、位址、連接埠及驗證參數;Subscribe 則用來透過既有的訂閱網址更新這些項目。Home 是查看及選取伺服器的主要位置,手動填寫通常從 Add Server 開始。匯入前請先確認取得的是訂閱網址、單一伺服器連結,還是完整設定檔;不能只因三者都能複製成文字,就混用匯入入口。

匯入後先檢查內容,再進行測試

  1. 依照既有資訊選擇相應入口匯入;單一項目可在 Add Server 依協定類型填寫,QR code 則可透過 Scan QR Code 掃描。
  2. 開啟匯入的項目,確認協定、位址、連接埠,以及該協定所需的驗證和傳輸參數。
  3. 在 Home 選取要使用的伺服器,先執行 Connectivity Test,再實際連線至已知目標。
  4. 若使用 Config,還要確認規則引用的策略能正確指向目前伺服器或有效策略。

訂閱更新會依據遠端內容重新取得項目。若直接修改訂閱管理中的伺服器,下次更新時可能會覆蓋本機調整;因此,需長期保留的修改應先另行備份。不同訂閱中名稱相似的項目,位址或參數也可能不同;建議以本機備註標明來源與用途。

訂閱包含伺服器清單,不代表也包含符合目前需求的 Rule 或 DNS 設定。更新失敗時,請先確認網址是否完整且仍有效,再檢查目前網路能否連線至該網址。請勿在公開截圖、記錄或討論中顯示訂閱網址內的驗證資訊;求助前應先移除驗證資訊與個人識別資料。

刪除訂閱或批次清理前,請先確認是否仍有設定引用其中的伺服器。伺服器可供選取,不等於伺服器目前可用:Connectivity Test 的結果也會受測試方法影響,後文將說明如何判讀。完整的新增與匯入流程請見入門指南。

On Demand:依條件建立連線

On Demand 可在符合已設定條件時,讓系統建立連線,適合想減少重複手動操作的情境。在 iPhone / iPad 的 On Demand 設定入口,請先檢查現有條件,再決定是否啟用;條件類型與入口位置請以目前應用程式及系統介面為準。它處理的是「何時連線」,不是「請求應交由哪條規則處理」。

先確認手動連線正常,再啟用自動條件

請先關閉 On Demand,手動確認伺服器、Config 和 DNS 均正常運作,再一次只新增一組必要條件。若依網路環境設定條件,請在相應環境中確認連線與中斷行為,再切換至其他環境複查。只在一個 Wi-Fi 網路下成功,不代表行動網路或其他 Wi-Fi 網路的連線也符合預期。

On Demand 可能在手動中斷連線後重新連線,這是系統再次符合連線條件的結果,不應直接認定開關失效。若要暫停連線,請先調整或關閉 On Demand,再中斷目前連線。只變更 Global Routing 不一定能停止系統依條件建立連線,兩者屬於不同層次。

自動連線也無法修復已過期的訂閱、錯誤密碼或無法連線的伺服器。建議先確認規則與伺服器穩定,再啟用自動連線,以免基礎設定尚未驗證時,將反覆重新連線與參數錯誤混在一起排查。耗電情形應依網路切換頻率、連線時間及實際流量綜合觀察,不能只憑開關狀態判斷。

Data:流量統計與觀察限制

Data 可查看應用程式記錄的流量,協助判斷是否持續傳輸、某項操作是否產生資料,以及較長時間的使用趨勢。在 Data 中請先確認統計範圍與目前顯示的期間,再查看數值;不同平台或介面提供的細節可能不同,不應假設所有裝置都有完全一致的統計項目。

以可重複的小型操作進行比較

若要觀察某項操作,先記下目前統計數值,再開啟一個目標並完成一次明確操作,接著回到 Data 查看變化。若目前介面提供重設功能,請先保存需要保留的記錄,再重設並開始新一輪觀察。重設統計只會清除本機的觀察基準,不會重設既有服務的用量。

Data 不等於電信業者帳單,也不等於既有服務的計費記錄。通道封裝、重傳、背景請求與統計方式都可能造成差異。流量增加只能表示記錄範圍內發生了傳輸,不能單憑數值判斷網頁已完整載入,更不能據此推斷內容是否來自預期的伺服器。

若發現裝置待機時仍持續產生流量,請一併檢查系統背景活動、On Demand 條件與請求記錄,確認流量來源。不要為了降低單一統計數值而同時關閉多項系統功能;先找出連線來源,再判斷是否需要調整,才能保留可比較的結果。

Settings:常用項目與調整方式

Settings 集中提供測試、系統整合與診斷相關入口。部分網路行為也可能由目前的 Config 控制,因此調整設定前,請先確認影響範圍:是全域選項、目前設定檔內容,還是特定伺服器的個別參數。建議記下原始值,一次只變更一項,再以相同目標重新測試。

DNS:先確認解析結果,再判斷連線路徑

DNS 會將網域名稱解析為 IP 位址;相關設定可能位於 Settings 的對應入口,也可能由目前 Config 中的 DNS 項目定義。請先確認目前設定是否已有 DNS 項目,再檢查所填位址是否可連線且符合預期。不要只因網頁無法開啟就反覆更換 DNS,也不要假設更換 DNS 會自動改變 Global Routing。

網域規則與位址規則比對的對象不同:網域可能正確比對,但解析後的目標位址仍無法連線;也可能伺服器連線正常,網域解析卻失敗。排查時記錄具體網域、解析結果與錯誤發生階段,有助於區分 DNS、規則與伺服器問題。修改後請重新送出請求,必要時依實際介面處理快取,避免以舊解析結果驗證新設定。

Test Method:了解測試結果的意義

在 Settings 的 Test Method 選擇測試方法,會影響相關連線測試的執行方式。比較伺服器結果前,請先確認目前方法的測試對象與判定條件。不同方法測得的數值不能直接混在一起比較,也不能將單次測試數值等同於瀏覽器下載速度。

比較時請保持測試方法、網路與目標一致。若伺服器測試失敗但實際連線正常,請先確認測試方法是否適用於該連線;若測試成功但頁面仍異常,則繼續檢查目標服務、DNS 與規則。Connectivity Test 是用來縮小問題範圍的工具,不保證所有應用程式的請求都能正常運作。

Today Widget:系統快速入口

Today Widget 適用於系統支援的小工具情境,相關選項可在 Settings 查看;能否新增及顯示方式,取決於系統與目前應用程式提供的入口。請先在應用程式中選好伺服器並確認手動連線正常,再依系統的小工具編輯流程新增。若系統未顯示相應入口,請以實際可用的功能為準。

小工具適合查看狀態或執行快速操作,複雜的編輯仍應回到應用程式處理。若小工具狀態與應用程式內顯示暫時不同,請先開啟應用程式確認連線,再檢查系統更新狀況,而不是立刻刪除設定或重新匯入訂閱。

iCloud:同步範圍與備份順序

檢查 iCloud 同步入口時,請一併確認系統帳號、iCloud 是否可用,以及應用程式設定。啟用前先在 Settings 查看實際同步項目,不要假設所有伺服器、Config、統計資料與連線狀態都會一併同步。不同裝置的本機選擇與系統權限,也不一定會隨同步內容轉移。

首次在另一台裝置使用前,請先備份兩端的重要設定,再確認要保留哪一份作為主要副本。若發現內容缺漏,先等待同步並確認帳號與網路,避免連續匯入多份同名檔案。同步只負責傳遞內容,不能取代連線測試;完成後仍須逐台檢查 Global Routing、目前的 Config 與伺服器。

Diagnostics:依故障階段收集資訊

Diagnostics 可查看或執行目前版本提供的診斷項目,通常可從 Settings 的相關入口開啟。它能將「無法使用」拆解為具體問題:伺服器是否能建立連線、網域是否能解析、請求符合哪條規則,以及錯誤是否只發生在特定目標。請以介面實際提供的項目為準,不必為了收集資訊而長期開啟所有診斷選項。

每次診斷記下四類背景資訊

  1. 環境:目前使用 Wi-Fi 或行動網路,以及問題是否只在某一種網路出現。
  2. 模式:Global Routing 目前是 Config、Proxy 還是 Direct,以及正在使用哪個設定檔。
  3. 對象:失敗的是訂閱更新、伺服器測試,還是特定目標的實際請求。
  4. 現象:記錄介面顯示的具體錯誤、發生時間及可重現的操作步驟。

若所有目標都無法連線,優先檢查目前網路、伺服器位址與連接埠、驗證參數及系統時間。若只有單一目標異常,優先檢查該目標的 DNS、規則比對結果與服務狀態。若只有 Config 異常、Proxy 正常,請先檢查設定引用與分流規則,不要一開始就重新安裝。

分享診斷資訊前,請先移除訂閱驗證資訊、密碼、個人專用網域及其他敏感內容。診斷完成後,關閉不再需要的詳細記錄,並妥善處理匯出的檔案。連線逾時與失敗的建議排查順序,請參閱連線逾時排查說明;協定欄位差異請見協定技術參考。

常用設定的檢查順序

不建議一次調整所有選項。先建立最精簡且可驗證的連線,再逐步加入規則、自動連線與系統快速入口,才能清楚判斷各項變更造成的影響。以下順序也適用於檢查原本正常、後來突然異常的設定。

  1. 確認輸入資料:確認既有伺服器或訂閱資訊的類型,並檢查協定、位址、連接埠與驗證參數是否完整。
  2. 確認伺服器:在 Home 選取預期項目,以相同的 Test Method 執行 Connectivity Test,並實際測試連線。
  3. 確認模式:檢查 Global Routing;需要依規則處理時,請使用 Config 並確認目前的設定檔。
  4. 確認規則比對:檢查 Rule 順序、策略引用與 FINAL,並根據請求記錄判斷連線路徑。
  5. 確認 DNS 解析:檢查 DNS 的來源與作用範圍,避免將解析失敗與伺服器連線失敗混為一談。
  6. 再啟用自動連線:手動連線穩定後才啟用 On Demand,並依網路環境逐項確認。
  7. 保留比較基準:儲存設定檔副本,透過 Data 與 Diagnostics 比對後續變化,再考慮設定小工具與同步。

每完成一項變更,都以相同目標重新測試,並記錄修改前後的結果。若新設定造成異常,先還原剛變更的選項,不要繼續疊加補救設定。這樣既能保留可用設定,也能讓下次排查從明確的狀態開始。

本頁說明各項功能的用途與設定限制。尚未完成首次匯入,可依照入門指南逐步操作;想確認取得管道、各平台安裝方式或購買項目還原,請前往全平台下載指南;遇到具體問題,可依類別在FAQ查找。