Shadowrocketのバッテリー消費が多いときの対処法|常時接続とOn Demandを比較

iPhoneのバッテリー使用状況から消費の原因を確認。常時接続とOn Demandの電池消費を比較し、使い方に合った設定を紹介します。

この記事の概要

Shadowrocketのバッテリー消費を調べるには、まず同じ使用条件で端末全体の電池残量の減りを比較し、バックグラウンドでの動作や接続ログを確認します。バッテリー画面のアプリ別割合だけで判断するのは避けましょう。利用中のサービスやサブスクリプション、設定がある方を対象に、基準値の取り方、常時接続と通信の継続を見分ける方法、On Demandの比較テストを順に説明します。最後に、実際の使い方に合わせた接続方法の選び方を紹介します。

1. 端末全体の電池残量を確認してから、アプリ別割合を見る

iPhoneまたはiPadの「設定 → バッテリー」で、問題が起きた時間帯を含む期間を選び、Shadowrocketのバッテリー使用量とアクティビティを確認します。表示される期間や詳細項目はOSのバージョンによって異なるため、実際の画面に従ってください。バッテリー画面のアプリ別割合は、選択した期間における消費の内訳であり、アプリが表示割合と同じ量の電池を直接消費したという意味ではありません。

たとえば「30%」と表示されても、「Shadowrocketがバッテリーを30%消費した」とは限りません。その時間帯の端末全体の消費量が少なければ、バックグラウンドの項目が大きな割合を占めることがあります。一方、端末全体の電池残量が大きく減り、本体が発熱し、バックグラウンド動作も続いている場合は、通信リクエストや電波状況、再接続の有無を詳しく確認しましょう。VPNアイコンが表示されているだけでは、大量のデータを通信中だとは判断できません。

  1. 時間帯を確認する

    「設定 → バッテリー」を開き、問題が起きた時間帯を選んで、開始時と終了時の電池残量、画面の使用状況、その間に充電していたかを記録します。日中のナビ利用と夜間の待機状態をそのまま比較しないでください。

  2. 接続状態を記録する

    ShadowrocketのHomeに戻り、接続スイッチ、現在選択中の既存ノード、Global Routingの状態を記録します。続けてConfigを開き、現在有効な構成ファイルを確認してください。

  3. 接続条件を確認する

    ShadowrocketのSettings → On Demandを開き、On Demandが有効か、既存ルールがどのネットワーク条件を対象にしているかを記録します。設定を変更する前に、元の状態を残しておきましょう。

  4. 基準値を取る

    充電しておらず、電波が安定した時間帯を選び、画面の明るさ、Wi-Fiまたはモバイル通信、主な作業、開始時の電池残量を記録します。各回の観察時間は、たとえば60分のように同じ長さにします。

2. バックグラウンドで接続中でも、常に高負荷とは限らない

Shadowrocketのアプリ画面と、システムが維持するVPNトンネルは別のものです。Homeを閉じた後も、条件に合うネットワーク通信は引き続き処理されることがあります。アプリが前面に表示されていないからといって、通信処理が止まるわけではありません。反対に、トンネルが接続中でも継続的なリクエストがなければ、接続時間のすべてを高負荷の時間とみなすことはできません。

アプリからのリクエスト システムトンネル ルーティング判定 接続先へ送信 応答を受信

実際の電池消費量は、通信量、暗号化処理、無線電波、ネットワークの切り替え、接続の再確立にも左右されます。写真の同期、動画再生、ほかのアプリからの継続的なリクエストがある場合、Shadowrocketの画面を閉じていてもトンネルが通信を処理することがあります。モバイル通信の電波が弱いと端末全体の消費電力が増えることもあるため、変化をプロキシプロトコルだけの影響と決めつけないでください。

3. Global RoutingとOn Demandの役割を区別する

Global Routingは通信のルーティング方法を決め、On Demandはどの条件で接続を確立・管理するかを決めます。どちらも同じ省電力スイッチではありません。特にGlobal RoutingをDirectに切り替えても、VPNトンネルが切断されるわけではありません。「未接続」の状態と比較するには、接続スイッチとOn Demandの状態も別途確認してください。

