官方手冊 · 功能與設定
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-CIDR6 | IPv4 / 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 相關入口查看可用內容。若介面提供額外的紀錄開關,只在重現問題所需期間開啟,完成後恢復日常設定。
分享診斷內容前,請檢查其中是否包含訂閱網址、伺服器資訊、身分憑據、存取網域或個人網路名稱,並適度遮蔽。紀錄越多不一定越容易找出問題;能對應明確操作與時間的一份紀錄,通常比多次隨意切換設定後產生的大量內容更容易判讀。
檢查順序
依流程進行設定變更
- 保留原始狀態。記下目前的 Config、Global Routing 與所選伺服器,並儲存可還原的設定。涉及訂閱或帳號資料時,請勿在公開紀錄中寫入完整憑據。
- 先檢查本地網路。確認 Wi-Fi 或行動網路本身可正常使用。需要比較時,暫時使用 Direct,測試後恢復原本模式;不要將本地網路故障與規則錯誤混為一談。
- 驗證既有伺服器。檢查 Type、位址、連接埠與驗證欄位,再使用相同的 Test Method 執行 Connectivity Test。測試後還應存取實際目標,確認不只是測試請求收到回應。
- 最後調整規則。在 Config 下檢查命中順序與 FINAL,一次只修改一處。重新發起存取,確認目標及相關請求是否採用預期策略。
- 恢復自動行為。手動連線穩定後,再開啟 On Demand 並檢查網路切換情境;接著確認 Data 與必要的 Diagnostics,結束暫時測試並關閉額外紀錄。
新使用者可依序從快速入門完成首次設定;遇到具體問題時,請前往疑難手冊的連線問題逐項排查。需要辨認介面用語或規則關鍵字時,可參閱術語手冊。