ShadowrocketのDataに表示される数値は、接続中のデータ通信を確認するためのものです。サブスクリプションの残量や、システムのモバイルデータ通信量と同じとは限りません。すでに利用中のサブスクリプションまたは設定を読み込んでいる方向けに、集計範囲の確認方法、サーバー別とアプリ別の見方、条件をそろえたテストでバックグラウンド通信・ルールによる振り分け・単位の違いを見分ける方法を説明します。
1. Dataの場所と集計範囲を確認する
ShadowrocketのSettings → Dataで通信量を確認します。まず、画面に表示されているのが累計値なのか、接続中の通信量なのか、グループごとの内訳なのかを見分けましょう。Homeでは接続状態と選択中のサーバー、Configでは現在の設定を確認できます。どの接続・期間の数値なのか把握するには、Dataの情報とあわせて記録してください。
クライアントが集計できるのは、観測可能な通信に限られます。現在の処理経路を通らない接続、アプリの接続が切れている間のアクセス、システムが別のネットワーク経路で行う通信が、同じ集計値に含まれるとは限りません。グループ分けや識別情報も、システムの機能と画面に表示される項目に左右されます。表示されていない項目を、合計値から正確に割り出すことはできません。
この流れは通信量の観測位置を説明するもので、課金の流れではありません。特にConfigでは、ルールによってリクエストごとにDIRECTまたは特定のプロキシポリシーが適用されます。特定のサーバーの累計値に含まれるのは、そのサーバーに割り当てられた通信だけです。この期間にデバイスが使ったネットワーク通信の総量とは異なります。各項目の詳細はData機能の説明をご覧ください。
2. アップロード・ダウンロード・速度・合計の違い
アップロードとダウンロードは、デバイスから見た通信の向きで判断します。リクエストや添付ファイル、バックアップデータをデバイスから送る通信がアップロード、Webページ・動画・ファイルを受信する通信がダウンロードです。Webページを見るときも、リクエストヘッダーや確認情報などを送信するため、アップロードが発生します。アップロード量がゼロでないからといって、大きなファイルを送信中とは限りません。
累計通信量とリアルタイム速度は直接比較できません。MBやGBはデータ量、B/sやMB/sは1秒あたりのデータ量、Mbpsは通常1秒あたりのメガビット数を表します。たとえば単位換算上、8 Mbpsは1 MB/sに相当しますが、実際のファイルダウンロード速度は通信経路のオーバーヘッド、接続先の応答、端末側の処理にも左右されます。一時的な最高速度に接続時間を掛けて、累計通信量を推定しないでください。
| 表示項目 | 確認できること | 直接は判断できないこと |
|---|---|---|
| アップロード累計 | 集計範囲内で送信したデータ量 | 送信したファイルの全容 |
| ダウンロード累計 | 集計範囲内で受信したデータ量 | ユーザーが実際に保存したファイル数・容量 |
| リアルタイム速度 | 現在、通信中かどうか | 期間全体の平均速度 |
| サーバー別グループ | 特定の接続先に割り当てられたデータ量 | デバイス全体の通信量やサーバー側の課金量 |
合計がアップロード量とダウンロード量の加算値なら、同じ集計期間・同じグループの数値を使ってください。画面上で四捨五入されるため、表示された2つの数値の合計と合計欄にわずかな差が出ることがあります。まず単位と小数点以下の桁数を確認し、すぐにデータの欠落と判断しないようにしましょう。
3. サーバー別とアプリ別は異なる視点
サーバー別では、接続が最終的にどのプロキシ経由で送信されたかを確認します。アプリ別では、リクエスト元のアプリを確認します。この2つは一対一に対応しません。同じアプリでも複数のドメインに接続し、ルールによって接続ごとに異なるポリシーが使われることがあります。また、1台のサーバーに複数のアプリからのリクエストが集まることもあります。
サーバー別の視点
- 確認対象
- 特定のサーバー項目に割り当てられた通信量
- 確認する場所
- Homeで選択中のサーバーとDataのグループ
- 比較条件
- 同じ集計期間・同じ接続条件
- 主な用途
- 接続先を切り替えたとき、どのグループの数値が増えるか確認する
サーバー名は項目を識別するためのものです。サーバー側アカウントの課金範囲と一致するとは限りません。
アプリ別の視点
- 確認対象
- アプリを識別して、そのアプリに割り当てられる接続
- 確認する場所
- Data画面に実際に表示されるグループ項目
- 識別上の制約
- ドメイン名やIPアドレスだけではアプリを特定できない
- 補助的な確認方法
- アプリを1つだけ操作し、操作前後の増分を比較する
画面にアプリ別の項目がない場合、ドメイン別のグループを正確なアプリ別統計と呼ばないでください。
iPhoneやiPadでは、VPNクライアントが各接続の完全なアプリ情報を取得できるとは限りません。Dataにサーバー、接続先アドレス、ドメイン名が表示される場合は、その項目が示す範囲で読み取ってください。アプリごとのシステム上のモバイルデータ通信量を確認するには、システムのSettings → Cellularを開きます。この統計は該当するモバイル通信の範囲のみを対象とし、同じ期間のWi-Fi通信量は含みません。また、クライアントの記録と自動的に同期されるものではありません。
たとえば、動画アプリがメディア用・ログイン用・分析用のドメインに接続する一方、別のアプリも同じパブリックCDNのアドレスを利用することがあります。あるドメインの通信量が20 MB増えたとしても、その接続先に関係する通信が増えたことを示すだけで、特定のアプリだけで20 MB使ったとは判断できません。バックグラウンド更新により、開いていないアプリが通信を続けることもあります。
結論:まず通信量の増分を確認してからアプリ別に判断する
ほかの通信を一時停止し、開始時の数値を記録してから、対象のアプリを1つだけ操作します。その後、Dataの数値の変化を比較してください。ドメインの合計値をそのままアプリ全体の通信量とするより、「今回の操作中に増えた量」として記録するほうが確実です。
4. ルールによってサーバー別の数値が変わる理由
Home → Global Routingで選ぶ項目は、通信の処理方法に影響します。Configは現在の設定ルールに従って処理し、Proxyはプロキシ経由、Directは直接接続を使います。Sceneでは、選択中のシーンとその条件も確認してください。常に同じ接続先を使う設定とは限りません。通信量を調べるときは、接続スイッチの状態だけでなく、現在のモードも記録しましょう。
以下は通信量の差を説明するためのルール例で、既存の設定を置き換える指示ではありません。PROXYは設定内で実際に使用できるポリシーに対応させてください。ドメインとIPではマッチ方法が異なり、ルールは上から順に評価されます。FINALはどのルールにも一致しない接続に適用するため、末尾に配置します。
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX,example.com,DIRECT:このドメインとサブドメインに一致するとDIRECTが使われます。該当する通信すべてがプロキシサーバーの累計に加算されるとは限りません。IP-CIDR,192.0.2.0/24,DIRECT,no-resolve:構文の説明には文書用の例示アドレス帯を使用しています。no-resolveを指定すると、このIPマッチのために追加のドメイン解決を行いません。GEOIP,CN,DIRECT:IP地理情報データベースに基づいて判定します。Webページの言語やドメインの末尾から判定するものではありません。FINAL,PROXY:前のルールに一致しない場合にのみPROXYを使用します。すでに一致したDIRECTルールを上書きするものではありません。
Data全体の数値が増えているのに、特定のサーバーグループがほぼ変わらない場合は、サブスクリプションを繰り返し更新する前に、適用されたルールと実際の接続先を確認してください。サブスクリプションの更新でサーバー項目や名前が変わっても、現在のリクエストが新しい項目に切り替わったとは限りません。既存の接続が開始時の接続先を使い続けることもあるため、比較には新しく開始したリクエストを使いましょう。
5. 再現可能な通信量チェックの方法
複数のアプリを同時に開くのではなく、時間帯・ネットワーク・サーバー・Global Routingを固定して、通信量の増分を比較するのが実用的です。必ずしも数値をリセットする必要はありません。テスト前後の数値を残しておくと、あとから確認しやすくなります。リセットが必要な場合は、先に記録を保存し、Data画面にある消去操作とその対象範囲を確認してください。接続ログの消去を通信量累計のリセットと混同しないようにしましょう。
- 開始時の数値を記録。開始時刻、Wi-Fiまたはモバイル通信、Homeで選択中のサーバー、Global Routingの状態、Dataの該当グループに表示されるアップロード量とダウンロード量を書き留めます。
- ほかの通信を減らす。ファイル同期、動画再生、ほかのダウンロードを一時停止します。Settings → On Demandを確認し、テスト中にネットワーク条件の変化で意図せず再接続されないようにします。
- 操作を1つだけ行う。1つのアプリで未読み込みのページを開くか、すでに手元にあるテストファイルをダウンロードします。サイズがわかっているファイルを選び、実際にデータ転送が行われたことを確認してください。
- 数値の更新を待つ。操作後にDataへ戻り、画面が更新されるのを待ってから、同じグループの数値を記録します。転送中の数値を最終値として扱わないでください。
- 増分を計算。終了時の値から開始時の値を引き、アップロードとダウンロードを別々に計算します。再テストする場合は、開始時の数値を改めて記録し、ほかの条件をそろえてください。
| 項目 | 開始時 | 終了時 | 今回の増分 |
|---|---|---|---|
| アップロード | 3.0 MB | 3.4 MB | 0.4 MB |
| ダウンロード | 120.0 MB | 132.5 MB | 12.5 MB |
| 合計 | 123.0 MB | 135.9 MB | 12.9 MB |
この表は計算例であり、実測値や固定のオーバーヘッド率を示すものではありません。テストファイルの表示サイズが10 MBで、ダウンロードの増分が12.5 MBなら、Webページの追加読み込み、再試行、バックグラウンド通信がなかったか確認してください。どの観測地点でプロトコルのヘッダー情報が含まれるかによっても数値は変わるため、差分のすべてを特定のプロトコルの影響と決めつけないでください。
6. リセット後も数値が残る理由とサーバー側の使用量との差
Dataのローカル記録、システムのモバイルデータ通信量、利用中サービスのアカウント使用量は、それぞれ異なる場所で計測されます。サーバー側では独自の集計期間、アップロード・ダウンロードの合算方法、課金ルールが使われることがあります。クライアントは接続処理中の通信を記録し、システムのモバイルデータ統計はモバイル通信に限って集計します。比較する前に開始・終了時刻と単位をそろえてください。特に、ローカルの1時間分の増分をアカウントの1か月分の累計と比較してはいけません。
切断して再接続したのに、数値がゼロに戻らないのはなぜ?
接続の切断と累計記録の消去は別の操作です。まず画面に表示されている集計範囲を確認してください。新しいテストを始めるときは、現在の数値を開始時の基準として記録すれば十分です。該当する統計項目のリセット操作を実行した場合に限り、その項目がゼロになったか確認しましょう。
利用中のサブスクリプションを更新したら、サーバー別の内訳が変わったのはなぜ?
Homeに戻って項目名と選択中のサーバーを確認し、更新前の記録と比較してください。更新によって名前や項目が追加・削除されたり、識別情報が変わったりすることがあります。更新前後の項目を、同一の連続した記録として扱わないでください。
スマートフォンを使っていないのに、ダウンロード量が増えるのはなぜ?
バックグラウンド同期や再生中のメディアを一時停止し、Settings → On Demandで接続が維持されていないか確認します。1分間の前後の増分を記録し、その時間帯の接続記録も確認してください。アプリが前面に表示されていなくても、ネットワークリクエストが発生することがあります。
サーバー側で計上された使用量がDataより多い場合、どちらを確認すればよい?
まず集計期間と単位をそろえ、同じアカウントを使うほかのデバイスの使用状況も確認してから、利用中のサービスの課金説明を確認してください。Dataは端末側での切り分けに使うものです。アカウントの残量は該当サービスの計測ルールに基づくため、両者が1バイト単位で一致するとは限りません。
確認しても大きな差が残る場合は、テスト時刻、ネットワークの種類、モード、前後の数値、実際の接続先を記録し、次は1つの条件だけを変えてテストしてください。認証情報を含むサブスクリプションURL、UUID、サーバーパスワードは公開しないでください。この記事ではクライアントの使い方を説明しており、サービスの選び方は扱いません。クライアントの買い切り購入と通信サービスのプランは別のものです。