· トラブル対処 · 約9分

Shadowrocketの速度が遅いときの原因と対処法|サーバー・回線・プロトコル・ローカルネットワークを順番に確認

Wi-Fiやモバイル通信から始め、プロトコル設定、回線状況、個別サーバーまで順に確認します。各段階でShadowrocket内でできるチェック方法を紹介します。

この記事の要点

この記事では、Shadowrocketに自分で用意したサーバーまたはサブスクリプションを設定し、接続はできるものの通信が遅い場合の確認方法を説明します。ローカルネットワーク、通信経路、個別サーバー、プロトコル設定、DNS、オンデマンド接続の順に確認してください。一度に変更する項目は一つだけにし、同じ接続先で再テストします。遅延、転送速度、接続失敗を切り分け、後から確認できる記録を残しましょう。

1. 「遅い」の内容を切り分ける:接続待ちか、転送速度の低下か

接続スイッチがオンでも、システムトンネルが有効になっていることしか分かりません。サーバーからWebサイトまでの通信経路全体が正常とは限りません。ページを開くまで時間がかかる、ダウンロード開始後の速度が遅い、動画が何度も止まるといった症状は、それぞれ別の問題です。テスト前に発生時刻、Wi-Fiかモバイル通信か、Homeで選択中のサーバー、Global Routingの設定を記録してください。

ローカルネットワーク システムトンネル ルールによる振り分け サーバーからの通信 接続先サイト

Connectivity Testで確認できるのは、通信経路の一部に限られることがあります。一度の遅延測定値が低くても、継続的なデータ転送が速いとは限りません。特定のWebサイトの応答が遅くても、すべてのサーバーが使えないわけではありません。遅延の数値をダウンロード速度に換算しないでください。

確認できる症状優先して確認する項目記録方法
最初の読み込みに時間がかかるが、その後は正常DNS、接続確立、TLSハンドシェイク初回と2回目以降のアクセスに違いがあるか記録する
継続的な転送速度が遅いローカル回線の帯域、サーバー負荷、外向きの回線同じリソース、同じネットワークで続けて再テストする
頻繁に切断される、またはタイムアウトするネットワークのパケットロス、サーバーのポート、UDPへの到達性ネットワークを切り替える前後の結果を記録する
特定のWebサイトだけ遅いそのドメインに適用されるルールと接続先サイトの状態別のドメインを一つ追加して比較する

2. ローカルネットワーク:Wi-Fiとモバイル通信を比較する

ローカルネットワークの状態は、以降のテストすべてに影響します。公衆Wi-Fiの認証が済んでいない、ルーターが混雑している、Wi-Fiの電波が不安定といった状況でも、Shadowrocket接続後の通信が遅くなることがあります。以下はiPhoneでの手順です。iPadでモバイル通信と比較するには、デバイスがモバイル通信に対応している必要があります。

  1. Homeで接続スイッチをオフにし、Safariで、現在のネットワークから通常アクセスできるページを開きます。この時点でも遅い場合は、まずローカルネットワークを確認してください。すぐにサーバー設定を変更しないでください。
  2. Wi-Fiの認証ページがあれば認証を済ませ、デバイスで大容量通信を行っているアプリやタスクを一時停止します。ルーターに近づいて再テストしてください。DNSやGlobal Routingは同時に変更しないでください。
  3. Homeに戻り、元のサーバーを選択して接続をオンにし、同じ接続先で再テストします。
  4. Wi-Fiをオフにしてモバイル通信に切り替わったことを確認し、同じサーバー、同じGlobal Routing設定でテストします。モバイルデータの使用量に注意してください。
  5. それぞれのネットワークで接続できるか、初回アクセスだけ遅いのか、継続的な転送が中断されるのかを記録します。
2種類
ローカルネットワークを比較:Wi-Fiとモバイル通信
1項目
1回のテストで変更する条件は一つだけ
3回
一度の変動で判断しないよう、同じ接続先での繰り返し確認がおすすめです

結論:問題を再現できるネットワークを特定する

同じサーバーが特定のWi-Fiでのみ継続的に不安定になる場合は、そのネットワークの認証、混雑、通信制限を優先して確認してください。ローカルネットワークの問題を覆い隠すために、先にプロトコルを変更しないでください。

3. Global Routing:通信が想定した経路を通っているか確認する

HomeでGlobal Routingを開き、現在の設定がProxy、Direct、Config、Sceneのどれかを記録します。確認を始める前に元の設定を控え、テスト後に戻してください。モードの切り替えは速度を上げる操作ではありません。モードによって通信経路が決まるだけで、回線の帯域が増えるわけではありません。

