· はじめに · 約10分

Shadowrocketの使い方|初心者向け10の疑問:サーバー追加・接続・Global Routing

Shadowrocketの初期設定でよくある疑問10選。Add Serverやサブスクリプションの追加、VPN構成の許可、Global Routingの違い、接続後の確認方法を解説。

この記事の概要

Shadowrocketを初めて使うときは、「アプリを確認 → 自分の設定を読み込む → VPNを許可 → ルーティング方式を選ぶ → 接続を確認」の順に進めます。iPhone・iPadを初めて使う方向けに、サーバーの手動追加とサブスクリプションの違い、接続スイッチとルールの関係、タイムアウト・更新失敗・自動再接続時の確認手順を解説します。ご自身ですでに利用しているサービスとサブスクリプションがあることを前提としています。

1. Shadowrocketを購入したのに、サーバーの追加が必要なのはなぜ?

購入するのはクライアントアプリの利用権であり、リモートサービスではありません。Shadowrocketはクローズドソースの商用アプリで、買い切り型です。アプリの購入と接続サービスの契約は別です。初回起動時にHomeの一覧が空の場合は、ご自身の設定を読み込むか、Add Serverから既存サーバーの情報を入力します。アプリを購入しても、サービスのアカウントや有効期間、接続条件が整っているとは限りません。

入手先はApp Storeのみです。アプリを確認する際は、デベロッパがShadow Launch Technology Limited、アプリIDが932747118であること、アイコンが当サイト掲載の公式アイコンと一致することをご確認ください。この記事では主にiPhone・iPadでの操作を説明します。システム要件と購入対象デバイスはApp Storeのページをご確認ください。

932747118
App StoreのアプリID
3つの入口
Home / Config / Settings
よく使う3つのモード
Config / Proxy / Direct。ほかにSceneもあります

2. Home、Config、Settingsの役割は?

サーバーと設定ファイルを区別すると、同じ操作を繰り返さずに済みます。Homeのサーバー項目には接続先と認証方法が設定されています。Configの設定ファイルには、リクエストに適用するルールと使用するポリシーが記述されています。サーバーを追加しても、自分に合ったルールが読み込まれたとは限りません。設定ファイルを切り替えても、サーバーの認証情報は変わりません。

トラブルシューティングでは、まず問題がどの層にあるかを切り分けます。認証に失敗する場合は、通常サーバー情報を確認します。特定のWebサイトへのルーティングだけが想定と異なる場合は、Global RoutingとConfigのルールを確認します。サーバー、設定ファイル、ネットワークを同時に変更すると、原因を特定しにくくなります。

3. Add Serverで手動追加するには、どの情報が必要?

単一サーバーの接続情報が手元にある場合は、手動追加が適しています。Home → 右上の「+」からAdd Serverを開き、まずTypeを確認してから、アドレス、ポート、認証情報を入力します。プロトコルは任意に置き換えられません。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは入力項目と接続方式が異なるため、ご自身が利用しているサービスの設定に合わせてください。

  1. プロトコルを確認

    Home →「+」→ Add Server → Typeの順に進み、既存の設定で指定されたプロトコルを選択します。サーバー名だけを見てTypeを判断しないでください。

  2. アドレスを入力

    サーバーアドレス欄にはホスト名またはIPアドレスを、ポート欄にはサービスから指定された数字を入力します。指定ポートが443なら、443と入力してください。この番号がすべての接続に共通するわけではありません。

  3. 認証情報を確認

    プロトコルに応じてパスワード、UUID、鍵などを入力し、設定で指定されたTLS、サーバー名、トランスポートの情報を確認します。該当する項目がない場合、推測した値を追加しないでください。

  4. 保存して選択

    保存後、Homeに戻って追加した項目を選択します。まず1つの接続を確認してから、ほかの項目をまとめて変更すると入力ミスを特定しやすくなります。

よくある入力ミスは、完全なURLをホスト名欄に入力する、ポート番号の前後に空白が入る、UUIDの文字が1つ抜ける、TLS用のサーバー名を接続先アドレスとして入力する、といったものです。入力後は元の情報と項目ごとに照合してください。証明書の検証を無効にすることを、通常の解決策として使わないでください。

4. サブスクリプションの追加方法と、更新後に項目が変わる理由

サブスクリプションは、ご自身が利用しているサービスから設定を取得するための入口です。Webページのブックマークやアプリの購入証明ではありません。通常、クライアントアプリでサーバー一覧を取得し、更新時に項目を同期できます。単一サーバーの情報がある場合は前のセクションの手順で手動追加し、サブスクリプションURLがある場合はTypeにSubscribeを指定してください。サブスクリプション内のサーバーを1つずつ入力する必要はありません。

  1. ご自身のサブスクリプションURLを、クエリパラメーターも含めてコピーします。チャット内の説明文や改行、文末の句読点を含めないようにしてください。
  2. Home →「+」→ Add Serverを開き、TypeをSubscribeに設定します。サブスクリプションURLを入力して保存してください。
  3. Homeに戻って画面を下に引いて更新し、想定したグループと項目が表示されるか確認します。テストするサーバーを選んでから接続してください。
  4. 更新後は、現在選択されている項目をもう一度確認してください。名前、件数、設定情報が変わった場合は、ご利用サービスからの変更案内と照合します。

