Shadowrocket 背景耗電排查:On Demand 按需連線設定教學

了解背景連線與 On Demand 按需連線對耗電的影響,學會依使用情境設定 On Demand,並查看 iPhone 電池用量。

本文重點

Shadowrocket(小火箭)的 On Demand 可依條件自動建立 VPN 連線,並非能一律降低耗電的開關。本文適合遇到鎖定螢幕時耗電、斷線後自動重連,或切換網路時反覆連線的使用者:先查看 iPhone 電池用量記錄,再設定觸發條件,最後在相同條件下進行比較,判斷連線維持、實際流量與失敗重試各自造成的影響。測試連線須使用自己已有的伺服器設定或訂閱。

一、先分清背景連線、流量與自動觸發

離開 Shadowrocket 的前景畫面,不代表系統 VPN 通道已停止。系統的網路延伸功能仍可繼續處理流量,因此不能只憑 App 未顯示在畫面上,就判斷它是否仍在運作。反過來說,狀態列顯示 VPN 標誌,也不代表裝置一直以高負載傳輸;閒置連線與持續下載的耗電量不能混為一談。

On Demand 的作用是讓系統依據設定條件決定是否自動建立連線。它不代表「只有開啟特定 App 時才連線」,也不保證每次鎖定螢幕時都會斷線。背景同步、網路變更或符合條件的網路存取,都可能伴隨連線活動;實際觸發情況取決於目前規則與系統行為。

網路條件變更 系統檢查條件 建立通道 處理網路要求 記錄連線結果

常駐連線可能需要維持工作階段;重新連線則可能涉及 DNS 查詢、傳輸連線與加密交握。若 On Demand 使短時間內重複連線增加,省下的閒置維護耗電未必足以抵銷重新建立連線的耗電。因此應先確認「連線是否穩定」,再評估「是否應自動連線」。

二、從 iPhone 電池記錄建立排查基準

開啟 iPhone 的「設定 → 電池」,查看系統提供的時間範圍與活動明細,再選擇發生異常耗電的時段。不同系統版本的圖表和篩選入口可能不同,請以裝置實際顯示為準。留意電量下降是否同時伴隨螢幕使用、背景活動,以及其他 App 大量存取網路;不要只看 App 清單中的單一百分比。

3 項
同步記錄:電量變化、螢幕活動、網路類型
1 項
每輪只變更一項設定,其餘條件維持一致
60 分鐘
可採用的單輪觀察時間,並非節電效果保證
  1. 記錄起始狀態。記下時間、電量、Wi-Fi 或行動網路、訊號狀況,以及是否正在充電。測試期間避免充電,也不要執行系統更新等高負載工作。
  2. 固定使用方式。測試鎖定螢幕時就維持鎖定;測試瀏覽網頁時則使用相近的瀏覽內容。不要拿一次播放影片的結果和一次待機的結果比較。
  3. 查看指定時段。核對電池圖表中的活動時間,區分螢幕開啟與背景活動。App 用量百分比通常代表所選時段的耗電占比,不等於電池電量實際下降的百分點。
  4. 重複觀察。短時間的電量顯示有其精確度限制。單次差一、兩個百分點,還不足以證明設定有效;應在相近條件下重複測試,並參考連線記錄判斷。

結論:先對照時間,再判斷原因

只有當電池異常時段與反覆連線、要求失敗或持續傳輸的時間相互吻合,才值得沿著這條線繼續排查。單看背景用量排名,無法證明耗電原因就是 On Demand。

三、Settings → On Demand 設定與驗證步驟

修改前,先在 Home 確認目前使用的伺服器,並在 Config 記下目前啟用的設定。這樣可避免排查時同時更換伺服器、路由模式和自動連線條件,最後無法判斷是哪項變更影響結果。若對訂閱內容或連線參數有疑問,請向自己的服務商確認。

  1. 進入設定。開啟 Shadowrocket,前往 Settings → On Demand,確認目前是否已啟用及現有條件。記下原本狀態,以便還原。
  2. 先進行關閉對照。暫時關閉 On Demand,再返回 Home 手動中斷連線。在不需要透過通道存取網路的測試時段,觀察是否仍會自動連線。
  3. 指定目標網路。若希望依網路環境自動連線,請啟用 On Demand,並依頁面實際提供的網路類型或網路比對條件設定。若目前介面提供 SSID 條件,請填入裝置實際連線的 Wi-Fi 名稱,並留意空格和大小寫。
  4. 從單一條件開始。先驗證一項條件,不要一次加入多項可能重疊的比對條件。不要直接將「未填寫限制」理解為「不會觸發」,應依照介面說明和實際連線結果確認。
  5. 測試進入與離開網路。分別測試進入目標網路、離開目標網路,以及鎖定螢幕後恢復使用。每次都檢查 Home 的連線狀態;若透過 iPhone 的「設定 → 一般 → VPN 與裝置管理 → VPN」查看系統設定,請留意不要誤改其他用途的設定。
  6. 確認中斷方式。若要維持中斷狀態,請先關閉 On Demand,再前往 Home 中斷連線。若只操作 Home 的連線開關,下次符合條件時可能會再次連線。

四、依使用情境選擇常駐、按需或手動連線

設定目標應是減少不必要的連線變動,同時滿足實際存取需求。每天長時間需要透過通道存取資源的使用者,維持穩定連線可能比反覆重新連線更合適;偶爾使用的話,手動連線通常更容易掌控。On Demand 適合觸發條件明確的情況,不應用來取代對連線用途的判斷。

