この記事の要点

Shadowrocketの使用量がバッテリー使用状況の上位に表示されても、接続に異常があるとは限りません。まず集計期間、実際の通信量、ネットワークの安定性を確認し、そのうえでSettings → On Demandを調整するか判断しましょう。この記事は、利用中のサービスとサブスクリプションがあり、待機中のバッテリー消費を調べたいiPhone / iPadユーザー向けです。手順に沿って比較記録を取り、通信の継続、接続の再試行、接続方式それぞれの影響を切り分けます。

1. iOSのバッテリー使用状況を読み、消費が異常か見極める

iPhone / iPadの「設定」→「バッテリー」を開き、画面で選べる集計期間を指定して、Shadowrocketのバッテリー使用量とアクティビティを確認します。グラフや絞り込み方法はOSによって異なるため、実際の画面表示に従ってください。まず、選択した期間全体のデータなのか、特定の時間や日を選んだあとのデータなのかを確認します。

アプリの横に表示される割合は、選択した期間におけるバッテリー使用量の内訳であり、バッテリー容量がその割合だけ減ったという意味ではありません。たとえば、ある期間にデバイスの残量が80%から70%になり、Shadowrocketの使用割合が30%と表示されても、バッテリー全体の30%を消費したとはいえません。充電やほかのアプリの動作、システムによる使用量の割り当てなども解釈に影響するため、2つの数値を単純に掛けて正確な消費量とみなすこともできません。

2. バックグラウンド接続でバッテリーを消費する理由

接続を有効にすると、システムは関連するネットワーク通信をVPNトンネルに渡して処理します。Shadowrocketは現在のGlobal Routingの状態と設定に応じて、その後の通信経路を決定します。その過程では、ルール判定、DNSクエリ、暗号化・復号、接続の維持などが発生することがあります。アプリをバックグラウンドに移しただけでは、システムのトンネルは停止しません。

アプリのリクエスト システムトンネル ルーティング判定 外向き接続 応答の返送

ダウンロードが続けば通信量が増えます。接続が不安定な場合は、ハンドシェイクやタイムアウト待ち、再試行が増えることもあります。画面ロック後も、クラウド同期などシステムが許可するバックグラウンドタスクからリクエストが送信される場合があります。調査では、VPNのアイコンが表示されているかだけでなく、「どれだけ通信が通過したか」「接続失敗が繰り返されていないか」も確認してください。

プロトコル名だけからバッテリー消費を予測することはできません。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardの実際の消費は、サーバー側の設定、通信量、ネットワーク品質にも左右されます。消費を調べるときは、プロトコルと接続方式を同時に変更しないでください。まず、現在利用できている設定をそのままにして確認します。

3. On Demandと常時接続の役割

Settings → On Demandでは、設定した条件に応じてシステムがVPN接続を開始する動作を構成できます。画面を見ている人がいるかどうかを判定する省電力スイッチではなく、Shadowrocketを開いているときだけ接続する機能でもありません。利用できる条件はアプリ内の画面で確認し、有効にする前に既存の設定を一つずつ確認してください。

接続の設定動作と利用場面確認する項目
接続を維持 決められた経路を継続して使う必要がある場合にトンネルを維持し、手動で切断することによる通信の中断を減らします。 通信が継続しているか、ネットワークが安定しているか、再接続を繰り返していないか。
On Demand 設定した条件に応じてシステムに接続を開始させます。ネットワークの利用条件を明確に定められる場合に適しています。 条件の範囲が広すぎないか、ネットワーク切り替え後の動作が想定どおりか、リクエストによって接続が開始されるか。
手動で切断 トンネルが不要な時間帯に適しています。切断後のリクエストは、それまでのトンネル経由ではルーティングされません。 On Demandによって接続が再開される可能性があるか、通信経路の変更が利用中のサービスに影響しないか。

結論:接続条件を確認してから消費量を比較

On Demandを有効にしてもトンネルが接続されたままの場合は、設定が無効だとすぐに決めつけず、起動条件とバックグラウンドのリクエストを確認します。2つのサンプルでネットワーク、通信内容、観察時間が近い場合に限り、バッテリー残量の変化を比較する意味があります。

On DemandとGlobal Routingは別の機能です。前者は接続を開始する条件に関係し、後者は接続後の通信処理に関係します。Global RoutingのProxy、Direct、Config、Sceneは、省電力の段階を示すものではありません。特にDirectはVPNを切断する操作ではありません。Directへの切り替えを、実際に切断したときのテストの代わりにしないでください。

4. 5つの手順で元に戻せる比較テストを行う

まず現在の設定を保存し、Home → Global Routingの選択内容と、Settings → On Demandの現在の状態を記録します。テストのために既存のサブスクリプションを削除したり、設定を再インポートしたりする必要はありません。以下の時間は観察計画の目安であり、どのデバイスでも一定の差が測定できることを保証するものではありません。

  1. 基準値を記録

    システムの「設定」→「バッテリー」で開始時の残量と時刻を記録し、ネットワーク、画面の状態、充電の有無も控えます。たとえば画面をロックして60分間観察し、その間は手動でのダウンロードを一時停止します。

  2. 接続状態を確認

    Homeを開き、現在の接続とGlobal Routingの設定を確認します。利用中の設定は維持し、サーバー、プロトコル、Configを同時に変更せず、まず現在の設定で一度観察します。

  3. On Demandを調整

    Settings → On Demandを開き、現在の条件を確認して記録してから、この項目だけを調整します。スイッチの状態だけで判断せず、Homeに戻って実際の接続を確認し、必要なサービスに一度アクセスしてください。

  4. 同じ条件で再観察

    同じWi-Fi、近い開始時の残量、同じ観察時間で再度確認します。終了時の残量、自動接続の有無、ネットワークの切り替え、アクセスが想定どおりだったかを記録します。

  5. 結果を判断して元に戻す

    残量の差が1ポイントだけなら、すぐに結論を出さず、別の日に再度測定します。アクセスが中断したり、想定外の再接続が起きたりした場合は、まずSettings → On Demandを元の設定に戻してから、条件を個別に確認します。

