Shadowrocket On Demand 按需連線設定:依 Wi-Fi、行動網路與網域觸發

瞭解 On Demand 如何依網路類型、指定 Wi-Fi 名稱與網域自動連線或中斷,掌握常見設定方式,以及啟用後狀態不符預期時的檢查方法。

本文重點

On Demand 管理系統 VPN 連線何時建立或中斷,並不決定個別請求使用哪種出站策略。本文適合已能手動連線,並希望依 Wi-Fi、行動網路或網域條件自動連線的使用者。請前往 Settings → On Demand 設定並逐項驗證,再確認 Home → Global Routing 與 Config 中的分流規則。

先釐清 On Demand、連線狀態與分流策略

Shadowrocket(小火箭)的按需連線由 Apple 平台的系統 VPN 機制執行。網路環境改變,或出現符合網域評估條件的請求時,系統可依已儲存的設定決定是否建立連線。開啟 On Demand 不代表隧道此刻已連線,也不代表所有請求都會透過代理連線。

網路條件變更評估按需條件系統建立隧道套用路由策略請求實際出站

這幾個層面需要分開檢查:On Demand 決定連線時機;Home 的連線開關與系統 VPN 狀態反映目前連線情況;Home → Global Routing 決定流量處理方式。選擇 Config 時,則由目前設定中的規則決定個別請求採用哪種策略。不要只看到 VPN 標記,就認定實際請求已符合預期。

2 種
本文分別驗證 Wi-Fi 與行動網路條件
4 項
Global Routing:Config / Proxy / Direct / Scene
2 個層面
連線觸發與請求分流須分開確認

其中 Proxy、Direct 是整體處理方式,Config 使用目前設定,Scene 則依已設定的情境處理。這些選項與 On Demand 並非同一組開關。例如,系統可能已按需建立隧道,但 Global Routing 仍設為 Direct;此時「自動連線成功」與「目標請求透過代理連線」是兩件不同的事。

設定前先完成一次手動連線

本文假設使用者已有自己的服務商、連線資訊或訂閱。On Demand 不會提供伺服器位址、驗證資訊或訂閱內容。先確認同一組設定可正常手動連線,再新增自動觸發條件,才能區分連線故障與條件比對問題。

  1. 在 Home 檢查現有連線項目,確認位址、連接埠與協定參數均來自自己的服務資訊。連接埠請逐項照實填寫,不要因為啟用 On Demand 就一律改成 443。
  2. 手動開啟連線開關。若系統要求新增 VPN 設定,請閱讀提示並完成授權;這項授權與設定中的分流規則不同。
  3. 連線至自己有權使用的目標服務,確認目前設定可正常運作。若需要規則分流,請確認 Home → Global Routing 設為 Config,並檢查 Config 中目前選取的檔案。
  4. 前往 Settings → On Demand,先記下原有條件,再逐項修改。儲存後,前往系統「設定」搜尋「VPN」,進入 Shadowrocket 對應的 VPN 設定,確認按需連線已啟用。

排查時保留一份原始設定紀錄即可,不必反覆刪除 VPN 設定。刪除設定可能一併移除系統端的授權與按需狀態,導致下次連線時再次出現權限提示,也會使前後測試的條件不同。

依 Wi-Fi 名稱與行動網路設定連線條件

先將預期寫成明確條件:在哪個 Wi-Fi 名稱下要中斷、其他 Wi-Fi 下是否連線,以及行動網路下是否連線。Wi-Fi 名稱指 SSID,不是路由器管理位址,也不是目前裝置取得的區域網路 IP。請依實際名稱核對大小寫、空格與後綴。

指定 Wi-Fi 條件範例

項目
Settings → On Demand
網路類型
Wi-Fi
SSID 範例
Home-WiFi
動作
Disconnect

只有在你希望於此網路中斷隧道時才使用;Home-WiFi 是範例名稱,請改為裝置實際連線的 SSID。

行動網路條件範例

項目
Settings → On Demand
網路類型
行動網路
動作
Connect
驗證方式
關閉 Wi-Fi 後送出新請求

行動網路條件與指定 SSID 條件請分別確認;行動網路不需要填寫 Wi-Fi 名稱。

在實際介面提供的條件與動作中,Connect 表示符合條件時建立連線,Disconnect 表示符合條件時中斷連線。不要把「指定 Wi-Fi 下中斷」解讀成「所有 Wi-Fi 都中斷」。若同時設定廣泛比對的 Wi-Fi 條件與指定 SSID 條件,請確認兩者的優先順序,避免較寬泛的條件先涵蓋特定條件。

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

網路條件關注「裝置連上了哪種網路」,網域條件關注「系統正在處理哪些網域相關請求」。系統會依網域評估條件執行按需判斷,並與 DNS 解析及已設定的評估條件有關;不能簡化成在瀏覽器輸入文字就一定會連線。應用程式是否重新發起解析、是否沿用快取或既有連線,都會影響測試結果。