サブスクリプションを更新すると、リモート側から取得した内容に合わせて項目が同期されます。手動で変更した名前や設定が、次回の更新で上書きされる場合があります。残しておきたいカスタム項目は別途記録し、更新前に必要な情報を保存してください。「更新成功」と表示されても、すべてのサーバーで通信確認が済んだわけではありません。

5. 初回接続時にVPN構成の追加を求められるのはなぜ?

Homeの接続スイッチを初めてオンにすると、VPN構成の追加を許可するようシステムから求められる場合があります。クライアントアプリがシステムのネットワーク拡張機能を使って通信を処理するための許可であり、再購入やリモートサーバーへのアカウント登録ではありません。システムの確認画面にShadowrocketと表示されていることを確認し、デバイスの案内に従って許可した後、アプリに戻って接続状態を確認してください。

VPNの状態とアクセス結果は別のものです。アイコンが表示されても、サーバー認証、DNS名前解決、接続先のWebサイトで問題が起こる場合があります。反対に、DirectでWebページを開けても、プロキシ経由の通信が正常だとは判断できません。

6. Global RoutingでConfig、Proxy、Directをどう選ぶ?

通常のルールベースの振り分けにはConfigを選びます。選択中のプロキシ経路を一時的に確認する場合はProxy、現在のネットワークから直接アクセスした結果と比較する場合はDirectを使います。この3つは初心者がよく使うモードですが、Global Routingの選択肢はこれだけではありません。状況に応じて切り替えるSceneもあります。

よく使うルーティング

Config
現在の設定ファイルにあるルールに従ってリクエストを処理します。
Proxy
トンネル経由で処理されるリクエストを、選択中のプロキシ経路に送ります。
Direct
直接接続します。この方法だけでは、リモートのプロキシが利用可能かどうかは確認できません。

ルールの確認はConfigから始めます。モードを切り替えたら、新しいリクエストを送って結果を比較してください。

シーンと接続

Scene
設定したシーンの条件に応じて、関連するルーティング動作を切り替えます。
Homeの接続スイッチ
現在のトンネル接続をオン・オフします。
Settings → On Demand
ネットワーク条件に応じたオンデマンド接続を管理します。

ルーティングの選択、接続スイッチ、自動起動は別々の設定です。確認時はそれぞれを個別にチェックしてください。

Proxyは、デバイス上のすべてのバックグラウンド通信を例外なく処理する設定ではありません。既存の接続、システムのネットワーク動作、トンネルの処理範囲によって、確認結果が変わる場合があります。比較テストでは対象のWebページを閉じて再度開き、必要であれば対象のアプリを再起動してください。既存の接続結果を新しい設定の効果と誤認するのを防げます。

7. Configを選択しているのに、ルールどおりに振り分けられないのはなぜ?

まずConfigで正しいファイルが選択されていることを確認し、次に[Rule]セクションの順序を確認します。ルールは上から順に照合され、一致した時点で対応するポリシーが適用されます。対象範囲の広いルールが上にあると、その下のより具体的なルールに一致しない場合があります。FINALは、それまでに一致しなかったリクエストを処理するルールなので、末尾に置いてください。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

このコードは構文の説明用であり、個人の設定ファイルをそのまま置き換えるものではありません。example.comは例示用ドメイン、192.0.2.0/24はドキュメント用のサンプルネットワークです。1行目はこのドメインとサブドメインをPROXYに送ります。2行目はサンプルIPネットワークに一致し、no-resolveはこのIPルールのためにドメイン名を積極的に解決しないことを示します。

8. 接続スイッチがオンなのに、実際に使えるかどうかを確認するには?

「ローカルネットワーク → 選択中のサーバー → 実際のリクエスト → ルールの一致」の順に確認します。遅延テストに数値が表示されても、そのテスト方法で応答があったことを示すだけです。Webページ、動画、その他の実際の用途でのテストに代わるものではなく、すべての接続先にアクセスできる証明にもなりません。テスト結果はネットワーク、テスト方法、接続先とあわせて記録してください。

  1. インターネット接続を確認:まずWi-Fiまたはモバイル通信が使えることを確認し、Webページでの認証が必要なネットワークではログイン画面を完了してください。
  2. 選択中の項目を確認:Homeで現在選択されている項目を確認し、Connectivity Testを実行します。応答あり、タイムアウト、認証エラーを区別してください。
  3. 新しいリクエストを送信:接続後、アクセスしたいページを開きます。キャッシュされたページの内容を見るだけでは、今回のリクエストがネットワークを通過した証明にはなりません。
  4. ルーティングを確認:Configを使用している場合は、リクエストの記録やログにある接続先、一致したルール、ポリシーを確認し、結果が想定どおりかを確かめてください。

