官方手冊 · 功能與設定

Shadowrocket 代理模式與設定

Global Routing 決定連線如何分配,Config 儲存規則與網路參數,Home 管理伺服器和連線狀態。先釐清這三個層面,再調整 On Demand、DNS 或測試方式,才能判斷變更實際影響了什麼。

本頁以 iPhone、iPad 的常用操作為主。介面入口可能因裝置與應用程式介面調整而異,實際選項請以目前應用程式顯示為準;系統需求以 App Store 頁面標示為準。

  • 路由模式 Config / Proxy / Direct
  • 規則執行 由上而下比對
  • 設定原則 一次只變更一項

Home · Global Routing

三種模式的適用情境

Global Routing 位於 Home,用來選擇連線的整體處理方式。設定檔、代理、直連分別對應介面中的 Config、Proxy、Direct;中文僅說明其意義,操作時請依英文選項辨認。進入 Global Routing 選擇所需模式後,回到 Home 確認目前伺服器與連線開關。選擇模式與啟動連線是兩個動作,只變更選項不代表已建立連線。

路由模式決定處理方式,不代表伺服器連線品質。
介面選項處理方式適用情境先確認
Config依目前設定檔中的規則決定策略日常依網域或位址分流目前使用的 Config、規則順序與最終規則
Proxy將符合條件的連線交由目前代理處理暫時檢查代理連線是否可用目前選取的伺服器及連線參數
Direct將符合條件的連線直接傳送至目標檢查本地網路或比較直連狀況本地網路與目標是否可連線

Config:依規則分配連線

若要讓部分網站使用 PROXY、其他連線使用 DIRECT,通常選擇 Config。先在 Config 頁面確認目前使用的檔案,再回到 Home 選擇 Config。規則檔案若只儲存在清單中,卻未設為目前使用的設定,修改它不會改變實際分流。疑難排解時,也要區分檔案中的策略名稱與 Home 選取的伺服器:前者決定如何處理,後者影響代理連線的實際目的地。

Proxy:檢查代理連線

Proxy 適合用來縮小故障範圍。例如,同一目標在 Proxy 模式下可存取,在 Config 模式下失敗,可以接著檢查命中規則與 DNS,不必立刻變更所有伺服器參數。這不代表所有系統連線都一定經過此路徑;系統流量、既有連線及與設定相關的繞過行為,仍須分別判斷。比較完成後,請恢復原本需要的模式。

Direct:檢查直連路徑

Direct 用於直接連線至目標,不等於關閉 Home 的連線開關。若要保留應用程式連線狀態,同時比較本地網路狀況,可以暫時選擇 Direct;若要停止由應用程式建立的 VPN 連線,則應操作 Home 的開關,並檢查 On Demand 是否會再次觸發。請勿將 Direct 當作 DNS 設定的重設按鈕,解析問題仍須另外檢查。

Config · Rule

規則類型與執行策略

規則由比對條件與處理策略組成,通常在 Config 頁面編輯目前設定中的 Rule 內容。規則依序判斷,命中適用規則後便採用對應策略,因此較具體的規則應排在較寬泛的規則之前。編輯前先儲存一份可還原的設定,修改後確認目前啟用的檔案;驗證時重新發起存取,避免將既有連線的狀況誤認為新規則的結果。

關鍵字比對對象使用注意事項
DOMAIN單一完整網域名稱適用於只指定某個主機名稱的情況
DOMAIN-SUFFIX指定網域及其子網域請勿填入通訊協定標頭或網頁路徑
DOMAIN-KEYWORD網域中包含的關鍵字涵蓋範圍較廣,請留意誤比對
IP-CIDR / IP-CIDR6IPv4 / IPv6 位址範圍確認位址與前綴長度相符
GEOIP位址所屬地區資料結果受位址資料庫與解析結果影響
FINAL前面未命中的連線通常作為規則末尾的備援策略

PROXY、DIRECT 與 REJECT

PROXY 表示依代理策略處理,DIRECT 表示直接連線,REJECT 表示拒絕連線。這些是規則中的策略關鍵字,不是伺服器通訊協定名稱。若設定使用自訂策略群組,也應檢查群組內的選取項目與可用成員,不能只看到規則末尾有個名稱,就認定實際連線一定經過某台伺服器。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

這段教學範例會讓 example.com 及其子網域使用 PROXY,其餘未命中的連線則使用 DIRECT。example.com 僅為規則範例,不是伺服器或訂閱。實際網站可能會呼叫其他網域上的圖片、登入或介面服務,首頁可存取不代表所有相關請求都命中相同規則。若要擴充規則,應先從實際請求紀錄確認網域,而不是不斷放寬關鍵字的比對範圍。

