Shadowrocket 使い方
お手元にある情報をもとに、追加、モード選択、接続、確認の順に進めます。まず接続を再テストできる状態にしてから、ルールや自動化設定を調整します。
開始前 / 準備するもの
アプリと接続情報を準備
この記事では、iPhoneとiPadでの初回利用手順を説明します。対応デバイスとシステム要件はApp Storeの掲載内容をご確認ください。購入・インストールがまだの場合は、先に正規版の確認とインストール方法を読み、その後このページに戻ってください。操作前に元の情報を保管し、既存の設定を変更する場合は、利用できている設定を上書きしないよう先にコピーを保存します。
サブスクリプションURLは、サーバー一覧を取得するためのアドレスです。個別のサーバー情報には通常、プロトコル、アドレス、ポート、認証項目が含まれます。入力画面への入口は似ていますが、入力方法は異なります。まず手元の情報がどちらに当たるか確認し、該当する手順を選んでください。サブスクリプションURL全体をサーバーのHostに入力したり、個別のパラメーターを設定ファイルとして読み込んだりしないでください。
このページの画像はすべてApp Storeの公式スクリーンショットで、画面や項目を見分けるために掲載しています。アプリ内の項目は、現在の設定、プロトコル、表示言語によって異なる場合があります。実際のデバイスに表示される内容をご確認ください。最初の4手順が終わってからOn Demandなどの自動化設定を行い、初回のトラブル対処中はできるだけネットワーク環境を変えないようにしてください。
01 / Add Server · Subscribe
Add Server:サーバーの追加またはサブスクリプションの読み込み
Shadowrocketを開き、Homeを表示します。画面下部のSERVERグループにサーバー情報が表示されます。Add Serverをタップして入力画面を開きます。読み込み方法は1つだけ選んでください。サブスクリプションURLをお持ちの場合はSubscribe、サーバー情報一式をお持ちの場合は該当するプロトコルを選びます。QRコードもご自身が用意した情報のものを使い、読み取り後に内容を確認してください。表示名だけで設定が正しいと判断しないでください。
サブスクリプションURLをお持ちの場合:Subscribeを選択
- Add Serverを開き、Typeをタップして、種類の一覧からSubscribeを選びます。
- URL欄にサブスクリプションURL全体を貼り付けます。貼り付け後、先頭、末尾、クエリパラメーターを確認し、説明文や改行が混入していないか、文字が抜けていないかを確かめてください。
- 保存してHomeに戻り、サブスクリプションの取得が完了するまで待ちます。SERVERグループに項目が表示されていることを確認してください。
サブスクリプションURLには認証情報が含まれる場合があります。URL全体を公開の場に貼ったり、スクリーンショットに含めたりしないでください。保存後に項目が表示されない場合は、取得失敗のメッセージを確認し、元の情報を提供した相手にURLの有効性とShadowrocketで利用できる内容かどうかを確認します。サブスクリプションの名前を変更しても、URLの誤りは解決しません。同じサブスクリプションを何度も追加すると見分けにくくなるため、まず既存の項目を確認してください。
後でサブスクリプションを更新する場合は、既存の項目を更新してから、サーバー一覧に変化があったか確認します。更新で同期できるのは一覧であり、すべての接続問題が解決するわけではありません。更新後に選択中の項目が削除された場合は、現在の一覧から別の項目を選んでから接続を確認してください。
サーバー情報をお持ちの場合:Typeを確認して項目ごとに入力
Add ServerでTypeを設定してから、Host、Portと、選択したプロトコルで必要な認証項目を入力します。公式スクリーンショットにはPasswordやMethodを含むフォームが表示されていますが、Typeによって入力項目は異なります。すべてのプロトコルに共通する入力例として扱わないでください。Hostにはサーバーのドメイン名またはアドレスを、Portには元の情報に記載された値を入力します。推測した値や別の項目の値を使わないでください。
たとえば、ShadowsocksのMethodとPasswordは元の情報に記載された値と一致させます。Trojan、VLESSなどでTLS、SNIやその他の通信項目が表示される場合も、資料と照らし合わせて一つずつ確認してください。エラーを回避するために証明書の検証を安易に無効にしないでください。プロトコルの項目が分からない場合は、用語クイックリファレンスで意味を確認してから変更します。
情報がQRコードの場合はScan QR Codeを使用できます。Import from Cloud JSONは別形式の構造化データを読み込むための入口であり、通常のサブスクリプションURLを入力する場所ではありません。保存後にHomeへ戻り、SERVERに選択可能な項目があることを確認します。ここまでで情報の入力は完了ですが、サーバーが利用可能かどうかはまだ確認できていません。次に、リクエストをどのモードで処理するか決めます。
02 / Global Routing · Config
Global Routing:3つのモードを確認
Homeに戻り、Global Routingをタップします。ここではリクエストの処理方法を選択します。サーバーの追加や認証の代わりにはなりません。初回利用時はConfig、Proxy、Directの違いを明確にしておきましょう。「モードが想定と異なる」状態を「読み込みに失敗した」と誤認しにくくなります。
| モード | 処理方法と確認ポイント |
|---|---|
| Config(設定) | 現在有効な設定ファイルのルールとポリシーに従ってリクエストを処理します。まずConfig画面で選択中のファイルを確認してください。 |
| Proxy(プロキシ) | リクエストをプロキシ経由で処理します。現在のプロキシ経路を一時的に確認するのに適しています。実際の処理範囲はアプリとシステムの動作に従います。 |
| Direct(直接接続) | 直接接続で処理します。このモードでは、プロキシ経由になることを確認目標にしないでください。 |
Configを使う前に、現在の設定ファイルを確認
使用する設定ファイルがある場合は、画面下部のConfigを開き、ファイルが存在し、選択されていることを確認します。ファイルを一覧に追加しただけでは、現在有効な設定になっているとは限りません。内容を確認するには、該当ファイルの編集画面を開き、General、Ruleなどのセクションを確認します。右側の公式スクリーンショットは設定編集画面の例であり、初回利用時に各セクションを手入力する必要があるという意味ではありません。
サーバーのサブスクリプションとルール設定は別の情報です。前者は主に接続先を提供し、後者はDNS、マッチングルールや関連する動作を決めます。サブスクリプションを読み込んだだけで、振り分けルールも揃っているとは限りません。設定をまだ用意していない場合は、Proxyで短時間接続を確認し、サーバーへの経路が利用できることを確かめてからConfigに戻ってルールを整えます。テスト後は、本来使うモードに戻してください。
まずは基本的なルールを理解し、複雑な設定は後から追加
以下の2行は読み方の例であり、初回接続時に貼り付ける必要はありません。同じ接続でも、リクエスト先によって適用されるポリシーが異なることを示しています。ファイルを変更する前に、既存の設定でポリシーがどのように組まれているか確認してください。
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
1行目はドメイン末尾でexample.comとそのサブドメインを照合し、一致した場合にPROXYを使用します。2行目のFINAL,DIRECTは、それ以前のルールに一致しない場合にDIRECTを使用します。example.comは構文の例です。Ruleの順序は結果に影響するため、Webサイトへのアクセスがプロキシ経由か確認する際は、選択中のサーバーだけでなく、該当リクエストに適用されたルールも確認してください。
この段階では、現在のモードと設定ファイル名を把握しておけば十分です。General、Rule、Host、URL Rewriteの書き方を詳しく知りたい場合は、ルールと設定のリファレンスを参照してください。ここではHomeに戻り、確認した設定を保ったまま接続に進みます。
03 / Home · SERVER
Home:サーバーを選択して接続
Homeに戻り、SERVERグループで今回使うサーバーをタップして、選択マークが目的の項目に付いていることを確認します。一覧に項目があることと、その項目を現在使用していることは別です。特にサブスクリプションに複数の項目がある場合は、テスト中に切り替えて結果を比較できなくならないよう、使用するものを明確に選択してください。
- Global Routingが、前の手順で決めたConfigまたはProxyになっているか確認します。Configを選んだ場合は、Configで現在有効なファイルも確認してください。
- Home上部の接続スイッチをオンにします。初回接続時は、システムからVPN構成の追加を求められる場合があります。案内を読み、許可したうえで、デバイスの指示に従って認証を完了してください。
- Shadowrocketに戻り、画面上部の状態がNot Connectedから接続済みに変わったか、スイッチがオンのままかを確認します。
VPN構成の許可は、アプリがシステムのネットワーク接続を確立するために必要な手順です。サーバー情報の不足分が自動で補われることはありません。手元にある接続情報を使用してください。先ほど許可を取り消した場合は、Homeに戻って接続スイッチをもう一度オンにし、システムの案内に従ってください。許可を一度取り消しただけで、すべてのサーバーや設定ファイルを削除する必要はありません。
スイッチがすぐにオフに戻る場合は、まずシステムの許可が完了しているか確認し、ほかのVPN構成が現在の接続に影響していないか調べます。既存の設定は必要な項目だけ確認し、デバイスのネットワーク設定をまとめて削除しないでください。システム画面に異常が表示される場合は、一度切断し、アプリに戻って情報を確認してから再接続します。
スイッチがオンのままでも、接続処理が進んでいることを示すだけで、目的のWebサイトにアクセスできたことや、すべてのリクエストが想定どおり振り分けられたことの証明にはなりません。サーバー、モード、ネットワーク環境を変えずに、Connectivity Testとブラウザーで照合してください。
04 / Connectivity Test
動作確認:テスト結果と実際のアクセスを分けて確認
HomeでConnectivity Testをタップし、テスト結果が返るか確認します。これは接続性を判断する手掛かりであり、すべてのWebサイト、プロトコル、ルールを完全に検証するものではありません。失敗した場合は原因をさらに確認します。結果が返っても、ブラウザーで実際のアクセス先を確認してください。
- まず、現在のネットワークで通常アクセスできるページを開き、基本的なネットワーク接続に問題がないことを確認します。ネットワーク自体が切断されている場合は、プロキシの設定を変更する前にネットワークを復旧してください。
- 次に、現在のモードまたはルール上、プロキシを使う想定のページにアクセスします。ページを更新するか新しいリクエストを行い、以前にキャッシュされたページだけで判断しないでください。
- Configを使用している場合は、該当するルールを確認し、対象へのリクエストがPROXY、DIRECT、REJECTのどれで処理されるか照合します。必要に応じてアプリで確認できるリクエスト記録を見て、想定と比較してください。
「ページが開いた」ことと「ページがプロキシ経由で表示された」ことは別です。Configで一部のリクエストがDIRECTになる設定もあります。対象が直接接続のルールに一致した場合、ページが表示されてもプロキシ経路が正常だとは判断できません。また、ページの一部しか読み込まれない場合、異なるドメインへのリクエストごとに別のルールが適用されている可能性があります。すべてのルールをすぐに置き換えず、まず失敗したリクエストを特定してください。
サーバーの問題とルールの問題を切り分けるには、現在のモードを記録し、一時的にProxyへ変更してから切断・再接続し、同じ対象にアクセスします。Proxyで利用できConfigで利用できない場合は、現在の設定、DNS、ルールを優先して確認します。どちらも失敗する場合は、サーバー情報とネットワーク環境を確認します。これは原因を絞り込む方法であり、最終的な判定ではありません。
確認が終わったら、普段使うGlobal Routingのモードに戻し、実際にもう一度アクセスします。問題が続く場合は、情報の読み込み、接続の確立、接続後の全面的な失敗、一部のアクセス先だけの失敗に分けてください。段階ごとに対処するほうが、スイッチを何度も操作するより原因を見つけやすくなります。
05 / Settings · Diagnostics
よくある失敗:発生した段階ごとに確認
まず、どの手順で失敗したかを記録してから、Settingsで関連する診断項目を確認します。Test Methodはテスト方法に影響し、方法によって結果が異なる場合があります。On Demandは条件に応じて接続する機能で、初回の手動接続には必要ありません。初回のトラブル対処では手動スイッチで問題を再現し、自動接続の影響を避けてください。
追加後に項目が表示されない:情報の種類とURLを確認
HomeのSERVERグループに項目が増えていない場合は、サブスクリプションのTypeがSubscribeになっているか、URLが完全か、取得失敗のメッセージが表示されていないかを確認します。基本的なネットワークが利用できるか確かめ、元の情報を提供した相手に有効性を確認してください。手動で追加した場合は、編集画面のままになっていないか、保存済みかを確認します。不足している項目は元の情報に従って補い、推測した値を入力しないでください。
スイッチがオンのままにならない:まずシステムの許可を確認
VPN構成を追加するシステムの案内を完了し、デバイスが認証待ちの状態でないことを確認してから、Homeに戻って再操作します。デバイスが管理ポリシーの制限を受けている場合は、その管理要件に従ってください。この問題は接続の確立段階で発生するため、まずシステムの状態を確認します。RuleやURL Rewriteを先に変更しないでください。ルールの調整でシステムの許可を代替することはできません。
接続済みでもすべてのアクセスに失敗:サーバーとDNSを確認
選択中のサーバーの編集画面を開き、Type、Host、Port、認証項目、TLS関連の項目を順に照合します。ドメインを解決できない、サーバーに一時的に到達できない、認証情報が一致しないといった問題が、接続後に利用できない原因になる場合があります。サブスクリプションを使っている場合は、既存の項目を一度更新してから、選択中の項目がまだ存在するか確認します。元の情報が変わっている場合は、現在有効な情報に従ってください。
次に、Global RoutingとConfigのDNS設定を確認します。DNSを手動で変更した場合は、変更内容を記録してから、利用できると分かっている設定に戻して比較してください。確認できていないアドレスを複数追加しないでください。DNSは名前解決経路の一部を担うだけです。DNS設定を変えても、パスワード、ポート、サーバー証明書の誤りは解決できません。
一部のアクセス先だけ失敗:ルールとテスト範囲を確認
ProxyではアクセスできConfigではできない場合は、まず対象に適用されたルール、ルールの順序、最後に適用されるFINALポリシーを確認します。広範囲に一致するルールが先にあると、後続の具体的なルールが評価されない場合があります。REJECTも設定で明示された動作である可能性があります。元のファイルを直接消去せず、コピー上で最小限の変更を行い、対象へのリクエストを再試行して確認してください。
Connectivity Testとブラウザーの結果が一致しない場合は、SettingsでTest Methodを確認し、2回のテストで対象とネットワーク環境が同じか確かめます。さらに調べるにはDiagnosticsを確認できますが、診断内容は手掛かりとして、サーバー情報やルールとあわせて判断してください。情報を外部に共有する前に、サブスクリプションURL全体、Password、認証パラメーター、個人を特定できる情報を削除してください。エラーの状況と必要な項目名だけを残します。
原因を特定できない場合は、「現在のモード、許可の完了状況、テスト結果、失敗した対象、直近の変更」を記録し、よくある質問とトラブル対処を確認してください。設定を一行ずつ調べる場合は、ルールリファレンスを参照します。再現可能な設定を一つ保ってから機能を一つずつ追加し、初期設定の問題を複数の変更が絡む状態に広げないようにしてください。
確認完了 / 再テストできる状態を維持
初回利用後のチェックリスト
- Homeに使用するサーバーが表示され、選択されています。元のサブスクリプションまたはサーバー情報も安全に保管されています。
- Global Routingが想定したモードになっています。Configを使う場合は、現在有効なファイルを確認済みです。
- システムの許可が完了し、スイッチだけでなく接続状態と実際のアクセスも確認済みです。
- テスト中に行った一時的な変更は元に戻し、今後の変更を現在利用できる状態と比較できるようにしています。
以上の4項目を確認したら、初回設定は完了です。後日状況が変わった場合は、直近に変更した項目から確認してください。サブスクリプションが更新されたか、サーバーの選択が変わったか、Configが切り替わったか、ネットワーク環境が異なるかを調べます。ルールの構文と設定の用語は、ルールリファレンスと用語クイックリファレンスにまとめています。初回利用時にすべてを覚える必要はありません。