Shadowrocketのバックグラウンド消費電力は?On Demandの設定でバッテリーを節約する方法

常時接続とOn Demandは、バッテリー消費と利便性のバランスが異なります。バッテリー使用状況の確認方法と、Wi-Fi・モバイル通信ごとの接続条件の設定方法を解説します。

この記事の要点

Shadowrocketのバックグラウンド消費電力は、VPNアイコンやバッテリー使用状況の順位だけでは判断できません。まず同じ使用条件でバッテリー残量の変化を記録し、Settings → On Demandでネットワークごとの接続条件を設定します。不要な接続や接続失敗時の再試行を減らすことがポイントで、アプリを何度も終了する必要はありません。自分で用意した接続情報があり、自動接続とバッテリー持ちのバランスを調整したいiPhone・iPadユーザー向けの記事です。

まず結論:接続時間だけでは実際の消費電力はわからない

Shadowrocketで接続すると、システムのネットワーク拡張機能がアプリを前面に表示していない間も通信を処理できます。アプリの画面を閉じてもトンネルが停止するとは限りません。また、バックグラウンドで動作していても、その間ずっと高負荷とは限りません。消費電力は通信量、電波状況、接続の再試行、暗号化処理、ほかのアプリの通信状況によって変わります。

On Demandは、設定した条件に応じてシステムが接続の開始・維持を判断する機能です。バッテリー節約のスイッチでも、すべてのアプリがアイドル状態になったら接続を切るタイマーでもありません。ほぼすべてのネットワークで接続する設定なら、常時接続に近い使い方になります。条件を細かく分けすぎると、ネットワーク切り替え時に再接続が増えることがあります。

ネットワーク条件の変化 システムが条件を判定 トンネルを確立 ルールに照合 リクエストを送信

2つの設定を分けて考えましょう。On Demandは接続条件を管理し、Global Routingは通信の経路を管理します。Global RoutingをDirectにしてもVPNが停止するわけではありません。Configを使って一部のリクエストがDIRECTに一致しても、システムのトンネルが解除されるとは限りません。省電力を調べる際は、「接続しているか」と「接続後に通信がどこへ向かうか」を分けて記録してください。

システムのBatteryで比較できる記録を取る

まずiPhoneまたはiPadのSettings → Batteryを開き、使用状況のグラフ、対象の時間帯、アプリのアクティビティを確認します。システムの表示言語によっては、メニューが「設定 → バッテリー」と表示されます。期間や詳細項目は実際の画面で確認してください。気になる変化があった時間帯を選び、1日の合計と1時間の体感を比べるのは避けましょう。

  1. 時間帯を選ぶ

    システムのSettings → Batteryで確認したい時間帯を選び、開始時と終了時のバッテリー残量、画面の使用状況、Shadowrocketの使用割合を記録します。充電中だったかどうかも記入してください。

  2. 条件をそろえる

    同じ場所、同じWi-Fi、近い画面輝度、同じような使い方にそろえます。通信量が大きく変わる大容量ダウンロードや写真の同期を一時停止してから、接続方法を比べてください。

  3. 基準値を記録する

    まず現在の設定のまま、たとえば60分間のまとまった時間を観察します。動画再生の有無、画面をロックしていた時間、ネットワークの切り替えがあったかを記録してください。60分は比較のための時間であり、バッテリー持ちを保証するものではありません。

  4. 変更は1項目だけ

    次の観察では、On Demandのネットワーク条件を1つだけ変更し、ほかの設定はそのままにします。同じ長さの時間帯でもう一度確認し、接続、DNS、ルールを同時に変更しないようにしてください。

バッテリー一覧の割合は通常、選択した時間帯における各項目の相対的な使用量を示すもので、アプリがバッテリー残量を何ポイント消費したかを表すものではありません。たとえば、端末の残量が80%から70%に減り、アプリの使用割合が20%と表示されても、「そのアプリがバッテリーを20%消費した」とは言えません。システムの集計には使用量の割り当てや丸め処理も含まれるため、正確な電力量計として扱わないでください。

2つの観点
接続条件と通信ルーティングを分けて確認
1項目
比較ごとに変更する設定は1つだけ
60分
1回の観察に使える時間の例。実測結果ではありません

結論:まず端末全体のバッテリー残量を比較

アプリの使用割合が増えても、同じ条件で端末全体のバッテリー減少が増えていないなら、まずは様子を見ましょう。表示順位だけを根拠にプロトコルを変更したり、設定をすべてリセットしたりする必要はありません。

Settings → On Demand:ネットワークごとの接続条件を設定

ShadowrocketのSettings → On Demandを開き、オンデマンド接続のメインスイッチとネットワーク条件を確認します。ここで設定するのはシステムの自動接続動作であり、サブスクリプションの更新頻度ではありません。項目の表示はアプリの画面によって異なる場合があります。Wi-Fi、モバイル通信、SSIDの条件で選べる項目は、アプリに現在表示されている内容を確認してください。ネットワーク名を接続先サーバーのアドレス欄に入力しないでください。

  1. 現在の設定を記録する

    まずSettings → On Demandの現在のスイッチ、Wi-Fi条件、モバイル通信条件を記録します。SSID条件を設定済みなら、項目ごとに確認し、互いに矛盾する条件を追加しないようにしてください。

  2. Wi-Fiを設定する

    Wi-Fi接続時に自動接続するか、実際の使い方に合わせて決めます。SSIDごとに設定できる場合は、よく使うネットワークごとに条件を指定できます。SSIDはWi-Fiのネットワーク名であり、パスワードではありません。

  3. モバイル通信を設定する

    モバイル通信の接続条件も個別に確認します。外出中も現在の接続を必要とするサービスを継続して利用するなら、該当する自動接続条件を残してください。たまにしか使わない場合は、手動で接続する方法も選べます。

  4. ネットワーク切り替えを確認する

    保存後、Wi-Fiからモバイル通信に切り替え、さらにWi-Fiに戻します。切り替えのたびにシステムが処理を終えるまで待ち、Homeで接続状態を確認してください。Safariで普段使うページを開き、実際に通信できることも確かめます。

  5. 画面ロック後を確認する

    画面をロックしてからロックを解除し、接続の再確立が繰り返されたり、ページの読み込みが長引いたりしないか確認します。接続を一時停止する場合は、先にOn DemandをオフにしてからHomeで切断してください。そうしないと、自動接続条件が再び適用されることがあります。

