功能與常用設定

Shadowrocket 功能與設定說明

Global RoutingDiagnostics,依介面位置了解各項設定的用途。

本頁以 iPhone 與 iPad 上常用的 Shadowrocket 功能為主,依序說明「是什麼、在哪裡、如何設定、需要注意什麼」。開始調整前,建議先確認已有伺服器資訊或訂閱已匯入,並保留一份目前可用的 Config,方便連線出現差異時逐項還原。

Global Routing On Demand Diagnostics

閱讀方式

先確認分流目標,再修改個別設定

Shadowrocket 的設定並不是彼此獨立的開關。目前的伺服器決定連線出口,Global Routing 決定流量如何選擇策略,Config 中的規則決定哪些請求使用 PROXY、DIRECT 或 REJECT,DNS 與 On Demand 則會影響解析與觸發時機。依這個順序理解,排查時更容易找出真正發生變化的環節。

第一層

伺服器與訂閱

確認 Home 中已選取自己的伺服器項目,並檢查位址、連接埠、協定與驗證資訊是否完整。Subscribe 用於更新現有訂閱內容,不會改變 Global Routing 的選擇。

第二層

Config 與規則

Config 儲存規則及相關設定。使用 Config 模式時,請求會由上到下比對 DOMAIN、GEOIP、IP-CIDR 等規則,第一個符合的結果會決定策略。

第三層

系統與診斷

DNS、Test Method、On Demand 與 Diagnostics 用於控制解析、測試方式、自動觸發與問題定位。修改後應一次只驗證一個變數。

Global Routing

Config、Proxy、Direct 三種模式

Global Routing 是 Home 中最先需要確認的總開關之一。繁體中文說明常將三種模式稱為設定檔、代理、直連,對應介面詞分別是 Config、Proxy、Direct。它們控制的是整體選路方式,而不是伺服器協定類型。

是什麼

Config 會依目前設定檔中的規則逐條比對,讓不同請求套用不同策略;Proxy 讓連線統一使用目前選取的代理策略,適合暫時確認伺服器本身是否正常;Direct 讓請求直接連線,適合暫停規則處理並檢查本地網路狀況。切換三種模式後會影響之後建立的新連線,已建立的連線可能需要重新開啟對應的 App 或頁面才能看到變化。

在哪裡

進入 Home,找到 Global Routing 對應的選擇項目。介面的具體排列可能隨裝置尺寸變化,但名稱仍會顯示為 Config、Proxy、Direct。選擇前也要確認 Home 中目前的伺服器項目,避免將「選錯伺服器」與「選錯分流模式」混在一起排查。

如何設定

日常需要依網域、IP 位址或地理條件進行分流時,通常使用 Config;剛匯入伺服器、希望排除規則因素時,可短暫切換 Proxy 進行連線測試;只想確認目前 Wi-Fi 或行動網路是否正常時,可切換 Direct 進行對照。驗證完成後,再切回符合實際使用目標的模式。

中文說明 介面詞 處理方式 適用情境 注意事項
設定檔 Config 依目前設定檔中的規則由上到下比對 日常規則分流,依網域或 IP 條件選擇策略 規則順序、最終規則與策略名稱都會影響結果
代理 Proxy 新連線統一使用目前的代理策略 驗證伺服器可用性,暫時排除規則影響 不適合用來判斷某一條 Config 規則是否正確
直連 Direct 新連線直接存取目標 檢查本地網路,對照連線差異 切換後應重新發出請求,再觀察結果

Config

規則類型、比對順序與策略

規則分流由「比對條件」與「執行策略」組成。條件用來識別請求,策略決定符合後如何處理。Shadowrocket 會依設定中的先後順序檢查規則,因此較具體的條件通常應放在較寬泛的條件之前。

是什麼

DOMAIN 用於比對完整網域,適合精確指定單一主機;DOMAIN-SUFFIX 依網域後綴比對,可涵蓋一個網域及其子網域;DOMAIN-KEYWORD 依網域是否包含關鍵字進行比對,範圍較廣,使用時要留意誤判。GEOIP 依目標 IP 的地理資料庫結果比對,IP-CIDRIP-CIDR6 分別依 IPv4、IPv6 位址範圍比對,USER-AGENT 則依請求中的 User-Agent 條件處理。

在哪裡

進入 Config,選取目前的設定檔後查看規則內容。規則通常由關鍵字、比對值與策略三部分組成,例如:

DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY

第一行表示網域後綴為 example.com 時使用 PROXY;第二行表示符合相應 GEOIP 條件時使用 DIRECT;最後的 FINAL 接收前面未命中的請求。範例僅用於說明語法,不代表可以直接套用到所有網路環境。

如何設定

