Shadowrocketのバックグラウンド消費電力を確認|On Demandの自動接続を使う場合・使わない場合

iOSのバッテリー使用状況から消費電力の原因を確認し、On Demandの自動再接続条件と、Wi-Fi・モバイル通信での省電力設定を解説します。

この記事の要点

ShadowrocketのOn Demandは、条件に応じてVPN接続を開始する仕組みであり、省電力スイッチではありません。まずiOSのバッテリー統計の対象時間をそろえ、継続的な通信、ネットワークの切り替え、接続の再試行を分けて確認しましょう。利用中のサービスやサブスクリプションがあり、バックグラウンド消費電力の原因を調べたい方に向けて、設定を有効にするかどうかの判断材料と、変更を一つずつ検証する手順を紹介します。特定の設定が必ず省電力になるとは限りません。

1. iOSのバッテリー使用状況を確認し、割合だけで消費電力を判断しない

iPhoneまたはiPadの「設定」で「バッテリー」を開き、問題が発生した日付と時間帯を選んで、アプリごとのバッテリー使用状況、画面アクティビティ、バックグラウンドアクティビティを確認します。項目の場所や名称はOSのバージョンによって異なる場合があります。実際の画面表示を確認してください。開始時と終了時のバッテリー残量、充電の有無、そのときの接続先がWi-Fiかモバイル通信かも記録します。

バッテリー一覧の割合は、通常、選択した時間帯における消費量の内訳を示すもので、端末のバッテリー残量が同じ割合だけ減ったという意味ではありません。たとえば、その時間帯に端末全体の残量が10ポイント減り、あるアプリの割合が20%と表示されても、そのアプリだけで端末全体の残量が20ポイント減ったとは限りません。バックグラウンドアクティビティの時間が長くても、プロセッサがずっと高負荷で動作していたとは限りません。

  1. 時間帯をそろえる:異常なバッテリー減少が起きた時間を選び、数分間のネットワーク障害を1日分の統計で説明しないようにします。
  2. 実際のタスクを確認する:写真の同期、ファイル転送、動画再生などの状況を記録します。通信がVPNのネットワーク拡張を経由している場合、アプリごとの割合だけでは、最初に通信を開始したアプリを特定できません。
  3. 明らかな要因を除外する:電波の弱さ、端末の発熱、充電、システムのバックグラウンドタスクを記録します。これらは端末全体の消費電力に影響します。
  4. 基準値を記録する:変更前に、Homeの接続状態、Global Routingの選択項目、Settings → On Demandの設定を記録します。

2. On Demandの起動条件とバックグラウンドでの動作

ShadowrocketのSettings → On Demandを開き、メインスイッチと、画面に表示されるネットワーク条件を確認します。On Demandを有効にすると、条件付き接続ルールがシステムに渡されます。ネットワーク条件、ルールの動作、システムの接続判定がそろった場合、システムがVPN接続を開始することがあります。有効にしても、画面をロックすると必ず切断されるわけではありません。また、通信のたびにトンネルが新しく作られるわけでもありません。

ネットワーク条件が変化 システムがルールを評価 接続動作を開始 トンネルを確立 以降の通信を処理

Wi-Fiからモバイル通信への切り替えや、Wi-Fiへの再接続によって、システムがルールを再評価することがあります。接続するかどうかは、実際の設定とネットワーク状態によります。確立済みの接続も、ネットワークの切り替え時に復旧または再確立されることがあります。こうした復旧動作のすべてをOn Demandが原因だと決めつけないでください。サーバーに到達できない、認証に失敗する、基盤となるネットワークが不安定といった問題は、個別に確認します。

日常的な切断方法として、アプリスイッチャーからShadowrocketを終了することはおすすめしません。アプリの画面と、システムが管理するVPNネットワーク拡張はライフサイクルが異なります。画面を閉じても、接続スイッチやオンデマンドルールの確認にはなりません。

3. Wi-Fiとモバイル通信で設定を使い分ける

設定は「Wi-Fiでは必ず有効、モバイル通信では必ず無効」と一律に決めるのではなく、利用目的とネットワークの安定性を基準に選びます。固定のWi-Fiで長時間低トラフィックの接続を維持する場合と、移動中に基地局を頻繁に切り替え、接続を何度も再試行する場合では、消費電力の条件が異なります。まず接続を安定させてから、自動接続を維持する必要があるか判断しましょう。

状況設定の目安確認ポイント
安定した固定Wi-Fi継続的な接続が必要ならOn Demandを有効にする画面ロック中に大量の同期通信があるか、接続エラーが繰り返し発生していないか
モバイル通信の電波が弱い自動接続を一時的に無効にし、手動接続と比較するバッテリーの減りが電波の弱さや接続の再試行と同時に起きているか確認する
Wi-Fiとモバイル通信が頻繁に切り替わるまず安定した単一のネットワークで検証し、その後、切り替えが発生する環境で確認するエラーが接続中ではなく、ネットワーク切り替え時に集中していないか
短時間だけ接続を使うOn Demandを無効にし、Homeから手動で接続を管理する使用後に接続が切れていることを確認し、以降のタスクで接続が必要か確認する
ログイン認証が必要な公衆Wi-Fi先にネットワークへログインしてからVPNをテストする基盤のネットワークに正常にアクセスできるか、ログイン認証が完了しているか

結論:安定したネットワークで検証してから、自動接続を維持するか決める

固定Wi-Fiでは安定しているのに、ネットワーク切り替え時だけバッテリーの減りやエラーが発生する場合は、まず切り替えの過程と接続先への到達性を確認します。プロトコル、ルール、On Demandを同時に変更すると、どの変更で改善したのか特定できません。

