ShadowrocketがバックグラウンドでVPNトンネルを維持していても、常に高速で通信しているとは限りません。すでに利用中のサービスとサブスクリプションがあり、待機中のバッテリー消費を調べたい方向けに、まずシステムのバッテリー統計を読み解き、On Demandによる自動接続と手動の常時接続を区別します。最後に、同じ時間帯で比較テストを行い、Wi-Fiとモバイル通信それぞれに合った接続方法を選びます。
まずバッテリー統計を確認:消費割合はバッテリー残量の減少幅ではない
iPhoneまたはiPadの「設定」で「バッテリー」を開き、表示できる使用状況の期間を確認して、消費が気になる時間帯を選びます。システム画面はOSのバージョンによって異なる場合があります。記録するのは、対象時間帯のバッテリー残量の変化、画面の使用状況、Shadowrocketの使用割合、バックグラウンドアクティビティの有無の4項目です。1日分の集計割合を、10分間の接続テストと直接比較しないでください。
バッテリー画面のアプリ別消費割合は通常、選択した時間帯に消費した電力の内訳を示すもので、アプリ単独でバッテリー容量をどれだけ消費したかを示すものではありません。たとえば、端末の残量が80%から70%に減り、あるアプリの使用割合が20%と表示されても、そのアプリが残量を20ポイント減らしたとは限りません。VPNネットワーク拡張はほかのアプリの通信処理にも関わるため、システム上の使用量の割り当ては、Shadowrocketを開いている間だけ発生した処理を示すものではありません。
上記の時間とバッテリー残量はテスト方法の例であり、バッテリー駆動時間を保証するものではありません。選択した時間帯に動画再生、写真の同期、アプリのアップデート、電波の弱い場所での移動が含まれる場合は、より安定した時間帯を選び直してください。バックグラウンドアクティビティが長時間表示されても、消費電力が常に大きいとは限りません。
On Demandは接続条件を制御する機能で、アイドル時に切断するタイマーではありません
ShadowrocketのSettings → On Demandを開き、現在のオンデマンド接続設定を確認します。On Demandはシステムのオンデマンド接続機能を使い、設定したネットワーク条件に合致し、関連する通信が発生した際に接続を確立または再開します。「アプリを開いたときだけ接続する」機能ではなく、「通信がなければすぐに切断する」機能でもありません。選択できる項目やルールの表示は、現在の画面で確認してください。
この記事でいう「手動の常時接続」とは、自動オンデマンド接続を無効にしたうえで、Homeから手動で接続をオンにして維持することです。アプリ画面を常に前面に表示しておくという意味ではありません。トンネル接続中に実際のデータ通信が発生するかどうかは、アプリの通信要求、プロトコルの動作、接続維持の処理によって異なります。ステータスバーのVPN表示だけでは、その瞬間の消費電力は判断できません。
- 自動接続:接続のオンにし忘れるのを防げますが、バックグラウンドのアプリ通信が条件に合致すると接続が開始される場合があります。
- 手動の常時接続:接続状態を継続して確認しやすい一方、バックグラウンド同期、電波の弱さ、接続失敗後の再試行による負荷はなくなりません。
- 手動で切断:トンネルが不要な時間帯に適しています。ただし、On Demandが有効なままだと、条件に合致したときに再接続する場合があるため、オンデマンド設定を先に確認してください。
Wi-Fiとモバイル通信:まず利用範囲を決めてから、バッテリーへの影響を確認
Wi-Fiだから安定しているとは限らず、モバイル通信があらゆるWi-Fi環境より電力を消費するとも限りません。アクセスポイントから離れている、追加のネットワーク認証が必要、モバイル通信の電波が弱い、基地局間を頻繁に移動するといった状況では、接続の確立や再試行が増えることがあります。On Demandと常時接続を比較する際は、できるだけ同じネットワーク環境を保ちます。環境が異なると、無線回線の差を測定してしまう可能性があります。
| 利用場面 | 選べる接続方法 | 必ず確認する動作 |
|---|---|---|
| 場所を固定して安定したWi-Fiを利用 | Wi-Fiの条件に基づいてOn Demandを有効にする、または手動で常時接続する | 画面ロック後も必要な通信ができるか、接続の再確立を繰り返していないか |
| モバイル通信をたまに利用 | 自動接続が不要なら、モバイル通信を接続条件に設定せず、必要に応じて手動で接続する | 切断中の通信は、そのトンネルを経由しません |
| モバイル通信を継続して利用 | モバイル通信の条件で自動接続する、または手動で接続を維持する | 電波の安定性、ネットワーク切り替え後の復帰、アプリの通信要求が成功するか |
| Wi-Fiとモバイル通信を頻繁に切り替える | まず一方の接続方法で比較テストを行う | ネットワークの切り替えが、エラーログ、発熱、バッテリー消費の増加と重なっていないか |
結論:自動接続の範囲は必要な通信に合わせて絞る
安定したWi-Fiでのみ自動接続が必要な場合は、まずSettings → On Demandで該当するネットワーク条件を確認し、モバイル通信では手動操作にします。どちらのネットワークでもトンネル経由の通信が必要なら、該当する接続条件を維持し、まず再試行の発生を調べてください。バッテリー画面の割合を下げるためだけに接続を無効にするのは避けます。
同じConfigを維持する:通信の振り分け変更を省電力効果と取り違えない
On Demandは接続するタイミングを制御し、Global Routingは接続後の通信の扱いを決めます。異なる階層の設定です。比較テストの前にHomeでGlobal Routingを確認し、Proxy、Direct、Config、Sceneのどれが選択されているか記録します。Sceneを使用している場合は、そのSceneで適用される設定も確認してください。On Demandの切り替えと同時にSceneを変更しないでください。
Configを使う場合は、現在の設定でルールの順序と振り分け先を確認します。DOMAIN-SUFFIXはドメインのサフィックス、IP-CIDRはIPアドレスの範囲、GEOIPはIPアドレスの地域データベース、FINALは最終的なフォールバック条件に基づいて判定します。これらは通信の振り分け条件であり、省電力の切り替えではありません。Directを選んでもVPNトンネルが切断されるわけではなく、通信を直接接続に変えるだけでは接続状態のテストになりません。
- Homeで現在選択中のサーバーとGlobal Routingを記録し、Configで使用中の設定を確認します。
- 2回のテストでは同じルール順と同じ振り分け先を使います。FINALの設定をプロキシからDIRECTに一時変更しないでください。
- テスト中は遅延テストをまとめて実行したり、既存のサブスクリプションを手動で更新したりせず、観察時間に余計な通信が入らないようにします。
- 既存のサブスクリプションを更新する必要がある場合は、先に更新を完了してサーバー設定を確認してから、新しい比較テストを始めます。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは、通信方式や接続の維持方法が異なります。ただし、プロトコル名だけで消費電力の順位を決めることはできません。サーバーの所在地、パケットロス、アプリの通信量、実際の設定によって結果は変わります。最初の調査では、利用中の設定を維持し、プロトコルを同時に変更しないでください。
まず接続失敗後の再試行を確認:接続エラーはバッテリー設定の問題とは限りません
「画面をロックしても発熱するのに、通信できない」場合は、該当する時間帯に接続失敗を繰り返していないか、まず確認します。以下はネットワークログに表示されることがあるエラーの一部です。バージョンによっては、同じ全文が表示されない場合があります。実際に該当する記録がある場合のみ、内容に応じて対処してください。調査のために意図的にエラーを発生させる必要はありません。
エラー:connection refused
原因と対処:接続先アドレスまたは中間の機器が接続を拒否しています。ポートで該当するサービスが提供されていない場合などに発生します。利用中のサービス提供元から案内されたアドレスとポートを照合し、サービスの状態を確認してから接続を一度検証してください。テストを何度もまとめて実行しないようにします。
エラー:i/o timeout
原因と対処:ネットワークの読み書きが制限時間内に完了しませんでした。回線に到達できない、パケットロスがある、接続先から応答がないといった原因が考えられます。まず安定したWi-Fiで同じ設定を使って再テストし、モバイル通信だけで失敗するかを確認してください。On Demand自体の消費電力が原因だと決めつけないでください。
たとえば、使用中の設定でTLSサーバーのポートが443に指定されている場合は、超過時間が発生したからといって別の一般的なポートに変更せず、サービス提供元から案内された実際の設定を確認してください。Wi-Fiからモバイル通信に切り替えた直後のリクエストだけが失敗する場合は、切り替え時刻、エラーの一部、その後に復旧したかを記録します。どちらのネットワークでも失敗が続く場合は、バッテリーを比較する前に接続先への到達性を解決してください。
- iPhoneまたはiPadのシステム日時が正確か確認してください。暗号化接続の検証に影響する場合があります。
- プロトコルの設定が既存のサブスクリプションと一致しているか確認し、エラーを解消するために証明書の検証をむやみに無効にしないでください。
- 利用中のサービス提供元に問い合わせる際は、エラーの発生時刻と必要なエラーの一部を残し、サブスクリプションのURL、パスワード、token、個人情報を隠してください。
2回の比較テスト:ネットワーク、画面、バックグラウンドタスクをそろえる
まず電波が安定したWi-Fiで基本テストを行い、その後モバイル通信を個別にテストします。バッテリー残量の表示には丸め処理があるため、短時間で1目盛り減っただけでは、どちらの方法が省電力か判断できません。2回の差が小さい場合は、順番を入れ替えて再テストし、節電率をパーセントで断定しないでください。
- 準備:開始時刻、バッテリー残量、ネットワーク名、電波状況、サーバー、Configを記録します。周囲の温度をできるだけ近づけ、充電しながら比較しないでください。
- A回目:On Demandの自動接続を無効にし、Homeから手動で接続をオンにします。同じテストページにアクセスできることを確認してから、画面をロックし30分間観察します。
- B回目:Settings → On Demandでテスト対象のネットワーク条件を有効にし、想定どおりに接続されることを確認します。同じページを使った後、画面をロックして30分間観察します。
- 条件をそろえる:どちらの回もメディアを再生せず、大容量ファイルを手動で同期せず、速度テストも実行しません。ほかのアプリのバックグラウンド動作もできるだけ同じにします。
- 記録:終了時のバッテリー残量、発熱の有無、ネットワークの切り替え、接続失敗後の再試行を記録し、システムの「バッテリー」で該当する時間帯を確認します。
- 再確認:近い条件の時間帯を選び、今度はB回目をA回目より先にしてテストを繰り返します。結果の傾向が一致しない場合は、接続方法の違いが原因とは判断しないでください。
2つの問題を区別:上記のA/Bテストでは、2種類の接続管理方法を比較します。「トンネル接続中」と「完全に切断」の違いも確認する場合は、別のテストを行います。まずOn Demandを無効にし、その後Homeで切断してください。このテストでは通信経路が変わるため、前の2回と同じ通信条件として扱うことはできません。
無理のない設定の組み合わせと元に戻す手順
どの端末にも共通する省電力設定はありません。安定したネットワークで正常に接続でき、画面ロック中も発熱がないなら、バッテリー一覧でShadowrocketの割合が高く表示されていても、すぐにプロトコルや設定を変更する必要はありません。まず自動接続が必要かどうかで選び、テストを繰り返して端末の実際のバッテリー変化を確認してください。
- 主に固定Wi-Fiで利用:既存の通信振り分けをConfigで維持し、必要に応じてWi-FiのOn Demand条件を設定します。モバイル通信でも自動接続するかは別に判断します。
- 終日トンネルが必要:該当するネットワークの自動接続条件を維持するか、手動で接続を維持します。ネットワーク切り替え後の復帰と接続失敗後の再試行を重点的に確認し、頻繁な切断は避けます。
- たまに利用:不要な自動接続条件を無効にし、利用前にHomeから手動で接続します。利用後は手動で切断し、切断中の通信経路が業務要件を満たすか確認してください。
- 異常なバッテリー消費:まずバックグラウンドの大容量通信と電波の弱さを除外し、次にログと設定値を確認してから、接続設定を一つずつ変更します。変更のたびに元の設定を保存し、必要に応じて戻せるようにしてください。
結論:必要な通信を安定して行える範囲で自動接続を最小限にする
On Demandと常時接続の比較を繰り返しても安定した差が出ない場合は、自動で再接続する必要があるかどうかで選びます。特定の方法で接続失敗や発熱が繰り返し発生する場合は、該当するネットワークや設定の問題を解決してから再テストしてください。バックグラウンドの記録が減っただけで問題が解決したと判断しないでください。