たとえば、同じ接続先にDirectではアクセスでき、Proxyでは失敗する場合は、プロキシ情報とリモートへの到達性を優先して確認します。ProxyではアクセスできるのにConfigでは失敗する場合は、ルール、ポリシーの選択、DNS関連の設定を確認してください。これは条件を比較するための方法であり、原因をあらかじめ決めつけるものではありません。サブスクリプションを何度も更新する必要もありません。

9. 接続をオフにしたのに自動でオンに戻るのはOn Demandが原因?

On Demandが関係している可能性があります。まずSettings → On Demandを確認してください。指定したネットワーク条件に応じて接続または切断する機能で、Global Routingの代わりではありません。条件を満たすと自動接続が起動し、手動で切断した状態が変わる場合があります。接続が繰り返しオン・オフになるときは、自動起動の条件とサーバーの障害を分けて調べてください。

  1. Settings → On Demandを開き、現在の有効状態と設定済みの条件を記録します。特にWi-Fi名、モバイルネットワーク、ドメイン関連の条件を確認してください。
  2. 手動で原因を調べるには、まずOn Demandを一時的にオフにし、Homeに戻って接続を切断します。
  3. テスト中のネットワークを一度切り替え、接続が自動で復帰するかを確認します。同時に、システムのVPN設定で該当する構成のオンデマンド状態も確認してください。
  4. テスト後は必要に応じて元の条件に戻し、設定済みのWi-Fiとモバイル通信の両方で個別に確認します。片方のネットワークだけで済ませないでください。

Wi-Fiの条件を設定するときは、名前が実際のネットワーク名と一致している必要があります。似た名前を同じ条件として扱うことはできません。ドメインへのアクセスをトリガーに設定している場合は、「リクエストをきっかけに接続を開始すること」と「接続後にルールに基づいて経路を選ぶこと」を区別してください。前者はオンデマンド条件、後者は現在のルーティング方式と設定に従います。

10. サブスクリプションがタイムアウトする、Webが開かない、遅延は低いのに遅い場合の確認手順

まず再現可能な現象を記録し、一度に変更する項目は1つに絞ります。次の3つの問題は、それぞれサブスクリプションの取得経路、ルーティングの選択、実際の通信速度から確認します。すべてを「削除して再インストール」で解決しようとしないでください。記録にはネットワークの種類、選択中の項目、Global Routingのモード、接続に失敗した対象、エラーメッセージを残し、個人の認証情報は伏せてください。

サブスクリプションの更新がタイムアウトする場合

まずローカルネットワークが使えることと、サブスクリプションURLが完全であることを確認してから、Homeを下に引いて更新します。利用可能なプロキシがあり、サブスクリプションURLへのアクセスにプロキシが必要な場合は、Settings → Subscribe → Update via Proxyを確認し、接続できる状態で再試行してください。利用可能な接続がない状態でこの設定をオンにしても、通信経路は確立されません。認証や有効期間の問題は、ご自身が利用しているサービスの状態を確認してください。

接続済みなのにWebページが開かない場合

まずHomeで選択中のサーバーを確認し、Connectivity Testを実行してからGlobal Routingを確認します。Directのままでは、アクセスできるかどうかでプロキシの利用可否を判断できません。ProxyではアクセスできてConfigでは失敗する場合は、Configに移動し、現在のファイル、ルール、ログを確認してください。特定のドメインだけに問題がある場合は、名前解決の結果とそのドメインに適用されるポリシーを確認します。

遅延の数値は低いのに読み込みが遅い場合

遅延は特定のテスト方法で測定した応答時間であり、帯域幅、パケットロス、接続先サイトの応答速度を直接示すものではありません。同じネットワーク、同じ接続先で、ご自身が利用しているサーバーを比較してください。一度に変更するサーバーは1つにし、ページの完全な読み込みや実際の利用状況を確認します。地域名が近い、またはプロトコル名が異なるという理由だけで、性能が必ず良くなるとは判断できません。

確認が終わったら、現象を説明できる最小限の変更だけを残します。接続情報を修正した場合、ルールまで同時に書き換える必要はありません。ルールを修正した場合も、サブスクリプションをすべて削除する必要はありません。一時的に変更したGlobal RoutingとOn Demandの設定を元に戻し、最後に普段アクセスする接続先で再確認すれば、初期設定は完了です。

App Storeの正規アプリを確認