Shadowrocket On Demand 設定教學:依 Wi-Fi、行動網路與網域自動連線

了解 Shadowrocket On Demand 如何依指定 Wi-Fi 名稱、行動網路或造訪網域自動連線與中斷,並掌握規則順序、常見衝突及關閉後的恢復方式。

本文速覽

On Demand 負責決定系統何時建立或中斷 VPN 連線;Rule 則負責連線建立後如何分流請求。本文適用於已有可用設定的 iPhone、iPad 使用者,依序說明 Settings → On Demand 的檢查位置、Wi-Fi 與行動網路條件的排序、網域觸發的限制,以及關閉自動連線後的恢復步驟。設定前先確認手動連線正常,設定後每次只變更一項網路條件。

一、先分清 On Demand、Global Routing 與 Rule

On Demand 不是代理分流規則,而是由系統執行的按需連線策略。先在 Home 確認現有連線設定可手動使用,再前往 Settings → On Demand 檢查自動連線設定;若手動連線本身失敗,增加自動觸發條件也無法修復伺服器位址、驗證資訊或網路連線問題。

網路條件變更 判斷按需條件 系統建立通道 比對分流規則 選擇請求出口

Global Routing 決定連線中的路由模式。Proxy、Direct、Config 分別用於代理、直連與依設定分流;Scene 用來依情境整理相關選項,不能直接視為某一種固定出口。排查本文提到的自動連線問題時,先固定使用 Config,並確認 Config 中目前選取的檔案,避免同時切換情境與按需條件。

VPN 已連線,不代表每個請求都會經過代理。Config 中的 DIRECT 規則可讓符合條件的請求直接連線,而 On Demand 仍維持連線。反過來說,FINAL,PROXY 也不能在通道尚未建立時取代 On Demand 發起連線。排查時應分別記錄系統連線狀態,以及請求套用的策略。

2 個層級
設定位置:Settings → On Demand
2 個層次
先確認連線條件,再檢查流量分流
4 種
下方比較 DOMAIN-SUFFIX、GEOIP、IP-CIDR、FINAL

二、啟用前先確認手動連線正常

自動連線應從可重複驗證的手動測試開始。先記錄目前的設定名稱、Global Routing 選項及 On Demand 原有狀態,再進行修改。介面實際選項請以目前安裝版本為準,不要假設系統支援的所有按需策略都一定會出現在目前頁面。

  1. 在 Home 選取已有的連線設定,手動啟用連線,造訪已知可用的目標,確認請求能正常完成。
  2. 前往 Config 確認目前的設定檔;若要測試分流,請將 Global Routing 固定在 Config,並避免同時更換規則檔案。
  3. 前往 Settings → On Demand,檢查總開關與現有條件;首次設定只新增一項測試條件,不要一次加入多個例外。
  4. 依系統提示允許儲存或更新 VPN 設定,接著前往系統 Settings → General → VPN & Device Management,確認目前的 VPN 設定及 Connect On Demand 狀態。系統頁面的實際路徑可能隨系統版本變動。
  5. 返回 Home 檢查連線狀態,再實際切換一次網路;只離開設定頁面不代表已驗證觸發結果。

三、依 Wi-Fi 名稱與行動網路安排條件

網路條件建議按照「具體例外優先,一般條件在後」排序。系統會依序判斷按需規則,較早符合的規則可能讓後續條件不再執行。例如,若希望在家中 Wi-Fi 不自動連線、在其他網路自動連線,應先設定指定 Wi-Fi 的例外,再設定範圍較廣的網路條件。

Wi-Fi 名稱應填寫實際 SSID,而非路由器型號或裝置備註名稱。先到系統 Settings → Wi-Fi 查看目前名稱,再回到 Settings → On Demand 確認相應條件。若兩個無線基地台使用相同 SSID,通常無法只靠名稱區分;名稱條件也無法證明該網路值得信任。

指定 Wi-Fi 的例外設定

檢查位置
Settings → On Demand
比對對象
Wi-Fi 的實際 SSID,例如 Home-WiFi
目標動作
Disconnect;僅在介面提供此動作時設定
排序位置
排在涵蓋所有 Wi-Fi 的一般條件之前

Home-WiFi 僅為名稱範例;儲存時請填入裝置目前使用的實際 SSID。

行動網路的連線設定

檢查位置
Settings → On Demand
比對對象
Cellular 網路條件,請以頁面實際提供的選項為準
目標動作
Connect;僅在介面提供此動作時設定
驗證方式
關閉 Wi-Fi,確認行動數據可用後送出新請求

測試前請確認裝置支援行動數據;僅支援 Wi-Fi 的 iPad 不適用此測試。

驗證時要分清楚「網路尚未可用」和「按需規則未符合」。從 Wi-Fi 切換到行動網路後,先確認系統確實已連上數據網路,再查看 VPN 狀態並造訪目標網站。若公共 Wi-Fi 需要先完成網頁認證,請先處理網路認證;反覆修改 On Demand 無法取代這個步驟。

四、網域觸發不等於 DOMAIN-SUFFIX 分流

