この記事は、Shadowrocketに利用中のサブスクリプションを追加済みの方向けです。まずConnectivity Testで現在接続できない項目を除外し、同じネットワークで繰り返しテストします。そのうえで、利用するWebサイト、出口の地域、プロトコルや通信方式を考慮して候補を絞り、実際の閲覧や継続的な通信で確認します。リスト上で最も数値が小さい項目をそのまま選ぶのではなく、実際の利用環境で確かめることが大切です。この記事では既存の設定の使い方を説明します。ノードやサブスクリプションの提供・販売・推奨は行いません。
1. テスト対象と現在のルーティングを確認する
ノードとは、既存の設定に含まれる接続先のことで、通常はサーバーアドレス、ポート、プロトコル、認証情報などで構成されます。サブスクリプションは、これらの項目を更新するための情報源です。ノード名に含まれる地域、倍率、用途などはラベルであり、クライアントによる実測結果ではありません。サブスクリプションの更新後はアドレスやパラメータが変わることがあるため、比較前にリストの更新が完了していることを確認し、利用可能な設定を復旧用に残しておきましょう。
以下では、iPhone / iPad版のHome、Config、Settings画面を例に説明します。他のプラットフォームでは画面構成が異なる場合があるため、ボタンの位置をそのまま当てはめないでください。テスト時は「どのノードを選択したか」と「リクエストが実際にどのルールを通ったか」を分けて考える必要があります。Global RoutingがDirectの場合、通常の閲覧で選択中のプロキシノードは使われません。Configを使用している場合は、現在の設定にあるルールによってリクエストの経路が決まります。
- Proxy:プロキシ経由の通信をまとめてテストするモードです。適用されるルールが自動選択された別の項目ではなく、テスト対象のノードを指していることも確認してください。
- Direct:現在のネットワークから直接接続します。選択中のプロキシノードの実際の通信状況を確認する用途には使えません。
- Config:現在のConfigに設定されたルールで通信を振り分けます。DIRECT、REJECT、その他のルールによって、テスト対象サイトへの経路が変わる場合があります。
- Scene:設定済みのシーンに従って動作します。結果を比較する前に、シーンで使用しているルーティングと設定を確認してください。
2. Connectivity Testの数値の見方
Connectivity Testは、Webページの読み込み全体を測るテストでも、継続的なダウンロード速度を測るテストでもありません。結果はテスト方式、テスト先、現在のネットワークによって変わります。TCP系のテストでは主に接続確立までの時間が示され、HTTP系ではプロキシとのネゴシエーション、TLS、接続先からの応答なども関係する場合があります。ここでいう「接続確立の速さ」は、短時間の接続性テストを簡潔に表したもので、アプリを開いた後に発生するすべての待ち時間を意味するわけではありません。
一度だけミリ秒の値が小さくても、そのテストが速く完了したことを示すにすぎません。Mbpsに換算できるわけではなく、動画の連続再生、ファイルのダウンロード、長時間接続の安定性を保証するものでもありません。一方、Timeoutは制限時間内にテストが完了しなかったことを示します。テスト先、ネットワーク経路、ポート、設定パラメータなどが原因として考えられ、これだけでサーバーが恒久的に使えないと判断することはできません。
- 比較前にテスト方式とテスト先を統一します。TCPとHTTPの数値を同じランキングに並べて比較しないでください。
- 候補ごとに少なくとも3回テストし、最速値だけでなく、中央値、ばらつき、タイムアウト回数を記録します。
- システムアップデート、クラウド同期、大容量ファイルの転送を一時停止し、端末のバックグラウンド通信が上り・下り回線を圧迫しないようにします。
- テストに使ったWi-Fiまたはモバイルネットワークを記録します。接続ネットワークを切り替えた後は、以前の順位を過去の記録として扱ってください。
3. 既存のリストから候補を絞る5つの手順
まず接続性を確認し、その後に実際の用途でテストします。ノードを切り替えるたびにDNS、ルール、プロトコルのパラメータまで変更すると、結果が変わっても原因を特定できません。以下の手順では候補を2つ残せば十分です。サブスクリプション内のすべての項目について、長時間のダウンロードテストを行う必要はありません。
-
リストを確認する
Homeを開き、利用中のサブスクリプションの更新が完了していることを確認します。テストする項目のサーバーアドレス、ポート、プロトコルが正しく設定されているか確認してください。同じ名前の項目がある場合は接続パラメータで見分け、名前だけで同じ経路だと判断しないようにします。
-
条件を固定する
同じWi-Fiまたはモバイルネットワークを使い続け、Home → Global Routingで現在の選択を記録します。テスト中はConfigを切り替えないでください。Settings → On Demandを有効にしている場合は、テスト中に接続状態が変わらないよう、接続ルールを事前に確認します。
-
繰り返しテストする
HomeでConnectivity Testを開き、同じテスト方式で3回実行します。結果が連続して得られ、ばらつきの少ない項目を優先し、Timeoutの回数も記録してください。一度の失敗だけを理由に削除しないようにします。
-
実際の接続を確認する
Homeで候補を選び、接続スイッチをオンにして、同じWebサイトで動作を確認します。必要に応じて一時的にGlobal Routing → Proxyに切り替え、適用されるルールが候補のノードを指していることを確認してください。最初の画面、その後のページ、実際に使うサービスが正常に動作するか記録します。
-
ルール設定を戻す
テスト後はGlobal RoutingとOn Demandを元の設定に戻します。現在のネットワークで利用できることを確認した予備の項目を残し、ネットワークの変更後やサブスクリプションの更新後に再確認してください。今日の結果を長期的な順位として扱わないようにします。
4. 地域は利用するサービスと接続ネットワークを基準に判断する
地理的な距離は、通信経路に影響する要素の一つにすぎません。端末からサーバーまでの間には、異なる通信事業者間の接続、入口での中継、混雑した経路などが含まれることがあり、近い地域として表示されていても遅延が短いとは限りません。サーバー名に記載された地域が、最終的な出口IPの所在地と一致するとも限りません。利用するサービスが地域を判定する際は、IPアドレスのデータベースに加え、アカウントの地域や端末の設定を参照する場合があります。
利用するサービスで特定の地域が必要な場合は、まず条件に合う既存の項目を選び、その中で安定性を比較します。テスト値を小さくするために、サービスで必要な地域条件を無視しないでください。アカウントを使うサービスでは、テスト中に地域を頻繁に切り替えると追加認証が発生することがあるため、避けるのが無難です。
同じ候補を2種類の接続ネットワークでそれぞれ確認
Wi-Fi
- まずWi-Fiから基本的なネットワークサービスに正常にアクセスできることを確認します。
- 同じアクセスポイントに接続したままテストし、場所を移動して電波状況が変わらないようにします。
- 普段利用する時間帯の結果を記録し、ローカルネットワークの混雑と接続先の変動を区別します。
モバイルネットワーク
- 電波が比較的安定した場所でテストし、移動しながら比較しないようにします。
- Connectivity Testをもう一度実行し、Wi-Fiでの順位をそのまま使わないでください。
- 長時間の通信ではデータ通信量が増えるため、確認にかける時間とデータ量を抑えます。
ネットワークごとに別の候補を残してもかまいません。すべての接続環境で使える「最速のノード」を一つに決める必要はありません。
5. プロトコルの種類で決まること、決まらないこと
プロトコル名は接続や通信の仕組みを表すもので、速度のランクではありません。まず利用中のサーバーが求めるプロトコルとパラメータを満たし、そのうえで接続ネットワークが該当する通信方式に対応しているか確認します。クライアント側の種類を別の名前に変更しても、サーバーが自動的に対応するわけではありません。特に認証情報、TLS、トランスポート層、サーバーポートは既存の設定と一致させる必要があります。
| プロトコル | 使用前に確認すること | これだけでは判断できないこと |
|---|---|---|
| Shadowsocks | サーバーアドレス、ポート、暗号化方式、パスワードが一致していること。UDPが使えるかどうかは、サーバーとネットワークの両方に依存します。 | 名前が短くても、処理が速いとは限りません。 |
| VMess | UUID、トランスポート方式、TLSの設定が一致していること。認証エラーが起きる場合は、端末のシステム時刻も確認します。 | ハンドシェイクが成功しても、すべての接続先サービスを利用できるとは限りません。 |
| VLESS | UUIDと使用するトランスポート、安全性に関わるパラメータが一致していること。プロトコル名だけでは接続の保護方式を判断できません。 | 他のプロトコルとの名称の違いは、速度の順位を示すものではありません。 |
| Trojan | パスワード、TLS証明書の検証、Server Nameの設定が正しいこと。 | TLSを使用していても、あらゆるネットワーク制限を回避できるわけではありません。 |
| Hysteria2 | QUICを使用するため、UDP経路が利用できることと、認証・証明書のパラメータが正しいことを確認します。 | 遅延の大きいネットワークでも、帯域幅が一定になるとは限りません。 |
| WireGuard | 鍵、Peer、Endpoint、トンネルアドレス、ルーティング範囲を確認します。通信にはUDPを使用します。 | トンネルが確立しても、DNSやすべてのルートが正しく設定されているとは限りません。 |
ポート番号だけでプロトコルを特定することはできません。たとえばTCP 443とUDP 443は、異なる通信の入口です。「443」と表示されているだけでTrojanだと断定したり、ネットワークが必ず通信を許可すると判断したりすることはできません。使用するポートは利用中の設定に従ってください。遅延を下げるためにむやみに変更したり、証明書エラーを無視するために検証を無効にしたりしないでください。
6. ルールや自動接続による誤判定を防ぐ
よくある誤解の一つは「ノードを切り替えたのにWebページの表示が変わらない」というものです。Configモードでは、対象のドメインにDIRECTが適用されていたり、別のポリシーグループが指定されていたりするため、表示が変わらないことがあります。ルールは通常、設定された順に照合されます。DOMAIN-SUFFIXはドメインの末尾、IP-CIDRはアドレス範囲で照合し、GEOIPはIPアドレスの地域情報を使って判定します。FINALは他のルールに該当しない場合に適用されます。ノードを選択しても、すべてのルールが上書きされるわけではありません。
ルーティングの確認記録
- 項目
- Home → Global Routing
- 設定
- Configで現在有効な設定
- 確認するルール
- DOMAIN-SUFFIX / IP-CIDR / GEOIP / FINAL
- 確認ポイント
- 対象のリクエストが、テスト対象のノードを含むルールを通っているか
Webページの表示をノードの性能に結び付ける前に、まず適用されたルールを確認します。
接続状態の確認
- 項目
- Settings → On Demand
- 役割
- 設定した条件に応じて接続動作を開始する
- 確認場所
- Homeの接続スイッチと現在のネットワーク
- テスト終了後
- 自動接続の設定を元に戻す
On Demandは接続を開始する条件を管理する機能であり、ノードの速度測定や品質の順位付けを行う機能ではありません。
特定のWebサイトだけが開けない場合は、そのサイトに適用されるルール、DNSの結果、サービス自体の状態を確認します。すべての候補で同時に問題が起きる場合は、まずローカルネットワーク、サブスクリプションのパラメータ、現在の接続状態を確認してください。設定を一度にすべてリセットするのではなく、一度に一つだけ変更して結果を記録すると、再現可能なトラブルシューティングの手掛かりを残せます。詳しい手順は接続トラブルの対処ガイドをご覧ください。
7. 遅延テストと実際の利用に関するよくある質問
遅延が最も小さいのに、Webページの表示が遅いのはなぜですか?
まずGlobal Routingで実際にどの経路が使われているか確認し、同じページを2つの候補で比較します。Webページの表示にはDNS、TLS、複数のリソース取得、コンテンツの転送が必要ですが、短時間のテストではこれらすべてを確認できません。ブラウザーのキャッシュも再表示の結果に影響するため、キャッシュ済みのページと初回読み込みを比べないようにしてください。
Timeoutと表示されてもWebページは開けます。削除したほうがよいですか?
すぐに削除する必要はありません。ノードとネットワークを変えずに、Connectivity Testの方式とテスト先を確認してから、もう一度テストしてください。特定のテスト先に接続できなくても、すべての用途で使えないとは限りません。また、WebページのリクエストがDIRECTや別のルールではなく、対象ノードを通っていることも確認します。
同じノードが夜になると遅くなります。プロトコルを変更すべきですか?
まず同じ時間帯に予備の候補と比較し、ローカルネットワークが混雑していないか確認します。プロトコルを比較できるのは、サーバー側で該当する設定がすでに提供されている場合に限られます。Typeをそのまま変更しないでください。「テスト結果は安定しているが継続通信が遅い」「ハンドシェイクも頻繁にタイムアウトする」のように記録すると、「遅い」だけの場合より原因を調べやすくなります。
モバイルネットワークに切り替えると、すべての候補が不安定になる場合はどうすればよいですか?
まずモバイルネットワーク自体が使えることを確認し、HomeでConnectivity Testを再実行します。UDPに依存する既存の設定だけで問題が起きる場合は、現在のネットワークでUDPが利用できるか確認してください。サブスクリプションに別の通信方式の項目があれば、比較に使えます。特定のネットワークでの制限を、すべての環境でそのプロトコルが使えないという意味に捉えないでください。
選ぶ順番は「用途の条件に合う」「接続できる」「繰り返しテストして安定している」「実際の用途で問題がない」です。遅延値は候補を絞る目安の一つであり、最終的な判断材料ではありません。