4つの状態
Global Routing:Proxy / Direct / Config / Scene
ポート53
従来のDNSは通常、UDPまたはTCPの53番ポートを使用
ポート443
DNS over HTTPSは通常、HTTPSの443番ポートを使用
設定主な役割確認時の注意点
Proxy(プロキシ)プロキシ経由でルーティングするプロキシ経由の通信範囲が変わることがあります。省電力モードと同じものとして扱わないでください。
Direct(直接接続)直接接続するルーティング方式を使用Directにしても、トンネルが切断されたとは限りません。
Config(構成)現在の構成に設定されたルールで通信を振り分けるどの構成が有効か、ルールに一致した通信が最終的にどこへ向かうかを確認します。
Scene(シーン)設定済みのシーンに基づいて動作するシーンの条件もあわせて確認します。固定したルーティング状態のテストと混同しないでください。
On Demand条件に応じて接続を管理するネットワーク条件とルールの順序を確認し、切断する想定の状態で別の条件が接続を再開させないようにします。

Configでは、DOMAIN-SUFFIXはドメインのサフィックス一致、GEOIPはIPアドレスの地理的な割り当てによる一致、IP-CIDRはIPアドレス範囲による一致を表します。FINALは、それ以前のルールに一致しなかった場合の最終的な振り分け先です。これらのルールは通信先を決めるもので、接続を維持する時間を直接指定するものではありません。節電のためにルールをむやみに削除すると、通信経路が変わるだけで、バックグラウンドリクエストが減らないことがあります。

4. 3段階の比較でOn Demandが合うか確認する

On Demandは、接続条件が利用状況に合っている場合に限り、不要な接続時間を減らせることがあります。すべてのアプリの利用状況を自動判定する汎用の節電機能ではありません。条件が広すぎると接続が長時間維持され、ネットワーク条件が頻繁に変わると接続の確立回数が増えることがあります。ドメインを基準にした条件も、「どのアプリでも起動時に接続する」という意味ではありません。

まずは単一のネットワーク条件で確認しましょう。たとえば特定のWi-Fi環境だけをテストし、最初からWi-Fi名、モバイル通信、ドメインの条件を重ねないでください。ルールの動作や順序を確認するときは、Settings → On Demandに実際に表示される項目を一つずつ確認し、出所のわからないルール一式をそのまま適用しないようにします。

  1. 元の状態を記録する

    Settings → On Demandの有効・無効と既存ルールの順序を記録し、HomeのGlobal Routingの状態も控えます。テスト中はサブスクリプションを更新せず、ノードやConfigも切り替えません。

  2. 切断状態をテストする

    On Demandを一時的に無効にしてから接続を切り、システムのVPN状態を確認します。あらかじめ選んだローカル通信または直接接続できる作業を行い、60分間の開始時と終了時の電池残量を記録します。同じ作業ができない場合は、この結果を待機時の基準値として扱います。

  3. 常時接続をテストする

    On Demandを無効のままにし、同じ既存ノードへ手動で接続して、元と同じルーティング方式を使います。近い電池残量と同じネットワーク環境で同じ作業を行い、電池残量の減りと異常な再接続の有無を記録します。

  4. On Demandをテストする

    Settings → On Demandを開き、確認済みの単一ネットワーク条件を有効にします。条件に一致したときの接続動作を確認してから、条件から外れたときの動作も確認します。設定スイッチだけでなく、毎回システムのVPN状態もチェックしてください。

  5. 条件をそろえて再比較する

    各グループで、同じ長さの時間帯をもう一度観察します。電池残量の差が小さい、または結果の傾向が一致しない場合は、差を判定できないと記録し、一定の節電率を示さないでください。接続待ちによる使い勝手への影響も比較します。

ここでの60分はテスト時間の例であり、製品のバッテリー駆動時間を示すものではありません。画面の明るさ、電波、作業内容、周囲の温度をできるだけ一定にし、充電中やシステムによる一斉同期などの影響を避けてください。短時間の結果が安定しない場合は観察時間を延ばせますが、各グループの条件はそろえます。

5. 再接続が続く場合は、まずネットワークエラーを確認する

異常な電池消費と接続失敗が同時に起きている場合は、まずログの時系列を確認します。ネットワーク切断後に再試行が始まったのか、選択中のノードに接続できない状態が続いているのかを見分けましょう。以下は接続ログに表示される可能性があるシステムネットワークエラーの例で、バッテリー警告ではありません。大文字・小文字、付加情報、表示位置はアプリ内の記録に従ってください。エラーが1件記録されていても、それがどれほど電池を消費したかは判断できません。

エラー:Connection refused

原因:接続先のアドレスまたはポートで接続が拒否されています。サービスが待ち受けていない、または接続が明示的に拒否された可能性があります。

対処:Homeで、利用中のノードのアドレス、ポート、プロトコルを確認します。サブスクリプションの項目に変更がある場合は、利用しているサービスの案内に従って更新してから再試行してください。推測した値を何度も手動で書き換えないでください。