網域觸發關注的是「造訪某個網域時是否需要建立連線」;DOMAIN-SUFFIX 關注的則是「進入規則處理的請求應採用哪種策略」。在 Config 的 Rule 中加入網域,不會自動建立系統層級的按需連線條件,因此無法只靠新增後綴規則,確保裝置在中斷連線時自動連線。

系統按需機制中的網域評估,可透過 EvaluateConnection 及相關連線規則描述,並可能根據 DNS 解析或連線可達性判斷是否建立連線。它並非所有網域請求都會觸發的簡單開關。只有目前 Shadowrocket 頁面確實提供網域評估設定時,才透過該入口設定;不要將系統策略名稱直接當作 App 中固定存在的選單。

設定或關鍵字處理對象檢查重點
On Demand 網域條件連線建立前的按需判斷頁面是否提供、評估動作、DNS 與連線可達性條件
DOMAIN-SUFFIX符合網域後綴的請求網域是否正確、規則是否被前面的項目覆蓋
GEOIP目標 IP 的地理分類IP 分類與目前設定中的規則順序
IP-CIDR指定的 IPv4 位址範圍網路位址、遮罩與目標策略
FINAL前面規則都未符合的請求預設策略是否符合預期
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY

這段程式碼僅供查看分流順序,並非完整設定,也不是 On Demand 設定檔。example.com 及其子網域會先符合第一條規則;後續請求再依位址範圍和 GEOIP 判斷,未符合的請求則交由 FINAL 處理。PROXY 必須對應現有且可用的代理策略,不能只貼上範例就當作已完成連線設定。

  1. 先使用一般網路確認測試網域是否能解析,並記錄目前的連線狀態。
  2. 若頁面提供網域按需條件,儲存後讓裝置回到未連線狀態,再對測試網域送出新請求。
  3. 分別觀察 VPN 是否建立、請求是否成功,以及連線後符合哪一條 Rule,不要把三種結果合併判斷。
  4. 若 DNS 快取、現有長連線或瀏覽器快取影響結果,請改用新的測試請求;不要只因已開啟的頁面仍能顯示,就判定觸發失敗。

五、依序排查自動重新連線與規則衝突

發生異常時,先判斷問題所在層級,再修改設定。若沒有自動建立連線,優先檢查按需開關與條件;若已建立連線但目標無法使用,則檢查現有連線設定、DNS 與分流。不要一次更新訂閱、切換協定、調整 Global Routing 又重寫按需條件,否則難以判斷是哪項變更影響結果。

為什麼在 Home 關閉後又自動連線?

先前往 Settings → On Demand 暫停自動連線,再手動中斷連線。只操作 Home 的連線開關,可能無法取消仍有效的按需條件;下次網路事件或請求仍可能觸發系統連線。接著到系統 VPN 設定中確認 Connect On Demand 狀態。

為什麼回到家中 Wi-Fi 後仍維持連線?

先確認實際 SSID,再檢查指定 Wi-Fi 的例外是否排在一般 Wi-Fi 條件之前。也要分清 Disconnect 與 Ignore:前者表示希望中斷連線,後者不代表一定會強制中斷現有連線。可選動作請以頁面實際顯示為準。

為什麼切換到行動網路後沒有立即連線?

先關閉 Wi-Fi,確認行動數據可用,再送出新請求並查看系統 VPN 狀態。確認行動網路條件已啟用,且沒有更早符合的條件;若手動連線也失敗,請回到 Home 檢查現有設定,不要繼續疊加自動規則。

VPN 已連線,為什麼目標仍走 DIRECT?

到 Home 確認 Global Routing,再到 Config 檢查目前 Rule 的符合順序。Direct 模式或較早符合的 DIRECT 規則,都可能造成這種情況;修改 On Demand 不會自動將已決定的分流策略改成 PROXY。

連線協定與觸發條件也應分開驗證。現有設定使用 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 或 WireGuard 時,協定欄位決定如何建立連線,On Demand 仍負責決定何時要求建立連線。若自動觸發成功但握手失敗,應檢查該設定所需的位址、連接埠及驗證欄位,而非據此認定 Wi-Fi 名稱比對失敗。

六、關閉 On Demand 後如何恢復手動使用

關閉自動觸發不代表會立即中斷連線,也不等於切換為 Direct。先在 Settings → On Demand 關閉相關自動條件並儲存,再確認系統 VPN 設定;若要停止目前連線,請回到 Home 手動中斷。之後由使用者手動啟用連線,並分別檢查 Global Routing 與 Config 中的規則。

  1. 記下原有條件順序與目前設定名稱,以便日後還原;不必急著刪除可用的連線項目。
  2. 關閉 On Demand,並確認目前 VPN 設定中的 Connect On Demand,避免仍有自動條件生效。
  3. 在 Home 手動中斷連線,分別切換一次 Wi-Fi 並送出一次新的網路請求,確認是否仍會自動建立連線。
  4. 若仍自動重新連線,請檢查裝置上的其他 VPN 設定或裝置管理策略是否正在控制連線;不要只靠反覆切換 Home 開關處理。
  5. 若要恢復使用,請手動連線並確認 Global Routing;重新啟用 On Demand 時,從單一條件開始逐項恢復。
在 App Store 核對正版