実際の画面でネットワークの種類やSSIDを対象にした条件を設定できる場合は、必要に応じて一項目ずつ設定してテストします。すべてのシステムや画面に同じ選択肢があるとは限りません。特定のネットワーク条件を無効にしても、そのネットワーク上のすべての通信が自動的にDIRECTへ切り替わるわけではありません。

4. 接続エラーが出たら、まず失敗の繰り返しを防ぐ

問題が発生したときは、接続ログに記録された時刻、接続先、エラー内容を確認します。以下はネットワークログに表示されることがある標準的なエラーメッセージで、毎回決まったポップアップが表示されるという意味ではありません。具体的な表示には、システムやプロトコルに関する情報が付く場合があります。一度エラーが出ただけでは消費電力の異常とは断定できません。エラーが頻繁に繰り返され、その時刻がバッテリーの減少と一致する場合に、原因との関連を調べます。

エラー:Connection refused

原因と対処:接続先ポートで待ち受けていないか、接続が明示的に拒否された可能性があります。利用中のサーバーのアドレスとポートを確認し、契約中のサービス提供元にサービス状態を問い合わせます。確認せずにHomeの接続スイッチを何度も切り替えるのは避けてください。

エラー:Operation timed out

原因と対処:接続や読み書きが制限時間内に完了しなかった状態です。経路に到達できない、パケットロスがある、接続先が応答しないなどの原因が考えられます。まず安定したWi-Fiで同じサーバーを再テストし、モバイル通信の結果と比較してください。タイムアウトだけを根拠に認証情報の誤りと判断しないようにします。

  1. エラーの発生時刻を記録し、Wi-Fiの切断やモバイル通信への切り替え直後かどうかを確認します。
  2. Homeで選択中のサーバーを確認し、Connectivity Testでその時点の到達性を調べます。一度成功しただけでは、バックグラウンドでも安定しているとは限りません。
  3. 同じエラーが繰り返し発生する場合は、いったんOn Demandを無効にして接続を切り、ネットワークまたはサーバーの問題が解決してから再テストします。
  4. アドレス、ポート、認証情報が実際に変更された場合に限り、利用中のサブスクリプションを更新します。更新後は選択中のサーバーを再確認してください。サブスクリプションの繰り返し更新は、一般的な省電力対策ではありません。

プロトコルによっても調査の方向は変わります。たとえばHysteria2はQUICをベースとし、UDPを使用します。現在のネットワークでUDPが制限されている場合は、まずプロトコルが到達可能かを確認してください。別のプロトコルがTCPを使用するからといって、すべての端末やネットワークでより省電力になるとは限りません。サーバーのポートは利用中の設定に従い、接続問題を解決しようとして安易に443へ変更しないでください。

5. Global RoutingとOn Demandの役割の違い

On Demandは条件に応じて接続を開始し、Global Routingは接続中に通信をどの経路で処理するかを決めます。役割の異なる設定です。Home → Global RoutingのProxy、Direct、Config、Sceneは、用途に合わせて選択してください。Sceneの動作は該当するシーン設定によって異なるため、固定の省電力モードとみなすことはできません。

Configを使用する場合、DOMAIN-SUFFIXはドメインのサフィックス、IP-CIDRはIPアドレスの範囲、GEOIPはIPアドレスの地域データベースに基づいて照合します。FINALは、それ以前のルールに一致しなかった通信を処理します。DIRECT、PROXY、REJECTはルーティングの結果であり、バッテリー設定ではありません。ルールの順序は結果に影響するため、バッテリー一覧の割合を下げる目的で、必要なルールを安易に変更しないでください。

6. 変更を一つに絞って効果を検証する

以下は記録方法の一例であり、実測したバッテリー駆動時間ではありません。同じ場所、同じネットワーク、近いバッテリー残量で2回観察し、選択するサーバー、Global Routing、画面の状態、バックグラウンドタスクをそろえて、On Demandだけを変更します。各回の開始前にHomeで同じ接続状態にし、「接続しているかどうか」の違いを「オンデマンド接続かどうか」の違いと取り違えないようにします。

2回
On Demandを有効・無効にしてそれぞれ記録
30分
各回の観察時間の目安。駆動時間を保証するものではありません
1項目
1回の検証で変更する設定は1つだけ
  1. 1回目:On Demandを有効にし、接続後に画面をロックします。開始・終了時のバッテリー残量、ネットワークの変化、エラーの時刻を記録します。
  2. 2回目:On Demandを無効にして手動で接続し、同じ条件で観察します。途中で接続が切れた場合は記録し、2回の接続状態が一致しなくなったことを明記します。
  3. 利用状況を追加で比較する:「自動接続を維持する場合」と「使用後に手動で切断する場合」を比較するには、別のテストを行います。そのテストでは接続を維持する時間も同時に変わることを明記してください。
  4. 結果を確認する:システムのバッテリー画面と接続ログを照合します。短時間の差が1〜2ポイント程度なら、観察時間を延ばしてテストを繰り返し、すぐに結論を出さないでください。

結論:説明でき、再現できる設定を選ぶ

継続的な接続が必要でネットワークも安定している場合は、On Demandを有効にしたままにできます。決まった時間だけ使う場合は、手動接続を選べます。無効にしても同じようにバッテリーが減るなら、オンデマンド設定を何度も切り替えるのではなく、継続的な通信、電波の弱さ、接続エラーを調べましょう。

問題が解消したら、日常の設定を一つずつ戻し、戻すたびに実際の接続状態を確認します。契約中のサービス提供元に問い合わせる際は、発生時刻、ネットワークの種類、機密情報を除いたエラー内容を伝えると確認に役立ちます。サブスクリプションのURL、認証情報、接続に関する完全な認証情報は公開しないでください。接続やルールの詳しい操作は、本サイトのチュートリアルとルールマニュアルで確認できます。

App Storeでダウンロード