Shadowrocketを初めて使うときは、まず4つの画面を区別しましょう。Homeではサーバーと接続、Configでは設定ファイル、Dataでは通信量と接続ログ、Settingsではアプリの設定を管理します。サーバー情報やサブスクリプションを用意済みで、英語の画面表示にまだ慣れていない方を対象に、サブスクリプションの追加場所、2種類のConfigの違い、接続ログを使った確認方法を説明します。
4つの画面:作業内容から探す
Shadowrocketの英語表示はサーバー名ではなく、特定の回線サービスを購入済みという意味でもありません。「接続情報を追加する」「通信の経路を決める」「動作結果を確認する」のどれを行うかを考えると、ボタンを一つずつ訳すより目的の画面を見つけやすくなります。以下ではiPhone・iPadでよく見られる画面構成を説明します。項目の位置や表示方法は、実際の画面で確認してください。
| 画面名 | 主な機能 | よく使う操作 |
|---|---|---|
| Home | サーバー一覧、接続スイッチ、ルーティングの選択 | 登録済みサブスクリプションの追加、サーバー選択、接続開始 |
| Config | 設定ファイルの管理 | 使用中の設定ファイルとルールの確認 |
| Data | 通信量と接続ログの確認 | 接続先、処理結果、通信量の変化を確認 |
| Settings | アプリの動作と機能の設定 | On Demandなどのオプションを探す |
これら4つの画面での変更は、互いに同じ意味ではありません。Homeでサーバーを変更してもConfigファイルは変わらず、Dataで通信量が増えていても、すべてのWebリクエストが成功したとは限りません。問題を調べるときは、どの画面のどの項目を変更したか記録しましょう。複数箇所を同時に変更すると、比較が難しくなります。
Home:サーバー、Subscribe、接続スイッチ
Homeは日常操作の起点です。サーバー項目にはアドレス、ポート、プロトコル、認証情報が保存されます。Subscribeでは、登録済みのサブスクリプションを追加し、その内容からサーバー一覧を作成・更新します。サブスクリプションURLと設定ファイルは別のものです。前者は通常サーバー情報の管理に使い、後者はルールやDNSなどの設定をまとめます。
-
追加画面を開く
Homeを開き、右上の「+」をタップしてAdd Serverを表示します。サーバー情報を1件だけ登録する場合は、その情報に指定されたTypeを入力します。サブスクリプションを追加する場合は、Type → Subscribeを選びます。
-
サブスクリプションを入力
URL欄に自分のサブスクリプションURLを完全な形で貼り付け、スキーム、パス、パラメーターを確認します。本文中の例
https://example.com/sub?token=xxxxは説明用で、実際に使えるサブスクリプションではありません。 -
保存して更新
保存後にHomeへ戻り、リストを下に引いて更新します。サーバー項目が表示されるか確認してください。エラーが出た場合は、URLの有効性と現在のネットワークをまず確認し、同じアドレスを繰り返し追加しないでください。
-
サーバーを選択して接続
Homeで使用するサーバーを選び、Global Routingを確認してから接続スイッチをオンにします。初回接続時は、システムの案内に従ってVPN構成の追加を許可し、結果を確認できるWebページにアクセスします。
サブスクリプションを更新すると、サーバー情報が再取得されます。Webページの再読み込みとは異なり、手動で管理している他の設定が更新されるとは限りません。更新後は選択中の項目を確認し、サーバーが引き続き表示されているか確かめましょう。URLや認証パラメーターを変更する前に、元の情報を保存してください。サブスクリプションURLには個人情報が含まれる場合があるため、問題の相談時はパラメーターを隠してください。
Global Routing:Config、Proxy、Direct、Scene
HomeのGlobal Routingでは、Shadowrocketが処理する通信の経路を選びます。ここでのConfigはルーティング方式の一つで、画面下部にあるConfigページの名前とは異なります。以下の「おすすめ」は、現在の設定ルールを確認済みであることを前提としています。どの設定ファイルにも当てはまる推奨ではありません。
Config
おすすめ現在の設定ルールとポリシーに従って経路を決めます。DIRECTに一致したリクエストは直接接続し、プロキシポリシーに一致したリクエストは該当するポリシーで処理します。先行するルールに一致しない場合は、FINALを確認します。「それ以外は必ず直接接続」とは限りません。
適した用途:明確なルールがあり、接続先に応じて経路を分ける日常利用。
Proxy
処理対象の通信をプロキシ経由にします。通常は、選択したサーバーから接続先にアクセスできるか一時的に確認するときに使います。ただし、端末上のあらゆるシステム通信や処理対象外の接続がプロキシを経由するとは限りません。
適した用途:Configと比較し、ルール選択が原因かどうかを調べる。
Direct
処理対象の通信を直接接続し、選択したプロキシサーバーを経由させません。Directの選択と接続スイッチをオフにする操作は別です。アプリが接続や処理の記録を続ける場合もあります。
適した用途:接続先にローカルネットワークから直接アクセスできるか確認する。
Scene
設定済みのシーン条件に応じて、対応するルーティング設定を適用します。選択する前に、シーンの条件と関連設定を確認してください。4つ目の通信プロトコルでも、「最速のサーバーを自動選択する」機能でもありません。
適した用途:ネットワーク環境ごとのシーンを設定・検証済みの場合。
比較に役立つ例として、同じサーバー、同じネットワーク、同じ接続先でも、ProxyではアクセスできるのにConfigでは失敗することがあります。まずルールの一致状況とポリシーの参照先を確認してください。ただし、DNSや接続ログも確認する必要があり、サーバーの故障とはすぐに断定できません。テスト後は元の方式に戻し、一時的な設定を普段使いの設定として残さないようにしましょう。
Config:設定ファイルとルールキーワード
Configページでは、現在選択されているファイルとその内容を確認します。一方、Home → Global Routing → Configでは、そのファイルのルールに従って通信を処理するかを確認します。ファイルが存在していても選択されているとは限らず、ファイルを選択してもすべてのリクエストがプロキシ経由になるとは限りません。ルールは通常、上から順に評価されるため、先に一致するルールを優先して確認しましょう。
2つのConfigの違い
- Configページ
- 設定ファイルの管理と選択
- Global Routing → Config
- 現在の設定に従って通信を処理
- 確認する順序
- まず選択中のファイルを確認し、次にルーティング方式を確認
同じ英単語が、ファイル管理画面とルーティングオプションの両方に表示されます。
ルールを読むときのポイント
- DOMAIN-SUFFIX
- ドメインのサフィックスで照合
- IP-CIDR
- 指定されたIPv4ネットワーク範囲で照合
- FINAL
- 前のルールに一致しない場合の最終処理
ルールのアクションとポリシー名は、現在の設定と照らし合わせて確認してください。
以下は構文を読むためのルール例で、既存ファイルをそのまま置き換えるためのものではありません。192.0.2.0/24はドキュメント用のネットワーク範囲です。GEOIP,CNはIP地理データベースの判定に基づき、Webページの言語やドメインのサフィックスで判定するものではありません。
[Rule]
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:example.comとそのサブドメインに一致した場合、直接接続します。IP-CIDR:接続先IPが属するネットワーク範囲に一致します。例のno-resolveは、このルールで追加のドメイン名前解決による照合を行わないことを示します。GEOIP,CN,DIRECT:データベース上の接続先IPの所在地に基づいて照合します。結果はデータベースの内容に左右されます。FINAL,PROXY:先行するルールに一致しない場合、プロキシ経由で処理します。元のファイルがDIRECTなら、最終的な経路は異なります。
Data:通信量だけでなくリクエストの結果も確認
Dataでは通信量と接続ログを確認できます。各ログ画面に表示される項目は異なる場合があるため、実際の画面で確認してください。トラブルの調査では、接続先のドメインまたはIP、接続時刻、適用されたポリシー、表示されるエラー情報を確認します。累計通信量はデータが記録されたことを示すだけで、DNS、接続の確立、ページ内容の読み込みがすべて成功した証拠にはなりません。
- 現在のネットワーク、選択中のサーバー、Global Routingを変えずに、確認するWebページを開き、テスト時刻を記録します。
- Dataに戻り、該当する時刻と接続先のログを探します。Webページは複数のドメインにアクセスすることがあるため、アドレスバーに表示されたメインドメインだけを確認しないでください。
- ログにDirectと表示された場合は、Global Routingと一致したルールを確認します。Homeでサーバーを選択しているだけで、リクエストがプロキシ経由だと決めつけないでください。
- 名前解決または接続エラーが表示された場合は、エラーの原文を控えたうえで、DNS、サーバー情報、ローカルネットワークを個別に確認します。一度に変更する項目は一つにしてください。
たとえば「Homeの遅延テストでは数値が出るのに、Webページの読み込みが終わらない」という状況は矛盾ではありません。遅延テストで確認できるのは、そのテスト方法で測定した結果だけです。Webページの表示には、ドメインの名前解決、接続先ポート、後続リソースの読み込みも必要です。Dataに想定したリクエストが見つからない場合は、キャッシュ、ログ記録の設定、表示範囲も確認してください。「ログがない」ことを、リクエストが直接接続で成功した証拠とすぐに解釈することはできません。
Settings:On Demandとプロトコル設定は別の階層
Settingsではアプリの動作を管理します。Settings → On Demandでは、設定した条件に応じて接続動作を制御します。ここで確認するのは「いつ接続を開始・再開するか」であり、Global Routingで決める「接続後の通信経路」とは異なります。手動で切断しても再接続する場合は、ConfigやProxyを何度も切り替えるのではなく、まずOn Demandの条件を確認してください。
- 確認する場所:Settings → On Demandを開き、有効になっている条件と接続時の動作を確認します。例の条件をすべてのネットワークにそのまま適用しないでください。
- 確認方法:テスト可能な環境でWi-Fiとモバイル通信を切り替え、Homeの接続状態が想定どおりか確認します。ネットワークを一つだけ使ったテストでは、すべての条件を検証できません。
- トラブル対処の優先順位:まずOn Demandの元の設定を記録し、条件を一つだけ一時的に変更して確認後、元に戻します。自動接続の問題をサーバーの故障と混同しないようにしてください。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardはプロトコル名です。HomeやConfigのような画面名でも、ProxyやDirectのようなルーティング方式でもありません。Add Serverで入力するTypeは、手元にあるサーバー情報に合わせてください。速度を試すためにTypeだけを変更し、合わない認証項目を残してはいけません。自動接続、ルールによる振り分け、プロトコルのパラメーターはそれぞれ別の設定です。トラブルの際も分けて確認しましょう。
初回利用後の確認リスト
サブスクリプションの追加と接続テストが終わったら、以下の項目で各画面の役割を把握できているか確認しましょう。英語表示の日本語訳を覚えることより、サーバー情報の入手先、使用中のルール、リクエストの実際の経路を確認する方法を説明できることが大切です。
- Homeで選択中のサーバーを確認し、手動で追加した項目とサブスクリプションから作成された項目を区別できる。
- Configで現在の設定を確認し、Global Routingで選択中の方式の役割を説明できる。
- 累計通信量や遅延の数値だけで判断せず、Dataでテストしたリクエストのログを見つけられる。
- Settings → On Demandで、自動接続の条件が自分の利用環境に合っているか確認できる。
- 登録済みのサブスクリプションを更新したら選択中のサーバーを再確認し、ルールを変更したら実際に一致した結果を確認する。
Shadowrocketは買い切りのクローズドソースの商用アプリです。アプリの購入料金に通信サービスは含まれません。利用には、自分で用意したサーバー情報またはサブスクリプションが必要です。アプリはAppleプラットフォーム向けにのみ配信され、主にiPhone・iPadで利用できます。Mac、Apple TV、Apple Visionの互換性、システム要件、購入対象となる地域はApp Storeの表示をご確認ください。入手先はApp Storeのみです。購入前に、デベロッパ名 Shadow Launch Technology Limited、公式アイコン、アプリID 932747118を確認してください。