Shadowrocketのバッテリー消費|On Demandと常時接続の設定方法

Shadowrocketのバックグラウンド通信がバッテリー使用量に表示される理由と、Wi-Fi・モバイル通信ごとのOn Demand設定、省電力と接続安定性のバランスを解説します。

この記事のポイント

Shadowrocketのバッテリー消費は、通信量や電波状況、再接続の回数を踏まえて判断しましょう。VPNアイコンやバッテリー使用量の順位だけではわかりません。接続に必要な情報をすでにお持ちで、日常の接続方法を見直したいiPhone・iPadユーザー向けに、アプリのバックグラウンド動作とVPNトンネルの違い、On Demandの設定方法、同じ条件でバッテリー使用量を比べる手順を解説します。

バックグラウンド動作がバッテリー使用量に表示される理由

Shadowrocketのバックグラウンド動作が表示されていても、常に高負荷で動いているとは限りません。アプリの画面表示と、接続を処理するシステムのネットワーク拡張機能は別のものです。Homeを離れてもVPNトンネルはほかのアプリの通信を処理できます。画面にアプリが表示されていないからといって、通信処理が止まっているわけではありません。

アプリからのリクエストシステムのトンネルルール照合外部への接続応答の受信

通信中はデータ処理や暗号化・復号、ネットワーク送受信で電力を使います。通信していないときも、接続維持やDNSリクエスト、再接続が発生する場合があります。動画再生、写真の同期、大容量ファイルの転送もトンネルを経由するため、バッテリー画面に表示された動作がShadowrocketの画面操作によるものとは限りません。

バッテリー使用量の割合を、そのまま追加の消費電力の割合と見なすことはできません。バッテリー画面に表示されるのは選択した期間の使用量で、割合はほかのアプリの動作にも左右されます。「設定 → バッテリー」を開き、同じ時間帯のバッテリー残量の推移、画面の使用状況、バックグラウンド動作を照らし合わせ、異常な減り方がないか確認してください。

通信していないとき、On Demandで自動的に省電力になりますか?

On Demandはアイドル状態を監視するタイマーではありません。設定したネットワーク条件と接続ルールに応じて、システムがオンデマンド接続を処理します。「通信がなければ自動切断し、アプリを開けば自動で再接続する」という機能ではありません。実際の動作はルールによって異なり、有効にしてもバッテリー使用量が必ず減るとは限りません。

2段階
アプリ内の設定場所:Settings → On Demand
4項目
Global Routing:Proxy / Direct / Config / Scene
2種類
Wi-Fiとモバイル通信の条件を個別に確認

On DemandとGlobal Routingは何が違いますか?前者は接続を開始するタイミングを決め、後者は接続中のリクエストの処理方法を決めます。Home → Global RoutingのProxy、Direct、Config、Sceneはそれぞれ異なる処理方法です。Configは現在の設定ルールに従って通信を振り分け、Sceneは設定済みのシーンに従って動作します。これらを切り替えても、On Demandがオフになるわけではありません。

結論:まず接続条件を決め、その後に通信の振り分けを設定

特定のWi-Fiから離れたときに自動接続したい場合は、まずSettings → On Demandを確認します。一部のリクエストを直接接続したい場合は、Home → Global RoutingとConfigを確認してください。トンネルを切断する代わりにDirectを選んだり、通信の振り分けルールの代わりにOn Demandを使ったりしないようにしましょう。

Wi-Fiとモバイル通信の設定を分けるには?

すべてのネットワークで一律に有効にするのではなく、用途に応じて設定しましょう。操作の前にHomeから手動で接続し、お使いの接続情報で通信できることを確認してから、Settings → On Demandで設定可能なネットワーク条件を確認します。画面や選択肢はアプリのバージョンによって異なる場合があります。ネットワーク名の条件、接続時の動作、全体のオン・オフを同じ設定として扱わないでください。

  1. 既存の接続が使えることを確認。安定したWi-Fiに接続し、普段使うページを開いて、現在のGlobal Routingと設定を記録します。手動接続でも失敗する場合は、まず接続の問題を解決し、自動接続の条件を追加しないでください。
  2. Wi-Fiの条件を設定。ネットワーク名で条件を分ける場合は、実際のSSIDを確認します。名前が似ていても別のネットワークです。同じ名前でも必ずしも信頼できるとは限らないため、ご自身のネットワーク管理状況に応じて判断してください。
  3. モバイル通信の条件を個別に確認。外出中も接続が必要なら、モバイル通信に対応する条件を確認します。決まったネットワークでのみ使う場合は、モバイル通信に切り替えた後の実際の状態を確認し、全体のオン・オフだけで判断しないでください。
  4. ネットワークを往復して確認。Wi-Fiからモバイル通信に切り替え、通信が安定してからリクエストを送ります。その後Wi-Fiに戻し、システムのVPN状態とHomeに表示される接続状態を確認してください。
  5. 画面ロック後に再確認。画面をロックする前のネットワークと接続状態を記録します。しばらくしてロックを解除し、同じリクエストを送って、接続の遅延や再接続の繰り返しがないか確認してください。

手動で接続を切っても、なぜまた接続されるのですか?On Demandの条件が引き続き満たされていると、システムが再接続することがあります。完全に切断した状態をテストする場合は、Settings → On Demandでオンデマンド接続を一時停止してから、Homeで接続を切ってください。テスト後は元の設定に戻します。アプリを何度も終了しても、この手順の代わりにはなりません。

接続を維持する方法とオンデマンド接続、どちらを選ぶ?