使用情境 可測試的設定 優先觀察項目
一天中持續存取需要通道的資源 維持穩定連線,並與目前的 On Demand 設定比較 是否有持續流量、失敗重試或頻繁重新建立連線
每天只使用短時間 關閉 On Demand,需要時在 Home 手動連線 使用完中斷後,是否能維持中斷狀態
只在特定網路環境使用 使用 On Demand 實際支援的網路條件 進入或離開該環境時,連線行為是否符合預期
經常在 Wi-Fi 與行動網路之間切換 先減少重疊條件,並維持伺服器不變 網路切換時間是否與連線失敗重疊

訊號微弱、尚未完成入口網站驗證的 Wi-Fi,以及網路切換,都可能導致無法建立連線。例如,剛連上公共 Wi-Fi 時,應先完成網路要求的驗證,再測試通道;不要靠反覆切換開關,試圖解決底層網路尚未就緒的問題。行動網路訊號微弱時的耗電,也可能來自無線通訊本身,不一定是 Shadowrocket 造成。

五、反覆連線時,先查看錯誤再調整參數

如果連線記錄重複出現失敗,請先記下錯誤時間、使用的網路和目標伺服器,再與電池圖表對照。以下列出網路診斷中常見的英文錯誤訊息;實際大小寫、前綴和附帶資訊可能不同,請保留裝置顯示的完整原文。這些訊息只能提供排查方向,不能單憑一筆記錄下結論。

錯誤:Connection refused

原因:通常表示目標位址的連接埠拒絕連線,可能是服務未在該連接埠監聽、連接埠填寫錯誤,或網路設備主動拒絕連線。

處理方式:依照現有設定確認伺服器位址、連接埠和協定,再向自己的服務商確認服務狀態;不要為了排除錯誤而任意將連接埠改成 443。

錯誤:Operation timed out

原因:操作未能在指定時間內完成,可能與網路無法連線、封包遺失、目標沒有回應或連線路徑受限有關。

處理方式:維持設定不變,改用另一種自己可使用的網路重新測試;若只有在某個網路上失敗,先檢查該網路,再檢查伺服器。

錯誤:Network is unreachable

原因:目前的連線路徑無法使用,常見於網路介面切換或底層網路尚未恢復的時段。

處理方式:先確認裝置能正常連上網路,等待網路穩定後再試,並檢查 On Demand 是否在切換網路期間反覆觸發。

單次失敗後恢復,不一定代表異常;應留意失敗和重連是否密集反覆發生,且在沒有有效傳輸時仍持續出現。不要同時修改 DNS、伺服器、協定和 On Demand,否則即使問題消失,也無法確認真正原因。分享涉及登入憑證或訂閱連結的記錄前,請先遮蔽敏感資訊。

六、Global Routing 與規則會改變流量路徑,不能取代中斷連線

在 Home 查看 Global Routing 時,應分清路由策略和通道開關。選擇 Direct 會改變要求的對外連線方式,不代表關閉系統 VPN;選擇 Config 則會依照目前設定處理要求。On Demand 管理的是自動連線條件,兩者作用層面不同,不能以「已選擇 Direct」證明背景通道已停止。

如果目標是只讓指定網站走代理,可以先備份,再檢查 Config 中的規則和排序。以下僅說明語法;example.com 是示範網域,PROXY 在實際設定中必須對應到可用的策略。此範例不是通用的省電設定,也不應直接覆蓋正在使用的完整設定。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

同樣地,不應為了省電而盲目更換 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 或 WireGuard。協定、傳輸方式、伺服器品質與目前網路環境都會影響結果,且既有伺服器必須支援相應設定。只憑協定名稱,無法預測 iPhone 在特定網路下的耗電量。

七、以可重現的對照結果完成排查

建議將排查分成三輪:完全中斷、手動維持穩定連線,以及啟用條件明確的 On Demand。每輪使用相近的測試時間和內容,並維持相同網路、伺服器與路由設定。這是測試方案,不代表日常使用時需要不斷切換連線。

  1. 完全中斷測試。關閉 On Demand 並中斷連線,記錄該情境下裝置的基礎耗電量。若此時仍有明顯異常,請繼續檢查螢幕活動、其他 App、訊號和系統工作。
  2. 穩定連線測試。保持 On Demand 關閉,手動建立連線。觀察在相同流量下,是否出現異常發熱、反覆錯誤或大量背景要求。
  3. 自動連線測試。啟用已驗證的單一條件,檢查連線次數是否明顯增加,以及這些變化是否與電量快速下降的時段重疊。
  4. 保留記錄。記下每輪開始和結束時的電量、時間、連線狀態及錯誤訊息原文。若需進一步排查,這些資料比「背景很耗電」之類的描述更有用。

結論:只保留符合實際使用需求的自動條件

若自動連線測試中反覆重新建立連線,而手動穩定連線測試正常,請先修正 On Demand 條件;若兩種連線測試都異常,應優先檢查網路、伺服器和持續要求。不要把每次耗電變化都歸因於同一個開關。

最終設定應兼顧可用性與可驗證性:需要連線時能成功建立,不需要時能維持中斷,切換網路後也不會持續失敗。完成這輪測試後,再決定採用常駐、按需或手動連線,不要只憑一次電池百分比做選擇。

App Store 正版入口 先確認開發者與 App ID