エラー:Operation timed out

原因:接続または関連する処理が制限時間内に完了しませんでした。パケット損失、接続先への到達不能、応答の遅延などが考えられます。

対処:同じノードに固定し、安定したWi-Fiで一度再試行します。その後、利用可能な別の接続があれば比較してください。障害の切り分けの代わりに、遅延テストを何度も続けないようにします。

エラー:Network is unreachable

原因:現在のネットワーク経路に到達できません。ネットワークの切り替えや、その時点で端末に利用可能な接続がなかったことが原因の可能性があります。

対処:まずシステムのネットワークで正常にアクセスできるか確認し、次にSettings → On Demandで現在のネットワークに関係する条件を確認します。ネットワークが復旧していない間に接続を何度も切り替えるのは避けてください。

6. 使い方に合わせて常時接続かOn Demandを選ぶ

常時接続とOn Demandは、どちらかが必ず省電力だと決めつけず、接続の頻度に合わせて選びます。同じ接続を1日に何度も使う場合は、常時接続のほうが待ち時間や接続の再確立を減らせることがあります。特定のネットワークや限られた時間だけ接続する場合は、検証済みのOn Demand条件を使うことで、不要な時間帯の接続を減らしやすくなります。どちらを選ぶ場合も、手元のバッテリー記録で確認してください。

使い方まず試す方法確認するポイント
1日に何度も同じリソースへアクセスするノードとConfigを固定し、まず常時接続の状態を確認する継続的な通信や再接続の失敗があるか、待ち時間が減るか。
特定のWi-Fi環境でのみ接続するOn Demandでネットワーク条件を設定して検証するそのネットワークに接続したときと、離れたときの動作が想定どおりか。
Wi-Fiとモバイル通信を頻繁に行き来する条件をシンプルにして、2種類のネットワークを個別にテストする切り替え時に接続を何度も確立し直していないか、電波が弱いときに発熱しないか。
使う頻度が低く、利用時間が決まっているまず手動で接続・切断する方法を比較基準にする切断後にOn Demandが再接続させていないか、作業終了後もバックグラウンド動作が続いていないか。

プロトコル名だけで消費電力を判断することもできません。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは接続方式やパラメーターが異なりますが、結果には端末、回線、実際のスループット、サーバー側の条件も影響します。利用中のサービスが対応している範囲でテストし、未検証の節電効果を期待して安易にプロトコルを変更したり、適合しないパラメーターを適用したりしないでください。

7. バッテリー消費とOn Demandに関するよくある質問

画面をロックしてもVPNアイコンが表示されています。電池を大量に消費し続けていますか?

アイコンでわかるのは接続状態であり、通信量ではありません。まず「設定 → バッテリー」で該当時間帯の端末全体の電池残量の減りとバックグラウンド動作を確認し、同期タスクや接続失敗による再試行がないか調べます。切断を確認したい場合は、Settings → On Demandを一時的に無効にし、システムのVPN状態を確認してください。

On Demandを有効にしても、電池の減りがあまり変わらないのはなぜですか?

まず、条件によって接続がほぼ常時維持されていないか、ネットワーク切り替えで再接続が増えていないかを確認します。Settings → On Demandで条件と順序を記録し、検証済みの条件を1つだけ残して、手動の常時接続グループと同じ時間で比較してください。

Directに切り替えたのに、バッテリー画面にアクティビティが表示されるのはなぜですか?

Home → Global Routing → Directで変わるのはルーティング方法であり、トンネルが停止するわけではありません。切断状態の基準値を取るには、On Demandによる接続と接続自体を別途無効にし、システムのVPN状態を確認してください。バッテリー画面には、それ以前の時間帯の統計が表示される場合もあります。

サブスクリプションの更新や遅延テストを常に実行する必要はありますか?

接続を維持するためにテストを繰り返す必要はありません。必要なサブスクリプション更新を済ませてからノードを固定し、電池残量を比較してください。記録中にHomeでサブスクリプションを何度も更新したり、ノード一式をテストしたりすると、追加のリクエストが判断の妨げになります。

最後に、再現可能な記録を残しましょう。端末、ネットワークの種類、テスト時間、開始時と終了時の電池残量、Global Routing、On Demandの状態、異常が起きた時刻を記録します。変更は一度に1つの条件だけにします。効果を再現できない場合は元の構成に戻して観察を続けましょう。複数の機能を一度に無効にするより、原因を見つけやすくなります。

App Storeから正規版を入手まずアプリ情報を確認 →