若要進一步了解檔案結構,可閱讀設定檔區段說明;若只需處理少數網站,可參考指定網站分流範例。

Home · SERVER · Subscribe

訂閱與伺服器管理

Home 的 SERVER 區塊用於查看及選取伺服器。訂閱則是批次匯入、更新使用者既有伺服器資訊的方式,兩者都不等同於規則設定。以下操作以使用者已有自己的訂閱或伺服器資訊為前提;本站僅說明管理與使用方式,不提供、不販售或推薦節點或訂閱。

Add Server:手動填入既有資訊

在 Home 開啟 Add Server,先依既有資料選擇 Type,再填入位址、連接埠及身分驗證欄位。Shadowsocks、VMess、VLESS、Trojan 等通訊協定所需欄位不同,不應只因位址相同就套用其他 Type。若涉及 TLS、傳輸方式或相關名稱欄位,請逐項依原有資料核對;儲存後回到 SERVER 選取該項目,再執行 Connectivity Test。

Subscribe:匯入與更新既有訂閱

在 Add Server 中選擇相應的 Subscribe 類型,填入既有訂閱網址並儲存,接著檢查產生的群組與項目。訂閱網址可能包含身分憑據,貼上前請確認內容完整,且沒有前後空格或換行;也不要公開於截圖、文章或聊天紀錄中。完整的首次匯入流程請參閱匯入既有訂閱與伺服器。

更新訂閱是重新讀取遠端提供的項目,不是更新應用程式本身。更新後請確認目前的伺服器是否仍存在、名稱或群組是否有變更,以及手動修改的欄位是否被重新覆寫。準備清理重複項目時,先確認該項目來自訂閱或手動新增,避免下次更新時再次出現。QR Code 等匯入方式也僅用於既有資料,匯入後仍須核對通訊協定與參數。

Settings · On Demand

按需連線的觸發條件

On Demand 用於依據網路條件觸發連線行為,例如切換至指定 Wi-Fi、使用行動網路,或符合相關網域條件時進行連線判斷。它處理的是「何時連線」,Global Routing 處理的是「連線後如何路由」,兩者不能互相取代。請先確認手動連線可用,再設定自動觸發。

在 Settings 中找到 On Demand 相關設定,依目前介面提供的條件新增規則。先只設定一項可重現的條件,例如某個 Wi-Fi 名稱,再切換網路觀察結果。確認連線與中斷行為符合預期後,再新增其他條件;若有多條規則,請檢查順序、適用網路與動作,避免涵蓋範圍較廣的規則優先命中。

Wi-Fi 名稱須與實際網路一致;行動網路條件則須在實際切換網路後驗證。判斷網域觸發是否生效時,不應只依據已開啟的網頁,因為快取與既有連線可能影響觀察結果。測試時請關閉舊頁面,重新發起請求,並檢查系統與 Home 中的連線狀態。

手動關閉後連線狀態又再次出現時,應先檢查 On Demand,而非反覆刪除設定。暫時疑難排解時,可先停用相關觸發條件,再測試手動開關;測試結束後依原本需求恢復設定。完整的條件設定方式請參閱On Demand 按需連線說明。

Data

流量統計的觀察方式

Data 用於查看應用程式記錄的流量資訊,協助判斷連線期間是否有資料傳輸。進入 Data 後,先確認目前介面顯示的統計範圍、時間範圍與上傳、下載的意義,再比較數值變化。應用程式內部統計與系統行動網路用量、網路服務的計量方式可能不同,不應直接將其中一個數字當作另一個系統的帳單依據。

觀察問題時,可先記下目前讀數,再執行一次明確的存取操作,然後返回 Data 檢查變化。如果應用程式提供重設選項,請先確認不需保留現有紀錄後再使用;重設統計不會重設伺服器、規則或遠端服務的用量。背景活動也可能產生傳輸,測試期間應盡量減少其他應用程式的請求干擾。

有上傳流量卻看不到預期的下載,只能表示傳輸未如預期完成,無法單憑此現象判定是伺服器、DNS 或目標回應異常。請搭配 Connectivity Test 與請求紀錄繼續判斷。Data 也不代表連線速度保證:短時間請求的流量變化無法代表持續下載的表現,更不能取代實際使用情境的存取測試。

Settings · 常用項目

解析、測試與輔助設定

Settings 集中管理應用程式行為與輔助功能,但部分網路參數也可能來自目前的 Config。調整前請先確認該項目適用於整個應用程式,還是僅適用於某個設定檔。不同裝置上的入口、可用性及系統支援可能不同,以下依功能說明檢查方式,不將特定介面配置視為所有裝置的固定位置。