常時接続・オンデマンド接続・手動接続の選び方

選ぶ基準は通信を途切れさせないことです。どの方法でも必ずバッテリーを節約できるわけではありません。安定したネットワークで接続を維持すれば、手動操作を減らせます。関連する通信を長時間まったく使わないなら、接続を停止することでトンネルの動作を抑えられます。On Demandはその中間に位置し、条件が実際の使い方に合っているかどうかで効果が変わります。

接続方法利用シーン確認ポイント
接続を維持現在の接続を必要とするサービスを継続して利用する接続の安定性、継続的な通信や接続失敗時の再試行がないかを確認
On DemandWi-Fi・モバイル通信の条件に応じて自動接続切り替え後の状態が想定どおりか、条件が繰り返し適用されていないかを確認
手動接続短時間の作業だけで使う自動接続をオフにして手動で切断し、次回の使用時に再接続する

モバイル通信の電波が弱い、またはアクセスポイントが頻繁に切り替わる場合、消費電力の増加は無線通信や再試行が原因かもしれません。まず安定したWi-Fiで再度確認してください。遅延テストで数値が表示されても、その時点のテストリクエストに応答があったことしかわかりません。長時間の接続、DNSクエリ、Webリクエストが常に正常とは限りません。

結論:使い方に合わせて自動接続の範囲を絞る

外出時だけ自動接続が必要なら、まず既知のWi-Fiの条件だけを調整し、その後モバイル通信で確認します。接続時間を短くするためにすべての条件を一度にオフにすると、継続して使う必要がある通信が途切れることがあります。

再接続を繰り返す場合は、省電力より先にエラーを確認

接続状態が頻繁に変わる場合は、Settingsのログ関連項目を開き、異常が起きた時刻の前後の記録を残してください。以下はネットワークログに表示されることがあるエラーの原文です。前後の表示は接続内容やアプリ内の記録によって異なります。バッテリー警告ではなく、エラーが1件あっただけでサーバー側またはクライアント側の不具合と断定することもできません。

エラー:connection refused

原因:接続先または中継機器が接続を拒否しています。アドレス、ポート、サービスの待ち受け状態を確認してください。

対処法:Homeで現在の接続先アドレスとポートを、自分が利用しているサービスの情報と照合し、該当サービスが利用可能であることを確認してから再テストしてください。

エラー:i/o timeout

原因:読み取りまたは書き込みが制限時間内に完了しませんでした。通信経路でのパケット損失、接続先からの応答がないこと、ネットワーク制限などが考えられます。

対処法:まず同じ接続を安定したWi-Fiで再確認し、モバイル通信の場合と比べます。発生時刻を記録し、連続した再読み込みやテストで余計な通信を増やさないようにしてください。

ネットワークの切り替え後だけ問題が起きる場合は、On Demandの条件と切り替え後の接続状態を確認してください。同じ接続が異なるネットワークでも失敗し続ける場合は、接続パラメータとサービスの状態を確認します。プロトコル名だけで消費電力の順位が決まるわけではありません。通信環境、サーバーの応答、実際の通信量によって結果は変わります。

ConfigとDNS:ルーティングの問題をバックグラウンド消費電力と混同しない

HomeでGlobal Routingの現在の選択を確認します。Configを使っている場合は、Configで有効な設定ファイルも確認してください。Proxy、Direct、Config、Sceneは通信の処理方法に関する選択肢であり、Settings → On Demandの接続条件設定の代わりにはなりません。Sceneを使っている場合は、名前だけでなく、実際に関連付けられている設定も確認します。

以下のルール例は照合順序を示すためのもので、省電力用の設定ではありません。設定ファイル全体にそのまま上書きしないでください。ルールは上から順に照合され、FINALは最後に置きます。DIRECTに一致したリクエストは接続先へ直接送信されますが、システムのトンネルは引き続き動作する場合があります。

[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

接続状態が安定しているのにWebページの読み込みが終わらない場合は、DNSとルールの照合結果を個別に確認します。名前解決に失敗するとアプリがリクエストを再試行することがありますが、それだけで消費電力のすべてをDNSのせいにはできません。カスタムDNSまたはDNS over HTTPSを使っている場合は、現在のネットワークから名前解決先に到達できることを確認してください。バッテリー比較の同じ回でDNS、ルール、プロトコルを同時に変更しないでください。

設定後の確認リスト

調整後は、Wi-Fiとモバイル通信の切り替え、画面ロックからの復帰、通常の使い方での確認をそれぞれ一度以上行います。結果を最初に記録したBatteryの状況と比べ、安定していて使い方に合う設定を選んでください。接続失敗が続く状態では再試行によってテスト負荷が変わるため、バッテリー持ちを比較するのに適しません。

ShadowrocketはAppleプラットフォーム向けの有料クライアントで、主にiPhone・iPadで利用できます。システム要件とデバイスの互換性はApp Storeの掲載内容をご確認ください。アプリは買い切りですが、クライアントの購入と接続サービスのプランは別です。この記事では、ユーザーがすでに持っている接続情報とシステムの接続動作の管理方法のみを説明します。

App Storeで正規アプリを確認