在 Settings → On Demand 設定網域條件時,請填寫主機名稱,而非完整網址。例如,測試網域可填 portal.example.com,不要填 https://portal.example.com:443/account。後者包含通訊協定、連接埠與路徑,不能當成網域欄位的內容。範例網域僅用於說明格式,並非可用的服務位址。

設定位置處理的問題填寫內容
Settings → On Demand符合網域評估條件時,是否需要建立系統 VPN 連線依網域欄位要求填寫主機名稱,並確認對應的評估動作
Config 中的規則連線建立後,該請求採用哪種策略DOMAIN-SUFFIX,example.com,PROXY
Config 中的最終規則前面的規則都未符合時,採用哪種策略FINAL,DIRECT

系統的網域評估可能包含「必要時連線」的邏輯,例如與解析失敗或指定解析條件相關;這不等於「所有符合的網域都會立即連線」。請以目前條件頁面實際提供的選項為準。若介面沒有提供某個 DNS 評估欄位,請勿將其他設定格式中的欄位直接填入網域清單。

結論:以新請求驗證網域條件

保留一項自己可控制的網域條件,結束既有連線後重新送出請求,並觀察系統 VPN 狀態;確認觸發連線後,再檢查該請求符合哪項分流策略。請勿同時修改這兩個層面的設定。

三種常見組合與驗證順序

設定組合前,先明確訂出每種網路下的預期,再考慮網域例外。以下列出的是設定思路,不代表某類網路天生安全或一定要中斷連線。是否連線,取決於你的使用需求,以及目前服務是否支援該網路環境。

使用情境條件設定方向驗證步驟
指定 Wi-Fi 不連線,外出時連線指定 SSID 使用 Disconnect;其他 Wi-Fi 與行動網路則依需求使用 Connect先連上指定 SSID,再切換至其他 Wi-Fi,最後關閉 Wi-Fi 測試行動網路
僅在行動網路下自動連線行動網路使用 Connect;Wi-Fi 則明確設定為不自動建立連線分別在 Wi-Fi 與行動網路下送出新請求,並確認系統 VPN 狀態
僅在需要特定網域時評估連線使用網域評估條件,避免其他範圍過廣的 Connect 條件提前建立連線先確認隧道尚未連線,再造訪自己的測試網域,並檢查解析與連線狀態
  1. 每輪測試只修改一項條件,記錄目前網路、實際 SSID、動作與系統 VPN 狀態。
  2. 切換網路後,等系統完成連線,再送出新的目標請求;不要用仍在播放的舊連線判斷新條件。
  3. 先確認隧道是否建立,再確認目標請求是否成功;分別記錄兩項結果。
  4. 若結果不符預期,先還原上一組可正常運作的條件,再檢查是否有條件重疊,或系統端的按需狀態尚未啟用。

在多個條件間頻繁來回修改,容易混淆網路切換、網域解析快取、路由處理方式與服務可用性。固定測試順序有助於減少混淆,但不能因一次測試成功,就推論所有應用程式的背景請求都會在相同時機觸發。

開關反覆切換或未觸發時,依狀況排查

為什麼手動關閉後又自行連線?

先查看 Settings → On Demand 是否仍有符合目前網路的 Connect 條件,再到系統「設定」搜尋「VPN」,確認對應設定的按需連線狀態。若要暫停自動連線,請先關閉按需機制,再關閉 Home 的連線開關;只中斷目前連線,後續請求仍可能再次觸發連線。

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

先確認裝置確實正在使用行動數據,而非仍連著 Wi-Fi;接著檢查行動網路條件的動作與系統端的按需狀態,再送出新請求。若仍未連線,請暫時停用 On Demand,並手動連線至相同項目,以區分條件未符合與服務本身無法使用。

指定 Wi-Fi 設定了 Disconnect,為什麼仍然連線?

核對目前 SSID 的完整名稱,確認是否連上名稱相似的另一個頻段或訪客網路,再檢查是否有範圍更廣的連線條件。儲存後重新連上該 Wi-Fi,並觀察系統 VPN 狀態;不要只依據條件編輯頁的開關判斷。

造訪網域沒有觸發連線,是規則寫錯了嗎?

先檢查 Settings → On Demand 的網域欄位是否誤填完整網址,再確認測試請求確實重新進行網域解析,並核對網域評估動作。Config 中的 DOMAIN-SUFFIX 只能用於流量分流,不能取代系統按需連線條件。

已自動連線,為什麼存取結果仍不如預期?

返回 Home → Global Routing 確認目前的處理方式;若使用 Config,請檢查目前設定中 DOMAIN-SUFFIX、IP-CIDR、GEOIP 與 FINAL 的順序。即使已成功觸發連線,目標請求仍可能符合 DIRECT 或其他策略;此時應繼續檢查分流設定,而非重複新增 On Demand 條件。

若曾刪除系統 VPN 設定,請先返回 Shadowrocket 手動連線並完成必要的系統授權,再確認 On Demand 是否已重新儲存。若正在測試的系統 VPN 設定並非 Shadowrocket 對應項目,請先選取正確設定,避免將另一份設定的狀態誤認為本次測試結果。

App Store 正版確認 →