Shadowrocket(小火箭)的 On Demand 用來決定何時自動建立連線,並非自動省電開關。排查背景耗電時,應先分辨持續傳輸、反覆重新連線與正常待機,再選擇網路條件。本文適合已備妥連線資訊的 iPhone、iPad 使用者:先記錄基準,再設定 Wi-Fi 或行動網路條件,最後以相同時長進行對照測試,確認設定取捨。
先判斷:背景活動不等於異常耗電
系統「設定」→「電池」中的 App 用量占比,是所選時間範圍內的相對耗電分布,並不代表此 App 直接消耗了多少電池百分比。其他 App 的用量減少時,Shadowrocket 的占比可能上升,即使裝置總耗電量沒有增加。請先查看整體電量曲線、螢幕活動與對應時段,再判斷是否需要調整。
連線建立後,即使主畫面未顯示,網路延伸功能仍可在背景處理請求。背景同步、訊息更新、照片傳輸與連線維護都可能產生負載。將 App 從最近使用列表滑掉,也不能證明通道已停止;請核對 Home 的連線狀態與系統 VPN 狀態。
如果電量主要在行動網路訊號弱、網路頻繁切換或大量上傳時下降,應先處理這些狀況。訊號品質與實際傳輸量對結果的影響,可能大於連線開關的狀態。不要只根據一次用量占比截圖,就把所有耗電歸因於 On Demand。
了解差異:分開設定連線時機與流量處理方式
On Demand 使用系統的按需連線機制,依據已設定的條件決定是否發起連線。條件持續符合時,連線可能一直維持;它不保證每個請求完成後立即中斷,也不代表鎖定螢幕後會自動停止。如果規則等同於「目前網路一律保持連線」,實際效果可能接近持續連線。
Global Routing 負責處理連線中的流量路徑:Proxy 會讓受接管的流量經由代理,Direct 會直接連線,Config 依目前設定中的規則處理,Scene 則用來依情境選擇相應策略。Direct 不等於關閉 VPN;選擇 Config 也不等於啟用 On Demand。這兩處設定不能互相取代。
手動基準
建議排查期間先關閉 On Demand,以 Home 開關控制連線。維持原有的 Global Routing 與設定不變,觀察同一網路下的待機情況,減少自動重新連線對判斷的干擾。
適用情況:初步排查耗電、確認連線是否反覆恢復
持續連線
在需要的時段保持連線,減少臨時發起連線時的等待。代價是仍可能需要維護連線並處理背景請求;實際耗電取決於傳輸量、協定行為與網路穩定度。
適用情況:持續作業、需要連線的背景工作
依條件連線
透過 On Demand 限定自動連線的網路條件。縮小條件範圍可能減少不必要的連線時段,但頻繁切換網路也可能增加重新連線次數,務必在實際裝置上測試。
適用情況:網路使用模式明確,且能維護條件規則
操作步驟:先建立可還原的測試基準
本節不需更換伺服器或協定,也不必重設所有設定。先記錄目前狀況,每輪只變更一個變數;否則即使耗電情況改善,也無法判斷是哪項調整發揮作用。On Demand 可用的條件與編輯項目以目前介面為準,請勿將設定檔中的分流規則當成這裡的開關。
-
記錄目前設定
在 Home 記下選用的伺服器與 Global Routing;在 Config 記下目前使用的設定。保留原有設定紀錄,暫時不要更新設定或更換協定。
-
關閉按需連線
前往 Settings → On Demand,關閉按需連線,再回到 Home 手動關閉連線。稍候確認連線仍維持關閉,排除既有的系統自動連線設定仍在作用。
-
測量基準
選擇穩定的 Wi-Fi,暫停大型檔案傳輸,記錄起始電量、時間與訊號狀況。先測量手動連線時的待機情況,再於可接受工作中斷的時段測量斷線狀態。
-
加入條件
返回 Settings → On Demand,依目前編輯器提供的網路條件設定自動連線。先測試一種網路,不要同時加入多個 Wi-Fi 例外與網域條件。
-
驗證切換
分別測試鎖定螢幕後喚醒、從 Wi-Fi 切換至行動網路,以及返回原本的 Wi-Fi。每次都查看 Home 狀態,並以相同的網路服務請求確認是否正常;若有異常,先還原剛才記錄的基準設定。
條件取捨:Wi-Fi、行動網路與網域
Wi-Fi:依實際工作需求決定是否連線
如果某個 Wi-Fi 環境中的工作不需要連線,可在目前介面支援的條件中,將該網路排除於自動連線範圍之外。如果背景工作仍需存取相同資源,就應維持連線或改用手動控制。Wi-Fi 名稱只能用來比對條件,不能單憑名稱判定網路可信,也不能保證服務一定能直接連線。
行動網路:先觀察訊號與切換次數
移動途中,訊號變化、網路切換與連線恢復可能同時發生。可選擇確有需要時才手動連線,也可保留行動網路下的自動連線,以支援背景服務。兩者取捨在於連線可用性與維護負擔,並沒有固定的省電排序;測試時不要同時修改系統的行動數據策略。
網域:分清連線觸發條件與分流比對
系統的按需機制可能涉及網域解析條件,但 Shadowrocket 是否能直接編輯相關條件,請以 Settings → On Demand 中的實際選項為準。解析條件不等於「開啟某個 App 就連線」;既有 DNS 快取、已建立的連線,以及直接存取 IP 的請求,都可能導致結果與預期不同。如果目前介面沒有網域條件的編輯入口,請勿用 Config 規則代替。
- 連線觸發:由 On Demand 條件與系統評估決定,重點是「何時建立連線」。
- 規則分流:在 Global Routing 選擇 Config 後,由設定規則決定受接管請求的處理方式。
- 語法範例:
DOMAIN-SUFFIX,example.com,PROXY表示該網域後綴使用 PROXY;這不會單獨啟用系統按需連線。 - 預設規則:
FINAL,DIRECT是前面的規則都未符合時採用的處理方式;它不是「閒置後中斷」指令。
使用網域條件前,先確認需求是自動建立連線,還是依網域分流。如果只是想減少經由代理路徑傳送的請求,應檢查 Config 中的規則是否命中;如果目的是在某些網路環境下不建立連線,才應調整 On Demand。混淆這兩個層面,容易誤以為「規則已經改了,VPN 卻還在」。
對照紀錄:勿將測試方案當成省電結論
以下是可實際執行的紀錄方案,不是預先測得的耗電數據。建議每組測試 60 分鐘;條件許可時,重複兩輪。電量顯示可能有四捨五入誤差,溫度、訊號與背景工作也會變動;若一組只差 1 個百分點,不足以判定某種設定能穩定省電。
| 測試組別 | 固定條件 | 紀錄內容 |
|---|---|---|
| 手動連線待機 | 關閉 On Demand;固定使用 Wi-Fi;Home 連線開啟 | 起始與結束電量、螢幕活動、是否持續傳輸 |
| 手動中斷待機 | 關閉 On Demand;使用相同 Wi-Fi;Home 連線關閉 | 起始與結束電量、工作是否中斷、是否自動恢復連線 |
| 按需連線待機 | 啟用單一網路條件;其他設定與第一組相同 | 起始與結束電量、連線狀態變化、請求是否需要等待 |
| 網路切換驗證 | 維持相同的網路服務請求;在 Wi-Fi 與行動網路間往返一次 | 切換時間、連線能否恢復、是否持續失敗 |
如果「手動連線待機」的狀況穩定,但「按需連線待機」反覆恢復連線,應先檢查條件是否衝突、網路是否頻繁變動。如果兩組都持續傳輸,應先找出背景工作來源。如果只有行動網路的耗電明顯增加,先在訊號穩定處重新測試,再考慮其他設定,避免將無線網路負載誤認為協定問題。
常見問題:鎖定螢幕、通知與背景設定
鎖定螢幕後仍顯示 VPN,是設定沒有生效嗎?
不一定。鎖定螢幕後,On Demand 條件仍可能符合。請先前往 Settings → On Demand 檢查條件,再對照 Home 的連線狀態。VPN 標示只能協助判斷連線狀態,無法顯示即時耗電;若要測試完全中斷的狀態,請先停用 On Demand。
關閉背景 App 重新整理就能停止連線嗎?
系統的背景 App 重新整理與 VPN 網路延伸功能屬於不同機制,不能用前者取代中斷連線。其他設定維持不變,先關閉 On Demand,再於 Home 中斷連線,並觀察系統 VPN 狀態是否同步變更。
啟用按需連線後通知變慢,該怎麼查?
先還原先前可正常接收通知的連線狀態,確認問題是否消失。接著分別測試 Wi-Fi 與行動網路,記錄通知延遲是否只在自動連線尚未建立時發生;同時檢查系統通知權限、專注模式與目標 App 自身的背景設定。
改用 Direct 會更省電嗎?
Direct 會改變受接管流量的處理路徑,但不等於停止網路延伸功能。若要測試中斷連線後的待機情況,應先關閉 On Demand,再關閉 Home 連線。不要以 Global Routing 的 Direct 組代替中斷連線組。
設定完成後需要每天重新測試嗎?
不需要。保留兩輪條件相近的紀錄後,日常只要觀察連線是否穩定即可。更換網路環境、修改 On Demand 條件,或出現持續異常耗電時,再按相同流程重新測試;每輪只調整一個變數。
最終應保留能滿足實際需求,且切換後表現可預期的設定,而不是追求背景紀錄歸零。Shadowrocket 是閉源商業 App,主要供 iPhone、iPad 使用;唯一取得管道為 App Store。系統需求與適用的購買範圍,請以 App Store 頁面標示為準。購買 App 與使用者已有的連線服務是兩回事;本文只討論本機設定與驗證方式。