先撰寫精確規則,再撰寫範圍較大的規則,最後保留清楚的最終處理策略。例如,單一網域的 DOMAIN 應放在可能涵蓋它的 DOMAIN-SUFFIX 或 DOMAIN-KEYWORD 之前。IP 規則需要留意目標位址是 IPv4 還是 IPv6;如果實際存取經網域解析後得到不同位址,只觀察網域不足以解釋最後命中的規則。

常見策略包括 PROXY、DIRECT 與 REJECT。PROXY 表示交由代理策略處理,DIRECT 表示直接連線,REJECT 表示拒絕請求。設定中也可能引用自訂策略群組名稱,此時名稱必須與設定檔中既有的定義一致。大小寫、標點與逗號位置都應保持正確,避免手動編輯時加入多餘空格或全形符號。

注意事項

規則不是越多越好。兩條規則的涵蓋範圍重疊時,前面的規則會先命中,後面的規則不會再參與這次判斷。遇到「某個網域沒有依預期處理」時,應依序檢查:實際存取的網域、DNS 回傳的位址、規則順序、策略名稱,以及目前 Global Routing 是否確實為 Config。排查完成後再合併重複項目,維持設定檔易讀。

DOMAIN / DOMAIN-SUFFIX
網域條件

DOMAIN 精確比對完整網域;DOMAIN-SUFFIX 涵蓋指定後綴。需要細緻控制時,先寫 DOMAIN。

IP-CIDR / IP-CIDR6
位址範圍條件

分別處理 IPv4 與 IPv6 位址範圍。位址範圍格式與前綴長度必須正確,避免涵蓋超出預期的範圍。

PROXY / DIRECT / REJECT
執行策略

條件命中後執行對應策略。自訂策略群組應使用設定檔中已存在的名稱。

FINAL
最終規則

處理先前未命中的請求。FINAL 的策略會明顯影響整體行為,修改前應確認使用目的。

Add Server · Subscribe

匯入訂閱與管理伺服器項目

Shadowrocket 可透過 Add Server 手動輸入伺服器資訊,也可透過 Subscribe 更新使用者現有的訂閱。兩種方式最後都會形成可在 Home 中選取的伺服器項目,但維護方式不同。

是什麼

Add Server 適合輸入一筆明確的伺服器資訊,常見協定包括 Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard 與 Hysteria2。各協定需要的欄位不同,通常包括 Address、Port、Password 或其他驗證參數。Subscribe 適合管理由使用者自己的服務商提供並持續維護的一組項目,更新時用戶端會重新讀取訂閱內容。

在哪裡

在 Home 中進入伺服器新增入口,可選擇 Add Server、Scan QR Code 或 Import from Cloud JSON 等方式;訂閱入口通常顯示為 Subscribe。介面中出現的協定類型、欄位與傳輸參數應與現有伺服器資訊逐項對應,不要將一種協定的參數填入另一種協定頁面。

如何設定

手動新增時,先選擇協定,再輸入 Address 與 Port,接著補齊驗證與傳輸欄位,儲存後回到 Home 選取該項目。透過 Subscribe 匯入時,貼上使用者現有的訂閱網址,儲存後執行更新,再從回傳的項目中選擇要使用的伺服器。透過 Scan QR Code 匯入前,應先確認 QR Code 確實來自使用者自己的伺服器資料;Import from Cloud JSON 適合匯入已準備好的 JSON 設定。

如果訂閱更新後項目發生變化,應以服務商回傳的目前內容為準。手動修改由 Subscribe 管理的項目,可能在下次更新時被取代。若希望長期保留個別參數,可先記錄原始資訊,再決定使用手動項目或訂閱維護方式。

注意事項

伺服器名稱只是方便辨識的標籤,不能證明連線品質。測試時應分別觀察項目能否完成 Connectivity Test、實際網頁能否開啟、Global Routing 是否正確,以及 DNS 是否能夠解析。延遲結果只反映某種測試條件下的回應,不等同於完整存取速度。驗證資訊屬於敏感資料,應只儲存在使用者自己的裝置與可信任的備份中。

On Demand

依網路條件自動觸發連線

On Demand 用於依目前網路條件觸發或停止連線,適合需要在特定 Wi-Fi、行動網路或網域存取條件下自動切換的情境。它影響的是連線時機,不會取代 Global Routing 與 Config 規則。

是什麼

手動連線需要使用者進入 Home 操作開關;On Demand 則按照預先設定的條件,在網路環境變化時由系統判斷是否觸發。常見判斷面向包括目前網路類型、Wi-Fi 資訊與網域條件。觸發連線後,請求仍會依當時選取的伺服器、Global Routing 模式與 Config 規則處理。

在哪裡