DNS:先確認生效來源

DNS 會將網域名稱解析為位址。檢查 Settings 中的 DNS 相關選項時,也請查看目前 Config 的 General 區段是否設定了 dns-server 等欄位。先記錄原始值,再一次只變更一個來源;不要同時更換解析設定、伺服器與 Global Routing,否則即使恢復存取,也難以判斷原因。

[General]
dns-server = system

這一行表示使用系統提供的解析設定,是用來理解欄位意義的範例,不是適用於所有網路的固定答案。若測試有回應但網頁無法開啟,應分別檢查網域解析、連線建立與目標回應。既有解析快取可能讓設定變更看起來沒有生效,驗證時須重新發起請求,並確認目前使用的設定檔。詳情請參閱DNS 解析失敗疑難排解。

Test Method:統一測試條件

Test Method 決定 Connectivity Test 使用的測試方式。可在 Settings 的測試相關設定中查看目前選項,並依介面提供的範圍調整測試目標或方式。不同方式測量的階段不同,不能直接比較不同測試條件下的結果;比較伺服器時,應保持測試方式、目標與目前網路一致。

Connectivity Test 成功,只能表示在該次測試條件下收到回應,不能證明所有網站、所有通訊協定都可用。若測試方式涉及特定目標,而該目標本身無法連線,測試也可能失敗。請先確認測試條件,再使用實際需要存取的目標進行複核。

Today Widget:查看快速入口

Today Widget 適用於系統支援的小工具或快速資訊顯示情境。先在 Settings 查看相關選項,再前往系統允許管理小工具的位置,確認是否能加入。可用形式與操作功能受系統及應用程式支援情況影響,不應直接將其他裝置上的介面套用至目前裝置。

透過小工具操作後,若顯示狀態與預期不同,請回到 Home 確認連線開關、目前伺服器與 Global Routing。小工具是輔助入口,不能取代完整設定頁面;首次系統授權、參數編輯與詳細疑難排解仍須在應用程式或系統的對應頁面完成。

iCloud:區分同步與復原

iCloud 相關功能可在支援範圍內儲存或同步資料。使用前請確認裝置已登入預期的 iCloud 帳號、系統允許應用程式使用 iCloud,並在應用程式中檢查可同步的具體項目。請勿假設開啟同步就會包含所有伺服器、設定、歷史紀錄與統計資料;實際範圍以目前介面說明為準。

更換裝置或合併資料前,請保留獨立備份,確認同步完成後,再檢查目前的 Config 與 SERVER。App Store 購買紀錄與設定同步是兩回事:復原應用程式購買項目不等於找回連線資料。若既有資料包含憑據,請妥善保存為敏感資訊,避免在公開場合展示同步或匯出的內容。

Diagnostics:儲存必要診斷資訊

Diagnostics 用於收集或查看疑難排解所需資訊。先記下問題發生時間、目前網路、路由模式與重現操作,再進入 Settings 中 Diagnostics 相關入口查看可用內容。若介面提供額外的紀錄開關,只在重現問題所需期間開啟,完成後恢復日常設定。

分享診斷內容前,請檢查其中是否包含訂閱網址、伺服器資訊、身分憑據、存取網域或個人網路名稱,並適度遮蔽。紀錄越多不一定越容易找出問題;能對應明確操作與時間的一份紀錄,通常比多次隨意切換設定後產生的大量內容更容易判讀。

檢查順序

依流程進行設定變更

  1. 保留原始狀態。記下目前的 Config、Global Routing 與所選伺服器,並儲存可還原的設定。涉及訂閱或帳號資料時,請勿在公開紀錄中寫入完整憑據。
  2. 先檢查本地網路。確認 Wi-Fi 或行動網路本身可正常使用。需要比較時,暫時使用 Direct,測試後恢復原本模式;不要將本地網路故障與規則錯誤混為一談。
  3. 驗證既有伺服器。檢查 Type、位址、連接埠與驗證欄位,再使用相同的 Test Method 執行 Connectivity Test。測試後還應存取實際目標,確認不只是測試請求收到回應。
  4. 最後調整規則。在 Config 下檢查命中順序與 FINAL,一次只修改一處。重新發起存取,確認目標及相關請求是否採用預期策略。
  5. 恢復自動行為。手動連線穩定後,再開啟 On Demand 並檢查網路切換情境;接著確認 Data 與必要的 Diagnostics,結束暫時測試並關閉額外紀錄。

新使用者可依序從快速入門完成首次設定;遇到具體問題時,請前往疑難手冊的連線問題逐項排查。需要辨認介面用語或規則關鍵字時,可參閱術語手冊。