設定トラブルシューティングでの意味確認方法
Proxy全通信をプロキシ経由にして比較するHomeで選択中のサーバーを確認し、同じ接続先にアクセスする
Direct直接接続と比較する現在のネットワークから通常直接アクセスできる接続先だけでテストする
Config現在の設定にあるルールとポリシーに従って通信を振り分けるConfigを開き、実際に有効なファイルを確認する
Scene設定したSceneの条件に応じて、対応する設定を適用する現在のネットワークに対応するSceneを確認する。固定のプロキシ経路として扱わない

Proxyでは正常でConfigでは遅い場合、次に確認するのは対象ドメインに一致したルールと、そのルールで指定されたポリシーが実際に選択しているサーバーです。Configで現在の設定ファイルを開き、DOMAIN-SUFFIX、IP-CIDR、GEOIP、FINALの順に確認してください。FINALは、それ以前のルールに一致しない場合の最終処理です。先に一致したルールを上書きするものではありません。

DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

以下はルール構文の説明であり、そのまま置き換えて使うための完全な設定ではありません。example.comは例示用のドメインです。実際の診断では、問題が発生する接続先を対象にしてください。ポリシーグループを使っている場合は、グループ内で現在選択されている項目も確認します。ルール行の末尾にPROXYと書かれているだけで、Homeで想定したサーバーが使われていると判断しないでください。

4. 個別サーバーと回線:現在の設定を使って比較する

ここでいうサーバーや「ノード」とは、ユーザー自身が利用しているサービスに登録された接続項目を指します。サーバーの入口、入口から出口までの回線、出口から接続先サイトまでの経路のどこかが混雑すると、速度が低下することがあります。クライアントに表示される遅延だけでは、どの区間が混雑しているか特定できません。

  1. Homeで現在のサーバーに対してConnectivity Testを実行し、テスト方法、結果、時刻を記録します。測定値が表示されても、大容量のデータ転送が正常と確認できたわけではありません。
  2. ローカルネットワークとGlobal Routingの設定は変えず、自分が利用している別のサーバーに切り替えて同じ接続先にアクセスします。
  3. 特定のサーバーだけ異常な場合は、その編集画面を開き、元の設定情報とアドレス、ポート、プロトコル、認証情報を照合します。
  4. 複数のサーバーで同じWebサイトだけ遅い場合は、別の接続先もテストし、出口から接続先までの経路の問題か、全般的な転送の問題かを切り分けます。
  5. 同じテストを時間を変えて繰り返します。夜間だけ異常になる場合は、負荷や混雑の手がかりになりますが、判断にはサーバー側の状態や回線の記録も必要です。

サブスクリプションURLにはアクセス認証情報が含まれることがあります。サービス提供元に問い合わせる際は、サーバーの別名、発生時刻、ネットワークの種類、テスト結果を伝えれば十分です。サブスクリプションURL全体、パスワード、秘密鍵を公開記録に添付しないでください。このガイドでは、ユーザーがすでに利用しているサービスの確認方法を説明します。

5. プロトコル設定:接続条件を照合してから転送状況を確認する

Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは接続条件が異なります。比較のためにプロトコル名だけを変更しないでください。別のプロトコルをテストするには、対応するサーバー設定が必要です。同じポート番号でも、プロトコルを入れ替えられるとは限りません。たとえば443はポート番号を示すだけで、使用するプロトコルや通信方式を判断する材料にはなりません。

プロトコルサーバー側と一致させる設定項目誤解しやすい症状
Shadowsocksアドレス、ポート、暗号化方式、パスワード認証情報の不一致による接続失敗であり、帯域不足ではない
VMess / VLESSユーザーID、通信方式、および該当するTLS、Host、Pathの設定通信経路の設定が誤っていると、接続確立時にタイムアウトすることがある
Trojanパスワード、TLS、サーバーが要求するServer NameTLSハンドシェイクの失敗により、ページが読み込み中のままになることがある
Hysteria2認証、TLS、UDPへの到達性、関連する帯域設定QUICベースの接続は、現在のネットワークにおけるUDPの利用条件に左右される
WireGuard鍵、Endpoint、トンネルアドレス、ルーティング関連の設定接続項目が登録されていても、UDPハンドシェイクが完了したとは限らない

Homeでサーバーの編集画面を開き、保存してある元の設定と項目ごとに照合します。テストのために証明書の検証を無効にしないでください。サーバー名、証明書、デバイスの時刻など、実際の問題を修正します。MTUや帯域の値を根拠なく大きく設定するのも避けてください。MTUはパケットサイズに関係し、帯域設定は利用するサービスの説明に従って設定するもので、汎用の高速化スイッチではありません。

エラー:connection refused