一方のサンプルは画面を点灯したまま、もう一方は画面をロックしたままにするといった比較は避けてください。片方だけモバイル通信、もう片方はWi-Fiという条件も適切ではありません。デバイスの温度、電波状況、クラウド同期、充電状態によって設定の差が見えにくくなることがあります。ここでは手動で記録し、測定していない「省電力率」は提示しません。

5. 接続の繰り返しやタイムアウトは、実際のエラーに応じて対処

待機中に接続が繰り返し失敗する場合は、On Demandを比較する前にネットワークへの到達性を確認します。以下は接続診断で表示されることのある英語のエラーメッセージです。すべての画面で同じ文言が使われるとは限りません。実際の記録に該当するメッセージがある場合に限り、対応する項目を確認してください。エラーが出ていない場合は、確認項目を埋めるために故障を起こす必要はありません。

エラー:connection timed out

原因:制限時間内に接続先との通信が確立しませんでした。現在のネットワーク、接続先の到達性、サーバーの状態などが原因として考えられます。

対処法:まず通常のネットワーク通信ができることを確認し、利用中の接続先アドレスとポートを照合します。安定したネットワークに切り替えて再確認し、失敗が続く場合は利用中のサービス提供元に状態を確認してください。テストを連続して繰り返す必要はありません。

エラー:connection refused

原因:接続先のポートで接続が拒否されました。ポートの入力違い、サービスが待ち受けていない、または明示的にアクセスが拒否されている可能性があり、On Demandの省電力動作が原因とは限りません。

対処法:利用中のサービスの設定とアドレス・ポートを照合してください。推測で443に変更しないでください。ポートが一致していても失敗する場合は、エラーの発生時刻を記録してサービス提供元に確認を依頼します。

エラー:network is unreachable

原因:現在の環境から接続先に到達できるネットワーク経路がありません。ネットワークの切り替え中や、基本的なネットワーク接続が利用できない場合に発生することがあります。

対処法:Wi-Fiへの接続、またはモバイルデータ通信が利用できることを確認し、ネットワークが安定してから再接続します。ネットワーク切り替え時だけ発生する場合は、切り替え前後の状態を記録し、ルールを同時に変更しないでください。

サブスクリプションの更新とトンネルの維持は、分けて確認してください。更新に失敗した場合に限り、Subscribeに対応する更新操作を確認し、バッテリー消費の調査を目的に何度も更新しないようにします。更新リクエスト自体で通信が発生しますが、一度の失敗だけで、その時間帯のバックグラウンド消費全体の原因だとは判断できません。

6. よくある質問と設定を維持する判断基準

AppスイッチャーでShadowrocketを終了すれば、バッテリー消費は止まりますか?

アプリの画面を閉じただけで、トンネルも停止したと考えないでください。Homeに戻って接続状態を確認し、Settings → On Demandが接続を再開する設定になっていないかも確認します。切断時との比較を行う場合は、システムのVPN状態が実際に変化したことを確認してください。

On Demandを有効にしたのに、画面をロックしても接続されたままなのはなぜですか?

画面ロックは、On Demandが必ず切断する条件ではありません。まずSettings → On Demandの実際の条件を確認し、同期などのバックグラウンドタスクからネットワークリクエストが続いていないかも確認します。VPNの表示を消すために接続条件を安易に削除しないでください。

すべての通信をDIRECTにすると、バッテリー消費を抑えられますか?

DIRECTは通信の出力先を決めるポリシーであり、トンネルを切断する操作ではありません。Home → Global RoutingでConfigを選択している場合は、Config内のルールも通信経路に影響します。バッテリーを一度テストするためにDOMAIN-SUFFIX、GEOIP、FINALをまとめて書き換えないでください。ルールはそのままにし、接続状態だけを一つの変数としてテストします。

バッテリー使用量の順位は高いのに、1時間で少ししか減りません。対処が必要ですか?

まず、対象期間全体の実際の残量低下と通信量を記録します。待機時の動作が想定どおりで接続も安定しているなら、順位だけを根拠に異常とは判断できません。条件をそろえて少なくとも2回観察し、継続して再現する余分な消費があるか確認してください。

プロトコルを変えれば解決しますか?

まず電波の弱さ、継続的な通信、接続の失敗と再試行を確認します。比較が必要な場合は、利用中のサービスが対応している設定だけを使い、ネットワークと通信内容をそろえて、一度に変更する項目は一つにします。プロトコル名だけからバッテリー消費を決めつけることはできません。

設定を維持するかどうかは、次の2点を満たすかで判断します。必要な通信が想定どおりにできること、そして複数回の観察で明らかな異常消費が見られないことです。決められた経路を継続して使う必要がある場合は接続を維持できます。明確な条件を満たしたときだけ接続したい場合は、内容を確認したうえでOn Demandを使います。変更後にアクセスに問題が起きたら、さらに設定を重ねて変更するのではなく、まず元の状態に戻してください。