On Demand 負責管理何時嘗試建立或中斷 VPN 連線,不會決定各項請求要使用哪種出站方式。本文適合已能手動連線,且已有自己的服務商與訂閱資料的使用者:先區分網路條件與網域評估,再依序驗證 Wi-Fi、行動網路與網域,最後確認自動重新連線及規則分流是否符合預期。
On Demand 與 Global Routing 的功能差異
Shadowrocket(小火箭)的 On Demand 是按需連線設定,路徑為 Settings → On Demand。系統會依照已儲存的 VPN 按需規則處理連線要求,因此關閉 App 畫面不代表停用按需連線;手動中斷後,如果觸發條件仍成立,系統也可能再次建立連線。
Global Routing 管理連線建立後的路由方式。Proxy、Direct、Config、Scene 與 On Demand 屬於不同層級的設定:Config 依目前的設定規則分流,Proxy 與 Direct 則分別採用相應的全域路由方式;Scene 涉及場景選擇,應另外確認相關設定。排查自動連線時,請勿同時切換路由方式。
例如,VPN 已自動連線,但網頁仍透過 Direct 出站,不一定代表 On Demand 失效。請先查看 Home 的連線狀態,再檢查 Global Routing 與 Config 的比對結果。反過來說,設定中有 DOMAIN-SUFFIX 規則,也不代表系統會因為該網域而自動建立隧道。
啟用前:先確認手動連線正常
On Demand 無法修正錯誤的連線參數。請先在 Home 使用現有連線資料手動連線一次,確認目標網站可以存取,再設定自動觸發。若已有訂閱,匯入與更新訂閱是用來取得及變更連線資料;On Demand 不會更新訂閱,也不會自動修正過期的伺服器位址、密碼或連接埠。
- 在 Home 確認目前選取的連線項目,並執行 Connectivity Test。測試有回應,只能表示在該測試條件下連線可達,仍須以實際請求驗證。
- 固定 Global Routing。若要驗證現有分流設定,請選擇 Config,並在 Config 中確認目前啟用的設定檔。
- 手動連線並完成系統 VPN 設定授權;如果系統仍在等待確認,請先完成授權,再繼續測試自動連線。
- 記錄目前的網路名稱、連線開關狀態與測試網站。同一輪測試中,不要同時更新訂閱、更換連線項目及修改 DNS。
- 前往 Settings → On Demand,檢查現有條件。先保留單一網路條件,確認結果後再新增例外。
Wi-Fi 條件:區分網路類型與指定 SSID
「使用 Wi-Fi」與「連線至特定 Wi-Fi 名稱」涵蓋範圍不同。前者適用於所有 Wi-Fi 網路,後者則依 SSID 限定。SSID 是無線網路名稱,不是路由器管理位址,也不是裝置目前取得的 IP 位址。輸入指定名稱時,請對照系統顯示的空格、大小寫與符號,避免憑記憶填入簡稱。
在 Settings → On Demand 檢查 Wi-Fi 條件及其動作;若目前介面提供指定 SSID 條件,再加入需要區分的網路。Connect 表示符合條件時要求建立連線,Disconnect 表示符合條件時中斷連線。這些動作描述的是 VPN 狀態,不代表「該 Wi-Fi 上的所有網站都走 Proxy」或「都走 Direct」。
- 所有 Wi-Fi 都要連線:先使用適用於所有 Wi-Fi 的 Connect 條件測試,不必逐一輸入 SSID。
- 特定 Wi-Fi 不需要隧道:為該 SSID 設定 Disconnect,並確認是否有範圍更廣的 Connect 條件先行符合。
- 相同名稱的網路:SSID 相同不代表連線到同一台存取設備。請勿將名稱比對視為網路身分驗證。
- 需要訪客登入的網路:請先完成系統要求的網頁驗證。若已連上 Wi-Fi,但尚未取得網際網路存取能力,自動連線可能會持續失敗。
系統會依序評估按需規則,範圍較明確的條件應排在較寬泛的條件之前;若目前介面無法調整順序,請檢查條件涵蓋範圍,避免同時保留意思相反的重複項目。設定完成後,先離開該 Wi-Fi 再重新加入,比起只在設定頁反覆切換開關,更能確認網路變化是否觸發預期動作。
行動網路條件:與 Wi-Fi 分開驗證
行動網路條件比對的是裝置實際使用的網路介面,不是狀態列是否顯示訊號,也不是某張 SIM 卡是否已啟用。若 Wi-Fi 仍在傳輸資料,只開啟行動數據並不能證明行動網路條件已生效。測試時請在系統設定中關閉 Wi-Fi,確認裝置實際使用行動網路,再查看連線狀態。
方案一:兩種網路都保持連線
- 路徑
- Settings → On Demand
- Wi-Fi
- Connect
- 行動網路
- Connect
- 適用條件
- 兩種網路都需要維持 VPN 連線
這是動作組合的說明;切換網路介面時仍可能短暫重新建立隧道,不代表連線完全不會中斷。
方案二:為指定 Wi-Fi 設定例外
- 指定 SSID
- Disconnect
- 其他 Wi-Fi
- Connect
- 行動網路
- Connect
- 檢查重點
- 指定 SSID 條件優先於範圍較廣的 Wi-Fi 條件
依實際介面設定條件與動作;是否要在特定網路保持連線,取決於個人使用需求。
這兩種方案不代表耗電量的結論。行動網路訊號、重試頻率、App 背景請求與實際流量都會影響耗電量。若行動網路條件設為 Connect,但所選連線在該網路無法連線,系統可能反覆嘗試建立隧道。請先在相同的行動網路下停用自動觸發並手動測試連線,再判斷是否需要保留該條件。
- 使用 Wi-Fi 時,記錄預期動作與實際狀態。
- 在系統設定中關閉 Wi-Fi,等待行動數據可用後,記錄相同兩項。
- 重新加入原本的 Wi-Fi,確認指定 SSID 例外是否恢復生效。
- 如果只在切換瞬間中斷,之後便恢復,請優先判斷為網路介面切換過程;若長時間維持錯誤狀態,再檢查條件涵蓋範圍與連線可達性。
網域條件:不是把分流規則搬到 On Demand
網域按需評估與 Wi-Fi、行動網路介面的比對方式並不完全相同。系統的 Evaluate Connection 機制可依網域與 DNS 解析條件判斷是否需要連線,常見情況包括解析失敗時嘗試建立 VPN。這不等於「任何 App 存取此網域時都會立即無條件連線」,也不是逐一讀取 HTTPS 網頁網址。
只有在目前的 On Demand 介面明確提供網域評估選項時,才依該選項說明填寫;不要把 Config 的規則列貼到網域欄位。以 example.com 為例,網域欄位通常只需填入網域名稱,而非 https://example.com/path。子網域的比對範圍請依欄位說明為準,不要預設其行為與 DOMAIN-SUFFIX 完全相同。
| 項目 | 所在層級 | 判斷結果 |
|---|---|---|
| Wi-Fi/行動網路條件 | On Demand 網路比對 | 依介面、SSID 等條件執行對應的連線動作 |
| Evaluate Connection | 系統按需連線評估 | 依設定的網域與解析條件判斷是否需要連線 |
DOMAIN-SUFFIX,example.com,PROXY | Config 分流規則 | 符合相關網域請求後採用 PROXY 策略 |
FINAL,DIRECT | Config 結尾規則 | 未符合前面的規則時使用 DIRECT,不負責中斷隧道 |
驗證網域評估前,請先排除範圍較廣的 Connect 條件已讓隧道保持連線的情況。瀏覽器快取、DNS 快取、App 自帶的加密解析方式,以及重複使用中的連線,都可能讓測試未經過預期的系統解析流程。因此,「重新開啟網頁一次,沒有看到 VPN 狀態變化」不足以證明規則無效;請一併記錄測試前的隧道狀態、使用中的網路與解析條件。
反覆連線或未觸發:依現象縮小排查範圍
先分辨「連線狀態反覆變動」與「連線持續存在但請求失敗」。前者主要檢查自動連線條件、介面變化與隧道建立失敗;後者則應繼續檢查 Global Routing、Config、DNS 與連線資料。混在一起修改這兩類問題,可能連原本正確的按需規則也一併改錯。
為什麼在 Home 關閉連線後,很快又自動連上?
先前往 Settings → On Demand 暫停按需連線,再回到 Home 中斷連線。若之後能維持中斷,表示先前仍有符合條件的 Connect 動作;請逐項檢查目前的 Wi-Fi、指定 SSID 與行動網路條件,不要連續點按連線開關。
指定家中 Wi-Fi 為 Disconnect,為什麼仍會連線?
從系統設定複製並核對目前的 SSID,確認裝置沒有連上訪客網路或同一台路由器的另一個網路名稱。接著檢查是否有範圍更廣的 Wi-Fi Connect 條件先行符合,儲存變更後重新加入該網路驗證。
切換到行動網路後一直連線失敗,該檢查什麼?
暫時停用 On Demand,在相同的行動網路下從 Home 手動連線並執行 Connectivity Test。若手動連線也失敗,請先檢查現有連線資料、網路可達性與系統時間;自動觸發無法略過這些前提。
填入網域後開啟網頁,為什麼沒有自動連線?
確認填寫位置確實是 On Demand 的網域評估,而非 Config。接著檢查動作與 DNS 條件;既有快取或其他解析方式可能不會觸發相同的評估。若需求只是網域分流,請改為檢查 Config 中的 DOMAIN-SUFFIX 規則。
刪除系統 VPN 設定後,按需連線無法運作怎麼辦?
回到 Shadowrocket,先手動連線並完成系統重新加入 VPN 設定的授權,再確認 Settings → On Demand 是否已啟用。也請一併檢查系統設定中的 VPN 按需連線狀態;尚未完成授權前,請勿直接測試自動觸發。
保留設定前:完成一輪完整驗證
設定穩定與否不在於條件數量,而在於每個條件都有明確範圍與可重現的結果。先完成 Wi-Fi 與行動網路介面測試,再加入指定 SSID 例外,最後單獨評估網域需求。每次只變更一項,記錄「網路、預期動作、實際狀態」,方便判斷問題出在條件比對錯誤,還是連線建立失敗。
- 檢查條件涵蓋範圍:指定 SSID 例外沒有被範圍較廣的 Wi-Fi 條件遮蔽,同一網路也沒有重複設定互相矛盾的動作。
- 檢查路由:Home 中的 Global Routing 符合需求,並已確認 Config 的規則順序與結尾的 FINAL。
- 檢查恢復狀況:從 Wi-Fi 切換到行動網路,再切回 Wi-Fi,兩次結果都符合預期。
- 檢查停用方式:確認如何在 Settings → On Demand 暫停自動觸發,再手動中斷連線。
- 檢查變更後狀況:更新現有訂閱或更換連線項目後,重新驗證手動連線與自動觸發,不要沿用舊的測試結果。
Shadowrocket 是 Apple 平台的付費用戶端,主要供 iPhone、iPad 使用;Mac、Apple TV、Apple Vision 的相容性與系統需求請以 App Store 頁面標示為準。用戶端買斷 ≠ 線路方案。現有連線資料是否有效需另行確認,本網站不提供、不販售、不推薦節點、訂閱或服務商。