原因と対処:接続先のポートまたは途中の機器が接続を明示的に拒否しています。まずHomeのサーバー編集画面でアドレスとポートを確認し、利用中のサービス提供元にポートが待ち受け状態か問い合わせてください。分流ルールを繰り返し変更しても、ポート拒否は解決しません。

エラー:i/o timeout

原因と対処:読み書き処理が制限時間内に完了しなかったことを示します。このメッセージだけでは、混雑か到達不能か判断できません。テスト、ハンドシェイク、データ転送のどの段階で発生したかを記録し、ローカルネットワークを切り替えて同じサーバーで再テストしてください。

ここに示したのは接続時に発生する可能性があるエラーメッセージです。表示内容は失敗した段階や内部の実装によって異なり、接続に失敗するたびに同じメッセージが表示されるわけではありません。問い合わせる際は実際に表示された文言を残し、すべての異常を「速度が遅い」とだけ説明しないでください。

6. DNSとOn Demand:初回アクセスの遅さやネットワーク切り替え後の不調を確認する

DNSはドメイン名の名前解決に影響します。また、接続の再利用、DNSキャッシュ、接続先サイトのキャッシュによって、2回目以降の表示速度も変わります。そのため、初回の読み込みが遅く更新後は速いという症状は、名前解決や接続確立に関する問題の手がかりにはなりますが、断定はできません。HTTPSのURLをIPアドレスに置き換える方法も、確実な確認方法ではありません。証明書、Server Name、サイトの振り分け先が変わる可能性があります。

  1. SettingsでDNS関連の設定を確認し、Configで現在使用中のファイルにあるDNS設定も確認します。まず現在の名前解決先と上書き設定を記録してください。
  2. 現在のネットワークから設定済みのDNSサーバーに到達できるか、プロキシ経由と直接接続で結果に違いがあるかを確認します。複数のDNSアドレスや分流ルールを同時に変更しないでください。
  3. 問題があると確認できた項目を一つだけ変更し、再接続後に同じドメインへアクセスします。初回と2回目以降の違いを記録してください。
  4. Wi-Fiとモバイル通信を切り替えた後にのみ問題が起きる場合は、Settings → On Demandを開き、現在の自動接続条件を記録します。
  5. On Demandを一時的にオフにし、Homeで手動で切断してから再接続します。現在のネットワークでの結果を確認したら、元の自動接続設定に戻してください。

結論:自動接続と通信性能は分けて確認する

手動で再接続すると復旧し、ネットワーク切り替え後に同じ問題が繰り返される場合は、On Demandの条件とSceneに対応する設定をまず確認してください。プロトコルの転送性能が原因だとすぐに判断しないでください。

7. よくある質問と、問い合わせに使える確認記録

遅延の小さいサーバーなのに、ダウンロードが遅いのはなぜですか?

遅延テストと継続的なデータ転送では、測定している内容が異なります。Global Routingと接続先のリソースを固定し、Homeで利用中のサーバーを二つ切り替えて、それぞれ繰り返しテストしてください。一度の遅延値だけで順位を付けず、転送が安定しているか記録します。

夜だけ通信が不安定です。プロトコルの選択が間違っていますか?

まず元のプロトコル、元のサーバー、同じ接続先を使い、時間帯を変えて再テストしてからローカルネットワークを切り替えます。同じ時間帯に同じ症状が何度も起きる場合は、記録を利用中のサービス提供元に渡して、負荷や回線状況を確認してください。発生時刻だけでプロトコルの問題とは判断できません。

Proxyに切り替えると正常になります。ずっとこの設定で使う必要がありますか?

まずConfigに戻し、現在の設定ファイルで接続先ドメインに一致するルールとポリシーグループの選択を確認します。誤ったルールや使えないポリシーを修正してから再テストしてください。Proxyは比較のための条件であり、修正後も常に使う必要がある設定ではありません。

サブスクリプションを更新した後に遅くなりました。接続項目を追加し直すべきですか?

まずHomeで選択中の項目が変わっていないか確認し、次に接続項目を開いてアドレス、ポート、プロトコルを照合します。サービス提供元が設定を変更している場合は、有効な設定を使用してください。以前の速度測定結果に戻すために、既存の項目を何度も上書きしないでください。

確認後の記録は、「とても遅い」という感想だけでなく、別の人が同じ条件を再現できる内容にします。認証情報を公開する必要はありません。実際に確認したことを、以下の項目に沿って記録してください。

ShadowrocketはAppleプラットフォーム向けの有料クライアントで、主にiPhoneとiPadで利用できます。入手先はApp Storeのみです。開発者はShadow Launch Technology Limited、アプリIDは932747118です。アプリの買い切り価格と、ユーザーが利用するサービスの回線費用は別々に発生します。システム要件、対応デバイス、購入可能な地域はApp Storeの製品ページをご確認ください。

App Storeで正規版を確認