進入 Settings,找到 On Demand 相關入口。首次啟用連線功能時,系統可能要求確認 VPN 設定權限。On Demand 規則由上到下判斷時,應保持條件名稱清楚,並避免建立意義相反但範圍重疊的條件。

如何設定

先從單一條件開始,例如只針對一種網路環境啟用,觀察切換 Wi-Fi 與行動網路時的行為。確認觸發穩定後,再增加網域或網路例外。每次修改後,鎖定螢幕再解鎖、切換網路或重新發出請求,都可能幫助系統重新評估條件;測試時應記錄目前網路名稱、Global Routing 模式及選取的伺服器。

注意事項

On Demand 開啟後,如果出現連線頻繁切換,通常先檢查條件是否過於寬泛、多個條件是否重疊,以及網路是否在 Wi-Fi 與行動網路之間反覆變化。若要判斷問題是否來自自動觸發,可暫時關閉 On Demand,改用 Home 手動連線進行對照。完成驗證後,再恢復已簡化的規則。

1 只設定一個條件

先建立可觀察的基本行為。

2 切換網路進行驗證

分別觀察 Wi-Fi 與行動網路。

3 再加入例外

一次只增加一項判斷條件。

Data

查看流量記錄與連線使用量

Data 用於查看 Shadowrocket 處理過的流量記錄,適合比較不同 App 或連線階段的使用情況。它是用戶端側的統計檢視,閱讀時需要搭配統計期間與目前連線狀態。

是什麼

Data 彙整用戶端執行期間觀察到的上傳與下載資料,可用於了解某段時間內的流量變化。統計值能幫助判斷某個操作是否產生大量傳輸,也能在排查時確認請求是否經過用戶端,但不能直接說明規則命中了哪一條,也不能單獨證明伺服器速度。

在哪裡

從底部導覽進入 Data。不同裝置尺寸下的清單密度可能不同,重點查看統計範圍、App 或連線項目,以及上傳與下載方向。若剛切換設定檔,應從切換後的新請求開始觀察,避免將先前累積的資料算入本次判斷。

如何設定

Data 主要用於查看,不需要頻繁調整。進行對照測試時,可以先記下目前數值或重設統計,再執行一個明確動作,例如開啟頁面、播放一段內容或執行一次更新,然後返回 Data 查看增量。重複測試時應盡量維持相同網路、相同伺服器與相同 Global Routing 模式。

注意事項

用戶端統計、系統統計與服務商側統計可能採用不同的計算方式與更新時間,數值不一定完全一致。Data 中出現流量只表示請求經過相應的處理流程;要確認策略,應搭配 Log 或 Diagnostics。若統計突然增加,應先檢查前景與背景中正在傳輸的 App,再判斷是否與目前測試相關。

Settings

DNS、Test Method、Today Widget 與 iCloud

Settings 集中放置解析、測試、元件與同步相關選項。這裡的變更可能影響所有設定,因此比起單一規則,更適合採用「記錄原值、單項修改、立即驗證」的方法。

DNS

是什麼:DNS 會將網域轉換為連線所需的位址。解析失敗時,伺服器測試可能正常,但網頁仍可能無法開啟。

在哪裡:進入 Settings 中的 DNS 相關項目,查看目前的解析設定與可用選項。

如何設定:優先保留目前可用的設定。確需調整時,一次只更換一項,並分別測試網域存取與直接 IP 存取,以判斷問題是否位於解析環節。

注意事項:DNS 與規則可能互相影響,尤其是 GEOIP、IP-CIDR、IP-CIDR6 依賴解析結果的情況。修改後應重新建立連線,不要只查看舊頁面的快取。

Test Method

是什麼:Test Method 決定用戶端以哪種方式測試伺服器回應。不同方式觀察的是不同網路環節,因此結果可能有所差異。

在哪裡:進入 Settings,找到 Test Method,再查看目前介面提供的測試方式。

如何設定:用於日常比較時,應維持使用同一種方式;只有在排查特定網路限制時才切換,並重新執行 Connectivity Test。

注意事項:測試值較低不代表實際傳輸一定更快。網頁載入還會受到 DNS、線路、目標伺服器與傳輸參數影響,應結合實際存取結果判斷。

Today Widget

是什麼:Today Widget 提供系統元件入口,方便查看狀態或執行用戶端支援的快速操作。

在哪裡:先在 Shadowrocket 的 Settings 查看相關選項,再透過系統的小工具編輯介面新增。

如何設定:新增後檢查元件顯示的設定檔與目前連線是否一致;若系統未立即更新,可開啟 Shadowrocket 確認狀態後再查看元件。

注意事項:元件顯示取決於系統更新排程,短時間內可能與 App 內狀態有所延遲。重要操作仍應返回 Home 核對。

iCloud 同步

是什麼:iCloud 同步用於在同一使用者的 Apple 裝置環境中同步用戶端支援的資料項目。

