官方手冊 · 功能與常用設定
Shadowrocket
代理模式與設定
先確認 Global Routing,再檢查伺服器與規則。每次只變更一項設定,並保留可還原的設定,才能判斷變更造成的影響。
- Config / Proxy / Direct
- On Demand
- Diagnostics
01 / 流量處理方式
Global Routing:設定、代理與直連
三種模式決定整體處理方式,不代表有三組不同的伺服器資訊。
Global Routing 位於 Home。日常需要依網域或位址區分請求時,選擇 Config;暫時確認所選伺服器能否處理請求時,可使用 Proxy;檢查目前網路是否能直接連線至目標時,可使用 Direct。變更後應重新發送測試請求;既有連線可能仍維持原本的工作階段。
設定、代理與直連分別對應介面上的 Config、Proxy、Direct。介面中的 Proxy 是模式名稱,規則中的 PROXY 則是策略關鍵字;兩者相關,但選擇 Proxy 不代表啟用了某條規則。
| 介面選項 | 處理方式 | 使用時機 | 優先檢查項目 |
|---|---|---|---|
| Config | 由目前設定中的規則決定策略。 | 日常依規則分流,或驗證設定效果。 | 目前啟用的 Config、Rule 順序與 FINAL。 |
| Proxy | 將由應用程式接管的請求交由所選代理處理。 | 暫時排查伺服器是否可用,或明確需要統一透過代理處理時。 | 所選伺服器是否正確,驗證資料與連線參數是否完整。 |
| Direct | 以直連方式處理由應用程式接管的請求。 | 檢查目前網路路徑,暫時驗證直連結果。 | 目前網路能否直接連線至目標。 |
Config:由規則設定決定策略
先前往 Config 確認要使用的設定檔,再回到 Home 將 Global Routing 設為 Config。匯入檔案不代表已選取該檔案;即使規則正確,也必須使用會套用規則的模式。測試時,分別選擇預期使用 PROXY 與 DIRECT 的目標,核對結果;不要只因為某個網頁能開啟,就判定整份設定正確。
Proxy:暫時驗證代理路徑
在 Home 的 SERVER 清單中確認目前選取的項目,再選擇 Proxy 並啟用連線。此處的「全域模式」是指應用程式接管範圍內統一透過代理處理,不應解讀為對裝置上所有系統行為的絕對描述。若 Proxy 可用而 Config 不可用,請優先檢查規則比對結果與目前設定;排查完成後,恢復原本需要的模式。
Direct:驗證目前網路路徑
在 Home 將 Global Routing 設為 Direct,再重新連線至目標。Direct 不會讓原本無法直接連線的目標變得可用,也不等同於關閉連線;它變更的是處理策略。若要完全停止目前的 VPN 連線,請操作 Home 的連線開關。若無法連線至區域網路裝置,可先用 Direct 比對,再回到 Config 檢查相關位址規則。
02 / 比對條件與執行策略
Rule:先比對,再選擇策略
規則類型說明「比對什麼」,策略說明「比對後如何處理」。
規則通常可在 Config 中對應設定檔的 Rule 區段查看與編輯。DOMAIN 比對完整網域名稱,DOMAIN-SUFFIX 比對網域後綴及其子網域,DOMAIN-KEYWORD 則依網域中的關鍵字比對。位址條件可使用 IP-CIDR 與 IP-CIDR6;GEOIP 依據位址歸屬資料判斷,無法據此推斷內容所用語種或使用者所在地。
常見策略有 PROXY、DIRECT、REJECT,分別用於代理處理、直連處理與拒絕請求。規則通常依由上而下的順序檢查,由最先符合的有效規則決定結果。因此,應將明確的例外規則放在較寬泛的條件之前,並將 FINAL 留作最後的預設規則。以下僅示範語法,範例網域不代表需要連線的實際服務。
[Rule]
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,DIRECT
DOMAIN-KEYWORD,ads,REJECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
修改前先儲存原始設定,修改後確認檔案仍可正常載入。不要一次加入大量未經檢查的規則:例如過短的 DOMAIN-KEYWORD 可能比對到不相關的網域,過大的位址範圍則可能影響區域網路連線。USER-AGENT 取決於請求中實際可取得的相關資訊,不適合作為能比對所有流量的通用條件。
需要修改 DNS、Host 或 URL Rewrite 時,請先分清各設定區段的用途,不要混寫在 Rule 中。完整語法、優先順序與區段說明請參閱規則參考;本節的重點是先確認 Config 已生效,再驗證比對結果。
03 / 既有連線資訊
Subscribe 與 SERVER 管理
本節適用於已經有自己的訂閱或伺服器資訊的使用者。
Subscribe 可透過既有訂閱網址匯入並更新伺服器清單,SERVER 則顯示可選擇的伺服器項目。已有訂閱通常可從 Home 的新增入口進入 Add Server,選擇 Subscribe 後輸入網址並儲存;手動新增時,請選擇符合既有伺服器資訊的協定類型。欄位內容取決於所選類型,不同協定的參數不可直接互換。
儲存後回到 Home,確認清單中出現預期項目,再點選要使用的伺服器。名稱僅供辨識,不能據此判定協定、驗證資料或目標位址一定正確。使用 Connectivity Test 進行測試,再啟用連線驗證實際請求;單次測試有回應,也不代表所有目標都能連線。
更新訂閱:先確認群組,再執行更新
找到相應訂閱的更新操作,只更新需要更新的群組,並確認是否收到成功結果。更新訂閱可能新增、刪除或重新命名伺服器,因此更新後也要確認目前選取的項目是否仍存在。若群組為空或項目數量出現預期外的變化,請先確認網址是否有效及網路狀態;不要立刻刪除所有設定再重新匯入,以免遺失原有選擇與手動備註。
訂閱網址可能包含存取憑證,應視為敏感資訊。請勿將完整網址放在公開截圖、網頁或診斷記錄中。既有訂閱與 Config 檔案也不是同一回事:前者主要用於管理伺服器項目,後者包含規則及其他設定;更新訂閱不能取代檢查目前使用的規則檔案。
協定欄位:以既有伺服器參數為準
Shadowsocks、VMess、VLESS、Trojan、Hysteria2 等協定各有不同的連線與驗證欄位。新增時先確認協定,再逐項核對位址、連接埠、驗證資訊及相關傳輸設定。不要為了讓單次測試通過而任意關閉驗證選項;若缺少必要參數,應回頭核對自己的原始伺服器資訊,而不是試著拼湊欄位。
04 / 自動觸發連線
On Demand:連線觸發條件
先確認手動連線穩定,再設定按需觸發。
On Demand 可依據設定條件觸發 VPN 連線,不會取代 Rule 對個別請求處理策略的判斷。它與 Global Routing 是兩個層次的設定:前者決定何時連線,後者決定連線後如何處理。即使設定了 On Demand,也無法修正錯誤的伺服器參數或不恰當的規則設定。
從 Home 的 On Demand 入口進入,檢查目前的開關與條件清單,再依照應用程式提供的網路條件進行設定。一次只新增一種條件,儲存後切換至符合條件的網路,驗證觸發結果,再切換至不符合條件的網路檢查行為。介面配置以目前應用程式顯示為準,不要將僅適用於特定網路的條件視為適用所有網路。
若手動中斷連線後又自動連線,請先檢查 On Demand 是否仍啟用,以及目前環境是否符合觸發條件。需要暫停自動連線時,也要檢查按需設定,不要反覆操作 Home 的開關。網路切換、裝置喚醒與既有工作階段都可能影響觀察結果;請等待系統完成狀態切換,再重新發送請求驗證。
05 / 使用記錄
Data:查看流量,不推測用量額度
用戶端記錄的流量統計,不等於伺服器端的計費記錄。
Data 頁面可查看應用程式記錄的流量資訊。進入後先確認顯示的是哪一類項目及統計範圍,再比較上傳與下載資料。若頁面提供重設功能,請先保留需要的記錄;重設用戶端統計不會改變既有訂閱所對應的遠端帳戶狀態。
若要確認某項操作是否產生流量,可先記錄操作前的數值,完成一次明確的連線,再回到 Data 比較變化。背景工作、其他應用程式的請求及維持連線的活動都可能同時產生流量,因此不要將兩次讀數的差值直接視為特定網頁的精確用量。統計數值增加只能表示有資料傳輸,不能單獨證明目標內容已完整載入。
排查流量方向與規則效果時,應一併參考 Data、目前的 Global Routing、Config 與請求記錄。不要將用戶端統計當成剩餘額度或帳單依據;若要確認自己的服務使用情況,請查看既有服務的帳戶記錄,並留意統計週期與計算方式可能不同。
06 / 常用項目
Settings:逐項調整並保留原值
以下依功能分類查找;入口位置與可選項目以目前應用程式顯示為準。
DNS:先確認目前解析設定的來源
DNS 會將網域名稱解析為位址,解析結果也可能影響位址規則的比對。在 Settings 的 DNS 相關設定與目前 Config 中檢查既有設定,先確認實際生效的來源,再修改解析方式或伺服器。若網域無法連線,但使用位址時的結果不同,可將 DNS 列為排查方向;但這不足以直接證明 DNS 故障。
修改前記下原值,修改後重新發送請求,必要時依應用程式提供的方式處理快取。不要同時修改 DNS、規則與伺服器,否則難以判斷原因。某些設定依賴特定網路路徑,直接改用另一組位址不一定能改善結果,還可能影響區域網路名稱解析。
Test Method:使用一致的測試方法進行比較
Test Method 決定連線測試所採用的方法,可在 Settings 的相關測試設定中查看。先選定一種方法,再對同一組伺服器執行 Connectivity Test。不同測試方法檢查的連線階段不同,結果不應直接放在一起排序;測試回應快不代表持續傳輸速度快,更不代表所有應用程式請求都能成功。
若測試項目涉及目標位址,請使用自己清楚了解的目標,並在對照測試期間保持不變。某種測試失敗時,先透過實際請求交叉驗證,再檢查協定與測試方法是否適用,不要只根據單一數值刪除伺服器。
Today Widget:使用快速操作前確認目前選擇
Today Widget 提供快速查看或操作的入口。先在 Settings 檢查相關選項,再依系統支援的方式加入相應區域。系統是否顯示此入口及提供哪些操作,應以目前系統與應用程式的實際介面為準。使用快速入口前,仍應在 Home 確認所選伺服器與 Global Routing。
快速入口可減少操作步驟,但不會自動判斷哪一份設定適合目前網路。若顯示狀態與預期不同,請開啟應用程式確認連線狀態,不要只根據快速操作區的一次顯示判斷連線成功。
iCloud:同步前確認範圍
請在 Settings 檢查 iCloud 相關同步設定,並確認裝置系統允許應用程式使用 iCloud。啟用前先查看應用程式列出的同步項目,不要假設訂閱、設定、驗證資訊與歷史資料都會以相同方式同步。兩部裝置都應分別確認同步狀態,並為重要設定保留可還原的副本。
修改同一份資料前,先等候上一部裝置完成同步,避免在多部裝置上同時編輯而造成衝突。iCloud 同步不等於還原 App Store 購買項目:應用程式的購買與重新下載由 App Store 管理,設定是否同步則取決於應用程式設定與帳戶狀態。含有憑證的設定仍須謹慎處理。
07 / 疑難排解
Diagnostics 與逐步驗證
從基本網路到規則逐層檢查,不要一次重設所有設定。
Diagnostics 是用於排查連線問題的工具入口,可在 Settings 中尋找。依照介面提供的診斷項目執行並查看結果,分辨目前網路、網域解析、伺服器連線與目標請求等階段。診斷結果反映測試當下的狀態,不能取代長期可用性判斷,也不應只根據一則錯誤訊息推斷所有目標都無法使用。
- 確認基本網路。檢查目前的 Wi-Fi 或行動網路是否可用;必要時使用 Direct 對相同目標進行比對,並記錄兩種路徑的差異。
- 確認 SERVER。檢查所選項目、協定、連接埠與驗證資訊;更新既有訂閱後,再確認所選項目是否有變動。
- 執行 Connectivity Test。維持使用相同的 Test Method,並搭配實際連線結果判斷;不要將測試數值視為速度保證。
- 切換至 Proxy 進行比對。若 Proxy 正常而 Config 異常,請回到 Config 檢查規則順序、策略與 FINAL;若兩者都異常,則繼續檢查伺服器與網路條件。
- 最後檢查自動化與輔助設定。確認 On Demand、DNS 與同步狀態,每次只變更一項,並在驗證後決定保留或還原。
儲存或分享診斷資訊前,請移除完整訂閱網址、伺服器驗證資訊及其他個人內容。通常只保留重現步驟、使用的模式與必要錯誤描述,就足以協助定位問題。若要重新了解從匯入到連線的完整流程,請參閱入門指南;若要逐條修改規則,請前往規則參考。