Shadowrocketのバッテリー消費は、VPNアイコンやバックグラウンドでの動作時間だけでは判断できません。On Demandは自動接続の条件を設定する機能で、常に節電できるスイッチではありません。自身で利用するサービス情報をお持ちのiPhone・iPadユーザー向けに、トンネルの常時接続、Wi-Fiとモバイル通信の条件、接続失敗時の再試行、バッテリー使用量の比較方法を解説します。通常の通信処理による消費と、確認が必要な異常な動作を見分ける参考にしてください。
まず確認:接続が続いていても、高負荷とは限らない
Shadowrocketで接続すると、システムがネットワーク拡張を通じて対象の通信を処理します。ホーム画面に戻る、画面をロックする、別のアプリに切り替えるといった操作をしても、トンネルが必ず終了するわけではありません。一方、トンネルが接続中でも、プロセッサーが常に高負荷とは限りません。バッテリー消費は、通信量、暗号化処理、電波状況、接続の維持、失敗後の再試行頻度などによって変わります。
動画の閲覧、写真の同期、大容量ファイルのダウンロードでは、画面表示、無線通信、データ処理のそれぞれで電力を消費します。一部のネットワーク処理が、システムのバッテリー使用状況でShadowrocketに計上される場合があります。そのため、バッテリー画面に表示された割合を「アプリが端末全体のバッテリーを同じ割合だけ余分に消費した」と解釈することはできません。他のアプリの消費量が減ることも、表示割合に影響します。
- アイドル中も接続を維持:接続の維持や他のアプリによるバックグラウンド通信が発生することがあります。ネットワーク活動が完全に止まっているとは限りません。
- 通信が続いている:VPNの表示だけで判断せず、使用中のアプリ、通信量、端末の温度も確認してください。
- 接続失敗後に再試行を繰り返す:ウェブページを開けない場合でも、ハンドシェイク、名前解決、再試行による負荷が続くことがあります。
On Demandで設定できること・できないこと
ShadowrocketのSettings → On Demandで接続条件を設定すると、保存したルールに基づいてシステムがVPN接続を開始するか判断します。たとえば、特定のネットワークで接続するなど、利用環境に合わせて接続動作を設定できます。リクエストごとに接続を開始したり、通信が終わるたびにトンネルをすぐ切断したりする機能ではありません。
On DemandとHome → Global Routingは役割が異なります。前者は接続を開始する条件を設定し、後者はトンネルに入った通信の処理方法を決めます。Global RoutingをDirectにしても、VPN接続やOn Demandが無効になるわけではありません。Configを選んだ場合、実際の接続先は現在の設定に含まれるルールやポリシーによって決まります。
| 設定項目 | 主な役割 | バッテリー消費を判断する際の注意点 |
|---|---|---|
| Settings → On Demand | 自動接続を開始する条件を設定 | 接続回数や接続時間が変わる場合がありますが、節電できるとは限りません |
| Global Routing → Proxy | グローバルプロキシのルーティング動作を使用 | 実際の通信量や接続先の品質にも左右されます |
| Global Routing → Direct | グローバル直通のルーティング動作を使用 | ネットワーク拡張が停止するわけではありません |
| Global Routing → Config | 現在の設定に従ってルールとポリシーを照合 | 実際に適用されたルールを確認する必要があります |
Wi-Fi・モバイル通信ごとに接続条件を設定する
まず「どのネットワークで接続するか」を明確にしてから、On Demandを設定します。「Wi-Fiでは常にオフ、モバイル通信では常にオン」という設定がすべての環境に適するわけではありません。自宅のWi-Fi、公衆Wi-Fi、モバイル通信では必要なアクセスが異なる場合があり、ネットワークの種類だけで安全性を判断することもできません。選択できる項目や順序は、現在の画面に従ってください。
-
手動接続を確認する
まずHomeで利用中のサーバーを選択して手動接続し、必要なウェブページが開くことを確認します。手動接続が正常に動作しない場合は、サーバーや設定を先に確認してください。接続不良をOn Demandの条件設定の問題と取り違えないようにしましょう。
-
接続条件を開く
Settings → On Demandを開き、現在の有効・無効の状態と保存済みの条件を確認します。変更前に元の設定を記録しておきましょう。特にネットワークの種類、Wi-Fi名、各条件に対する接続動作を確認してください。
-
ネットワーク条件を分けて設定する
画面に表示されるWi-Fiやモバイル通信の条件に応じて、必要な動作を設定します。Wi-Fi名で照合する場合は、SSIDが正確か確認してください。名前が似ている別々のネットワークを、同じ照合対象として扱わないようにしましょう。
-
ネットワークの切り替えを確認する
設定を保存したら、対象のWi-Fi、別のWi-Fi、モバイル通信にそれぞれ接続します。ネットワークが安定するまで待ち、Homeに戻って接続状態を確認したうえで、必要なウェブページを実際に開いてください。
-
画面ロック後の復帰をテストする
同じネットワークに接続した状態で数分間画面をロックし、ロック解除後にアクセスを確認します。接続が再開したか、一時的に利用できなくなったかを記録してください。一時的に接続を止める場合は、先にOn Demandを無効にしてからHomeの接続をオフにします。
Wi-Fiの接続範囲を頻繁に出入りすると、端末がネットワークを何度も切り替え、既存の接続も復旧が必要になる場合があります。トンネルを何度も開始・終了する設定では、アイドル中の接続時間を減らす効果が再接続の繰り返しで相殺されることがあります。通勤中に使う場合は、自動接続の範囲を狭める前に、ネットワーク切り替えが安定しているか確認してください。
主観ではなく、条件をそろえたバッテリー比較を行う
iPhoneまたはiPadの「設定」で「バッテリー」を開き、近い時間帯のバッテリー残量、画面の使用状況、アプリごとの使用量を確認します。バックグラウンドでの動作時間は関連する活動があったことを示しますが、それだけで消費電力に換算することはできません。システム画面の表示方法はOSによって異なります。対応するシステム要件はApp Storeのページをご確認ください。
まずは同じ端末、同じWi-Fi、近い画面輝度、同じ作業内容で、各60分の記録を2回分用意しましょう。以下は記録方法の例であり、実測結果ではありません。短時間で数%減った結果を、そのまま1日のバッテリー持続時間に当てはめないでください。
| 比較条件 | 接続設定 | 記録する項目 |
|---|---|---|
| A:接続を維持 | On Demandを無効にし、手動接続で60分間使用 | 開始・終了時のバッテリー残量、画面点灯時間、作業内容、端末の温度感、接続が切れた回数 |
| B:On Demandを使用 | 対象の条件を有効にし、同じ作業を60分間行う | 同じ項目に加え、自動接続とネットワーク切り替えの回数を記録 |
| C:接続を一時停止した基準 | On Demandを無効にし、接続もオフにする | 作業を正常に完了できる場合のみ比較し、アクセス失敗による作業内容の違いを避ける |
- どちらの比較でも、充電しながらテストしないでください。また、一方で動画を再生し、もう一方で画面をロックして待機するような比較も避けましょう。
- ダウンロード、システムアップデート、写真の同期など、追加の作業があれば記録してください。そうした作業があった時間帯は、直接比較するのに適していません。
- モバイル通信でテストする場合は、場所と電波状況をできるだけそろえてください。電波が弱いと無線通信の消費電力が増え、接続設定による差が分かりにくくなることがあります。
- 結果にほとんど差がない場合は、条件の近い別の時間帯にも記録してください。1回の差だけでは、特定の設定が必ず節電につながるとは判断できません。
異常なバッテリー消費は、再試行を確認してからプロトコルやルールを見直す
端末がアイドル状態なのに明らかに発熱する場合は、まず通信が続いていないか、接続を繰り返していないか確認します。Homeで選択中のサーバーを確認し、利用中のサービスのアドレス、ポート、認証情報、転送パラメーターを見直してください。テストのためにポートをむやみに変更しないでください。たとえば、利用中のサービスが443を使っている場合も、接続先が実際にそのポートで待ち受けており、パラメーターも一致しているときに限り接続できます。
以下はネットワークエラーに表示される場合があるメッセージの原文です。すべてのプロトコルで同じ表示になるとは限りません。ログに該当するメッセージが実際に記録されている場合にのみ、その項目に沿って確認してください。表示がない場合は、原因として確定したものと扱わないでください。
エラー:Connection timed out
原因と対処:制限時間内に接続が完了しなかった状態です。接続先から応答がない、通信経路が利用できない、ネットワークが不安定などの原因が考えられます。利用中のサーバーのアドレスとポートを確認し、安定したWi-Fiで再試行してください。同じサーバーでモバイル通信の場合とも比較し、手動で何度も連続して再接続しないようにしましょう。
エラー:Network is unreachable
原因と対処:現在のネットワークから接続先への有効な経路がない状態です。ネットワークの切り替え中に一時的に発生する場合もあります。まず端末が通常どおりインターネットに接続できることを確認し、Wi-Fiまたはモバイル通信が安定してから接続を試してください。繰り返し発生する場合は、接続先のアドレスと現在のネットワークからの到達性を確認します。
再接続が発生していないのに通信量が多い場合は、まず通信中のアプリを特定し、次にGlobal Routingを確認します。Configを使用している場合は、リクエストの記録を使って実際に適用されたルールと最終的なポリシーを確認してください。設定にDOMAIN-SUFFIX、GEOIP、IP-CIDR、FINALがあるだけでは、対象の通信が意図どおり処理されているとは限りません。ルールは通信の経路を決めるもので、通信量を自動的に減らすものではありません。
- サブスクリプションの更新:必要な場合に限って手動更新をテストしてください。更新に失敗した場合は、利用中のリンクが有効か先に確認しましょう。何度も更新を繰り返すことは、バッテリー消費を調べる方法として適切ではありません。
- プロトコルの選択:Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは、パラメーターもネットワーク上の動作も異なります。端末、サーバー、ネットワークの条件を考慮せず、節電効果に一律の順位をつけることはできません。
- ログのプライバシー:不具合を記録する際は、時刻、ネットワークの種類、エラー情報を残せば十分です。共有する前に、サブスクリプションのtoken、パスワードなどの認証情報を削除してください。
よくある質問:常時接続、アプリ終了後、再接続
On Demandを有効にすれば、必ずバッテリーを節約できますか?
必ず節約できるとは限りません。Settings → On Demandで、不要な接続を実際に減らす条件になっているか確認し、同じネットワークと作業内容でバッテリーの記録を比較してください。常に接続する条件の場合は、常時接続と使用時間がほぼ同じになることがあります。
アプリをスワイプして終了しても、接続中と表示されるのはなぜですか?
アプリの画面と、システムが管理するVPNネットワーク拡張は別の仕組みです。一時停止する場合は、Shadowrocketを開いてSettings → On Demandの自動接続を先に無効にし、その後Homeで接続をオフにして、システムのVPN状態を確認してください。
画面をロックした後もバッテリーが減るのは異常ですか?
まずシステムの「バッテリー」で該当する時間帯を確認し、同期、音声再生、バックグラウンド通信、接続の再試行がないか調べてください。画面をロックしても、端末の通信が止まるとは限りません。作業内容をそろえた比較で明らかな差が続く場合に、さらに原因を調べるとよいでしょう。
モバイル通信に切り替えるたびに再接続します。どこを設定すればよいですか?
まずSettings → On Demandで、モバイル通信とWi-Fiの接続条件が意図どおりか確認し、電波が安定した場所で切り替えを再度試してください。ネットワークアドレスが変わると、既存の接続を復旧する必要が生じる場合があります。一時的な復旧と、失敗を繰り返す状態は分けて記録しましょう。
一時的に接続が不要なとき、自動で再接続しないようにするには?
まずSettings → On Demandで自動接続を無効にし、次にHomeで接続をオフにします。その後、ウェブページを開いて状態を確認し、他のシステム自動化やデバイス管理設定が接続を要求していないか調べてください。利用を再開するときに、元の条件を有効に戻します。