在哪裡:進入 Settings 查看 iCloud 相關開關,同時確認裝置系統設定中的 iCloud 狀態。

如何設定:啟用前先保留目前可用的設定,接著在另一台裝置上等待同步完成並逐項核對,不要在兩端同時大量修改。

注意事項:同步不等於即時鏡像,網路狀態、系統排程與項目類型都會影響同步出現的時間。重要驗證資料仍應由使用者妥善管理。

設定項目 主要用途 修改後的驗證方式
DNS 控制網域解析相關行為 重新存取網域,並與直接 IP 連線的現象對照
Test Method 決定 Connectivity Test 的測試方式 固定伺服器,使用相同方式重複測試
Today Widget 提供系統元件中的狀態或快速入口 返回 Home 核對元件顯示與實際狀態
iCloud 同步用戶端支援的資料項目 等待同步後逐項比較兩台裝置的內容

Diagnostics · Connectivity Test

從連線測試、Log 到具體故障環節

Diagnostics 用於將「無法存取」拆分為更具體的問題:本地網路是否正常、伺服器是否回應、DNS 是否完成解析、規則選擇了哪項策略,以及目標連線在哪個步驟停止。

是什麼

Connectivity Test 偏向快速確認伺服器回應;Log 記錄用戶端處理請求時的事件;Diagnostics 則用於彙整或執行更具針對性的檢查。三者適合搭配使用:先進行快速測試,再重現一次問題,最後查看與該次請求時間相符的記錄。

在哪裡

Connectivity Test 通常可從伺服器清單或相關操作入口執行;Log 與 Diagnostics 位於用戶端相應頁面或 Settings 的診斷區域。介面位置可能隨裝置版面變化,尋找時以英文名稱為準。

如何設定

  1. 固定環境:維持相同的 Wi-Fi 或行動網路、相同伺服器與相同 Global Routing 模式。
  2. 執行 Connectivity Test:記錄測試是否完成,不要只比較數值高低。
  3. 重新發出請求:關閉目標頁面後重新開啟,讓 Log 顯示本次測試對應的記錄。
  4. 查看比對結果:確認目標網域、解析位址,以及最後使用的 PROXY、DIRECT 或 REJECT。
  5. 一次修改一項:只調整伺服器、規則、DNS 或 On Demand 其中一項,然後重複相同步驟。

注意事項

分享診斷內容前,應先檢查其中是否包含伺服器位址、驗證資訊、訂閱網址或個人網路名稱。用於自行排查時,保留發生時間、目標網域、目前模式與修改動作即可。若 Proxy 可存取而 Config 無法存取,重點檢查規則;若兩者都無法存取而 Direct 正常,重點檢查伺服器與協定參數;若伺服器測試有回應但網域存取失敗,則優先檢查 DNS 與目標網域記錄。

現象一

Proxy 正常,Config 異常

檢查規則順序、FINAL 策略、自訂策略群組名稱,以及目前是否選取正確的 Config。

現象二

Direct 正常,Proxy 異常

檢查目前伺服器、協定欄位、驗證參數與 Connectivity Test 結果。

現象三

測試有回應,網域無法開啟

檢查 DNS、網域實際解析結果,以及 DOMAIN 類規則是否符合預期目標。

建議順序

一套可重複的設定與驗證流程

遇到問題時,依固定順序排查比反覆切換開關更有效。以下流程適合首次設定,也適合設定更新後的回歸檢查。

01

確認伺服器項目

在 Home 選取一個參數完整的伺服器,先執行 Connectivity Test。若透過 Subscribe 匯入,先確認更新已完成。

02

使用 Proxy 排除規則因素

短暫將 Global Routing 切換為 Proxy,重新發出一個明確請求。此步驟只用於驗證連線鏈路,不代表最終使用模式。

03

返回 Config 檢查規則

確認目標網域符合的 DOMAIN、DOMAIN-SUFFIX 或其他條件,並檢查最終策略是否為預期的 PROXY、DIRECT 或 REJECT。

04

接著檢查 DNS

確認伺服器與規則後,再處理解析問題。修改 DNS 後重新建立請求,並同時觀察 IPv4 與 IPv6 條件。

05

最後啟用 On Demand

先確保手動連線穩定,再加入自動觸發條件。如此可將連線本身的問題與觸發時機問題分開。

App 與裝置

設定名稱以目前 App Store 版本介面為準

Shadowrocket 主要使用於 iPhone 與 iPad;Mac、Apple TV 與 Apple Vision 的相容性可在同一 App Store 產品頁查看,系統需求以 App Store 頁面標示為準。不同裝置的排列與可見選項可能不同,本頁一律以英文介面詞辨識功能。

App Store 下載