この記事は、Shadowrocketを使う準備ができており、利用するサービスとサブスクリプション、または接続情報をすでにお持ちの方を対象としています。アプリの入手、設定の追加、Global Routingの選択、システムの許可、テストとメンテナンスの順に進め、「設定が保存された」「システムVPNに接続した」「目的のWebサイトにアクセスできた」の3つの状態を区別します。問題が起きたら一度に変更する条件は1つだけにし、結果を比較してください。
1. 初めて使う前に準備すること
ShadowrocketはAppleプラットフォーム向けの有料アプリで、入手先はApp Storeのみです。購入前に製品名Shadowrocket、デベロッパ名Shadow Launch Technology Limited、アプリID 932747118をご確認ください。アプリは買い切りです。システム要件、互換性、購入条件はApp Storeの掲載内容をご確認ください。
アプリの買い切りと接続サービスのプランは別です。アプリを購入した後も、ご自身で用意した接続情報またはサブスクリプションが必要です。この記事では、それらをアプリで使う方法のみを説明し、接続先、サブスクリプション、サービス事業者の提供・販売・推奨は行いません。
- 入手先と確認方法:入手方法の案内でApp Storeの掲載情報を確認してください。
- 設定情報:個別の接続情報、共有リンク、QRコード、サブスクリプションURLのどれを受け取ったか確認してください。インポート方法はそれぞれ異なります。
- 画面ごとの役割:Homeでは接続項目と接続状態、Configではルール設定、Settingsではアプリの設定を管理します。
- プライバシー対策:サブスクリプションURLに含まれるtoken、パスワード、UUIDは機密情報として保管してください。問い合わせ用のスクリーンショットでは、あらかじめ隠しましょう。
2. Add Serverの入力方法と、アドレスだけでは足りない理由
Homeの右上にある「+」をタップしてAdd Serverを開き、最初にTypeを選んでから、そのTypeに必要な項目を入力します。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardではパラメータの構成が異なります。どれもサーバーアドレスを含むからといって、あるTypeの設定を別のTypeにそのまま入力することはできません。
-
Typeを確認する
Home → + → Add Serverを開き、手元の情報に合ったTypeを選択します。情報にVLESSと記載されているならVLESSを選び、遅延テストの結果からプロトコルを推測しないでください。
-
アドレスを確認する
サーバーアドレスとPortをそれぞれ入力します。元の接続情報でポートが443と指定されていれば443を入力してください。他の項目で同じポートが使われていても、まとめて変更しないでください。
-
認証情報を入力する
Typeに応じてパスワード、UUID、キー、暗号化方式を入力します。貼り付け後、先頭や末尾に空白が入っていないか確認してください。メモを認証情報として入力しないよう注意しましょう。
-
トランスポート設定を確認する
TLS、SNI、トランスポートパスなどの追加項目が情報に含まれている場合は、それぞれ対応する欄に入力します。SNIは接続先アドレスと同じとは限りません。手元の接続情報を基準にしてください。
-
保存して選択する
保存後にHomeへ戻り、新しい項目が表示され、選択されていることを確認します。項目を保存しただけでは、システム接続は開始されません。
完全な共有リンクやQRコードがある場合は、対応するインポート方法を使うと手入力によるミスを減らせます。インポート後もType、アドレス、ポート、重要な認証項目を確認してください。インポートに成功したことは内容が認識されたことを示すだけで、接続先が現在利用できる保証にはなりません。
3. サブスクリプションを追加すると項目が複数表示されるのはなぜ?
サブスクリプションURLは複数の接続設定を取得するためのもので、サーバーアドレス欄に直接入力する接続先ではありません。Home → + → Type → Subscribeを開き、ご自身のサブスクリプションURLを貼り付けて保存します。次に、そのサブスクリプションを更新します。取得に成功すると、Homeにサブスクリプションのグループと各項目が表示されます。
https://example.com/sub?token=xxxxはURLの構造を説明するための例であり、接続には使えません。実際のURLは省略せずにコピーしてください。?以降のクエリパラメータが認証に使われる場合があるため、むやみに削除しないでください。
- グループ内に複数の項目が表示される:通常はサブスクリプションから複数の接続候補が返されたことを示します。すべてを同時に有効にする必要はありません。
- サブスクリプション名だけが表示される:まず更新を実行し、ネットワークエラー、認証エラー、内容形式のエラーがないか確認してください。
- インポート後に自動接続されない:Homeに戻って接続項目を1つ選び、接続スイッチとGlobal Routingを確認してください。
- 単独の共有リンク:リンクに対応するインポート方法を使い、無理にSubscribeとして設定しないでください。
サブスクリプションの更新により、グループ内の項目が置き換わる場合があります。残しておきたいメモや手動変更は、あらかじめ記録してください。サブスクリプション内の項目を一時的に変更しても、独立した設定として保存され続けるとは限りません。
4. Global Routingの4つのモードの選び方
Home → Global Routingではトラフィックの経路を選びます。一方、Homeで選択した接続項目は、プロキシ経路で使う接続情報を決めます。この2つは別の設定です。Global Routingを切り替えても、パスワード、ポート、プロトコル設定は修正されず、すべての接続先に適したルールが自動生成されるわけでもありません。
日常的にルールで通信を振り分ける場合は、まずConfigで現在有効な設定を確認し、Homeに戻ってGlobal Routing → Configを選択します。特定の接続先に適用されるルールを調べるときは、ProxyとConfigの結果を一時的に比較できますが、元の設定を記録し、テスト後に戻してください。Directはアプリが削除されたことを意味せず、接続項目が削除されたことも意味しません。
Sceneを使う場合は、まず自分のScene設定を理解し、内容を確認してください。Scene条件を設定していない初心者は、「すべてのサイトでプロキシが必要か自動判定する」汎用ボタンとして扱わないでください。ネットワークが変わった後の動作も、Scene条件と合わせて確認しましょう。
5. VPN構成を追加するよう求められたら許可してよい?
初めて接続を有効にすると、システムからVPN構成の追加を求められる場合があります。これはShadowrocketのネットワーク拡張をシステムのネットワーク管理に接続するための許可であり、アプリの購入やサブスクリプションのインポートとは別の手順です。操作を行ったShadowrocketからの要求であることを確認してから、画面の指示に従って許可し、認証を完了してください。
- Homeで目的の接続項目が選択されていることを確認し、接続スイッチをオンにします。
- システムの許可画面を確認し、VPN構成の追加を許可します。デバイスのパスコードや生体認証が必要な場合は、システムの指示に従って完了してください。
- Shadowrocketに戻って接続状態を確認し、接続先を明確にしたWebページでアクセスをテストします。
- 以前に該当するシステム構成を拒否または削除した場合は、アプリ内で再度接続を有効にし、許可画面が再表示されるか確認してください。
システムVPNが接続済みと表示されるのは、ネットワーク拡張が起動していることを示します。接続先の認証、DNS、各Webサイトへのアクセスがすべて正常とは限りません。特定のページが開けないからといって、すべての設定を先に削除しないでください。まずアプリの状態、選択中の項目、ルーティングモードを確認すると、問題の手がかりを残しやすくなります。
6. 遅延は正常なのにWebページが開かないとき、何を確認する?
遅延テストの結果は、特定の方法と接続先を使った、その時点での結果にすぎません。ミリ秒の数値が表示されても、ブラウザーで使うドメインの名前解決、TLSハンドシェイク、実際のリクエストが成功したとは限りません。同じ接続先、同じ接続項目、同じネットワークを固定して、順番に比較してください。
遅延の数値が出るのに、ページの読み込みが終わらないのはなぜ?
Homeに戻って接続スイッチがオンであること、Global Routingの設定、選択中の項目がテストした項目と同じであることを確認します。その後、Connectivity Testの結果と実際のWebページへのリクエスト結果を別々に記録してください。
Webサイトが1つだけ開けない場合、再インストールが必要?
まず、アクセスできることがわかっている別の接続先を開いて比較し、失敗したリクエストに対応するルールとエラー情報を確認します。特定のドメインだけで失敗する場合は、サイト側の障害、DNSの名前解決、経路選択を切り分けます。すべての設定をすぐにリセットしないでください。
Wi-Fiでは失敗し、モバイル通信では正常な場合、どう記録する?
接続項目とGlobal Routingはそのままにして、ネットワークだけを切り替え、同じ接続先での結果を両方のネットワークについて記録します。エラーがドメインの名前解決に関係する場合は、現在のConfigにあるDNS設定を確認してください。DNS、プロトコル、ルールを同時に変更しないようにしましょう。
ここで挙げた条件は、問題を切り分けるための確認項目であり、実測結果ではありません。問い合わせる際は、「使用したネットワーク、Global Routing、接続先ドメイン、エラー文、発生までの手順」を記録すると、「接続できない」とだけ伝えるより役立ちます。スクリーンショットにサブスクリプションURL、パスワード、キーが写らないようにしてください。
7. サブスクリプションを更新する方法と、失敗したときに再追加が必要か
サブスクリプションの更新は、登録済みURLから設定を再取得する操作であり、Shadowrocketアプリのアップデートではありません。Homeでサブスクリプションのグループを更新できます。下に引いて更新する場合は、処理が完了するまで待ち、グループの結果を確認してください。一度タイムアウトしただけで同じ名前のサブスクリプションを続けて作成しないでください。重複したグループがあると、その後の選択や問題の切り分けが難しくなります。
- サブスクリプションURLが完全か確認してください。特にtokenやクエリパラメータ、コピー時に混入した空白に注意しましょう。
- デバイスがネットワークに接続できることを確認してから、既存のサブスクリプショングループを一度更新します。
- タイムアウトの場合は、サブスクリプションURLにアクセスするネットワーク経路を確認します。認証エラーの場合は、URLと既存アカウントの有効状態を確認してください。
- 設定ではなくWebページが返される場合は、アカウント管理ページのURLをコピーしていないか、リンクが無効になっていないか確認してください。
- 更新に成功したら、選択中の接続項目を改めて確認してください。元の項目が削除されたり、パラメータが変わったりしているのに、以前の判断をそのまま使わないようにしましょう。
接続項目が現在使える場合でも、サブスクリプションURLに現在アクセスできるとは限りません。両者で使うアドレスやネットワーク経路が異なる場合があります。更新経路を調整する場合は、SettingsのSubscribe関連オプションとアプリ内の案内を先に確認してください。提供元が不明なエラーを回避するために証明書検証を無効にしないでください。
オフにしたのに再接続されるとき、On Demandはどこで確認する?
手動の接続スイッチ、On Demand、Global Routingはそれぞれ役割が異なります。スイッチは現在の接続、On Demandは条件に応じた接続動作、Global Routingは接続中の経路選択を制御します。そのため、Directに変更してもOn Demandは無効になりません。手動で切断した後に再接続しても、スイッチの故障とは限りません。
On Demandの確認項目
- 設定場所
- Settings → On Demand
- 確認内容
- 有効かどうか、現在のネットワーク条件
- 動作確認
- 切断後、ネットワークの切り替えで再接続するか確認する
元の条件を記録してから、一時的にオフにして比較する
手動で確認する際の基準
- 接続の場所
- Home → 接続スイッチ
- ルーティングの場所
- Home → Global Routing
- 設定の場所
- Config → 現在有効な設定
ルーティングと設定を固定し、接続状態の変化だけを確認する。
On Demandが原因かどうかを確認するには、Settings → On Demandで条件を記録し、関連する条件を一時的に無効にします。次にHomeに戻って手動で切断し、以前に再接続が起きたネットワーク切り替え操作を繰り返してください。動作が変わった場合は、条件設定を1つずつ確認します。調査後は用途に応じて設定を戻し、システムのネットワーク設定をすべて消去しないでください。
9. Configとサブスクリプションの違い、FINALの配置場所
サブスクリプションは主に接続項目の取得に使います。Configの設定では、ルールやDNSなどの動作も定義できます。完全な設定ファイルが提供される場合もあるため、リンクの見た目だけで用途を判断せず、インポートする内容を確認してください。Global RoutingでConfigを選んだ場合に参照されるのは、現在有効な設定内のルールであり、保存済みのファイルすべてが同時に適用されるわけではありません。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
このコードはルールの形式と順序を示すもので、既存の設定に置き換えられる完全なファイルではありません。DOMAIN-SUFFIXはドメインの末尾とそのサブドメインに一致します。IP-CIDRは接続先IPが属するネットワーク範囲に一致します。GEOIPは接続先IPの地理情報をもとに判定します。FINALは、それ以前のルールに一致しなかった場合の最終処理を指定します。
- ルールは通常、上から順に確認され、最初に一致したルールで処理が決まります。優先したい具体的なルールは、範囲の広いルールより前に置いてください。
DOMAIN-SUFFIX,example.com,PROXYにはhttps://もWebページのパスも記述しません。192.168.0.0/16はIPネットワークの範囲を表し、ポート範囲ではありません。この範囲の後ろに:443を付けないでください。FINAL,PROXYはルールの末尾に置きます。途中に置くと、それ以降のルールが確認されなくなります。
変更前に現在の設定のコピーを保存し、ルールは一度に1つだけ追加または変更して、同じ接続先でテストしてください。GEOIPの結果は使用するデータと接続先IPによって変わるため、Webページの言語だけでどの地域ルールに一致したか判断できません。
10. iPhoneとiPadの設定方法、購入内容は自動で引き継がれる?
アプリの購入履歴と接続設定は別の情報です。購入時と同じAppleアカウントでiPadにサインインし、App Storeの購入済み項目からShadowrocketを探してください。再ダウンロードの可否や購入条件は、App Storeの掲載内容をご確認ください。ストアの購入履歴があっても、各デバイスでシステムVPNの許可が必要です。
2台それぞれで購入、設定、許可を確認する
iPhone
- 現在使っている項目のType、ポート、入手元を確認する。
- Global Routingと有効なConfigを記録する。
- 既存のサブスクリプションまたは設定のバックアップを安全に保管する。
iPad
- App Storeで同じアカウントの購入履歴を確認する。
- 自分の設定をインポートし、情報がそろっているか確認する。
- 初回接続時に、システムVPNの許可を個別に完了する。
購入履歴は設定の同期を意味しません。両方のデバイスで、選択中の項目、ルーティングモード、実際のアクセス結果をそれぞれ確認してください。
iPadを横向きにしたり画面を分割したりすると、利用できる幅に応じてリストや詳細の表示が変わりますが、操作の判断基準はHome、Config、Settingsのままです。ボタンの位置が変わったからといって、サブスクリプションを新しく作成しないでください。2台でアクセス結果が異なる場合は、同じ接続項目、同じ設定、同じネットワーク条件を使っているか確認してから、利用中のサービスにあるデバイス利用制限を確認します。
ここまでの確認が済んだら、「情報が正しい → 接続項目を選択済み → システムの許可済み → ルーティングが明確 → 接続先にアクセス可能」の順に確認してください。問題が起きた場合は、最初に想定と異なった手順から確認すれば十分です。購入やインストールから毎回やり直す必要はありません。