どのネットワークでも必ず省電力になる方法はありません。接続を維持するとセッションの再確立を避けられます。条件に応じた接続なら、不要なときにトンネルを使わずに済みます。一方、条件が頻繁に変わる環境では、再接続やハンドシェイク、通信の再開にも電力を使います。接続の成功率とバッテリー消費をあわせて比較してください。

利用状況設定の方針確認すること
同じネットワークで継続して使用まずは接続を維持して基準にするバックグラウンドでの大容量通信や異常な再接続がないか
特定のネットワークでのみ接続が必要ネットワーク条件に応じてOn Demandを設定そのネットワークへの接続時と離脱後の実際の状態
通勤中にネットワークが頻繁に切り替わる不要な条件の切り替えを減らす通信再開までにかかる時間と失敗回数
短時間の切断テストを行うOn Demandを一時停止して手動で切断システムによって再接続されないか

Directに切り替えれば「トンネルを使わない」場合の消費電力を測れますか?いいえ。Directは通信を直接接続する処理方法であり、システムのVPNトンネルが停止したことを意味しません。同様に、Config内のDOMAIN-SUFFIX、GEOIP、IP-CIDR、FINALはルールの照合と処理方法の選択に使われ、On Demandの起動タイミングは決めません。

結論:再接続に失敗することが多い場合は、まず切り替え条件を減らす

ネットワークを切り替えるたびに待ち時間や再試行が発生する場合は、まず同じネットワークで接続を維持し、安定性を確認してください。基本の接続が正常だと確認してから、On Demandの条件を一つずつ追加します。プロトコル、DNS、Global Routingを同時に変更しないでください。

発熱や頻繁な再接続がある場合、まず確認する記録は?

端末の発熱を特定のプロトコルだけに直接結びつけることはできません。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは接続方法が異なりますが、実際の消費電力は通信量、サーバーの応答、通信設定、無線の電波状況にも左右されます。プロトコルはご自身の接続情報に合わせて選んでください。検証のためにTypeだけを変更し、別のプロトコルの設定項目を残すことは避けましょう。

ログでは何を確認すればよいですか?まず障害が発生した時刻を特定し、タイムアウト、接続拒否、ハンドシェイク失敗が連続していないか確認します。以下は発生する可能性のある低レベルエラーの一部です。すべてのバージョンで同じ文言のダイアログが表示されるわけではありません。実際のエラー文と発生時刻を記録し、エラーの種類に応じて調べてください。

エラー:connection refused

原因:接続先から接続を拒否されています。ポートでサービスが待ち受けていない場合や、明示的に拒否された場合によく発生します。

対処:Homeで現在のサーバー設定を開き、ご自身の接続情報と照らし合わせてアドレスとPortを確認します。そのポートが利用可能か、契約先のサービス提供元にも確認してください。基本の接続障害を隠すためにOn Demandを何度も切り替えないでください。

エラー:TLS handshake timeout

原因:TLSハンドシェイクが制限時間内に完了しませんでした。通信経路の不通、ネットワークの制限、サーバーの応答異常などが考えられます。

対処:まず安定したネットワークで再試行し、TLS関連の設定とサーバー側の要件を確認します。特定のWi-Fiでのみ発生する場合は、Web認証とネットワーク接続を先に確認してください。証明書検証を無効にする方法を一般的な対処として使わないでください。

エラーがないのにバッテリーを消費し続ける場合は、まず実行中の大容量通信を一時停止し、通信がない時間帯にも大きく減るか観察します。次に、定期テストの間隔が短すぎないか、ほかに定期実行される処理がないか確認します。サブスクリプションの更新とトンネル接続も区別してください。ご自身のサブスクリプションを更新するのは設定元を最新にするためであり、電波の弱さを解消したり、電力消費を自動で減らしたりする方法ではありません。

バッテリー消費を比較できるテスト方法は?

バッテリー使用量の順位だけに惑わされずに比較するには、同じ端末、近いバッテリー残量、同じネットワークで、接続を維持する場合とオンデマンド接続の場合をそれぞれ記録します。以下の時間はテスト手順の目安であり、実測値や一定の消費電力を保証するものではありません。

  1. 記録を始める。開始時のバッテリー残量、画面の明るさ、ネットワークの種類、Global Routing、バックグラウンド同期の状態を記録し、テスト中は充電しません。
  2. 接続を維持してテスト。まず画面を消して30分間観察します。続けて、同じ種類のWebページを繰り返し読むなど、操作を固定して30分間テストし、それぞれ終了時のバッテリー残量を記録します。
  3. オンデマンド接続でテスト。開始時の条件をできるだけ近づけ、動作確認済みのOn Demand条件を使って同じ手順を繰り返します。ネットワークの切り替えと再接続の回数も記録してください。
  4. 切断時の基準も測る。On Demandを一時停止して接続を切り、直接実行できる同じ通信を再テストします。通信に直接アクセスできない場合は、この結果を同条件の比較として扱わないでください。
  5. 繰り返して確認。少なくとももう1回テストします。差がシステムのバッテリー表示の精度に近い場合は観察時間を延ばし、特定の設定で一定の割合を節約できたと断定しないでください。

最終的にどの設定を使うべきですか?通信を安定して完了でき、ネットワーク切り替え後も正常に復帰する設定を優先し、繰り返しテストしたバッテリー消費を比べます。On Demandによって不要な接続が減り、接続失敗も増えないなら、その条件を維持します。再接続が頻繁で使いにくい場合は、まず条件を簡素化し、ネットワークの問題を確認してください。VPNアイコンの表示だけで判断せず、接続の安定性と省電力効果の両方を確かめましょう。

App Storeで正規アプリを確認デベロッパーとアプリID