公式マニュアル初回利用 · 5つの確認手順
Shadowrocketの使い方
サブスクリプションの追加と初回接続
「追加 → モード選択 → 接続 → 確認 → トラブルシューティング」の順に進めます。まず手元にあるサーバーで接続できることを確認し、その後で構成ファイルのルールを確認します。
本チュートリアルはiPhoneとiPadを対象としています。以下のApp Store公式スクリーンショットは画面の位置を確認するためのものです。実際の項目は、アプリ内に表示される内容をご確認ください。機密性の高いURL、パスワード、QRコードはご自身のデバイス内で管理してください。
STEP 01 / ADD SERVER
Add Server:手元の接続情報を追加
まず、手元にあるのがサブスクリプションURL、単一の共有リンク、または各項目を入力するサーバー情報のどれかを確認します。
Shadowrocketを開いてHomeに進み、Add Serverを開きます。画面上の追加ボタンから同じ画面に進むこともできます。URLの見た目だけで取り込み方法を決めないでください。サブスクリプションURLからは複数のサーバー情報を取得できます。単一の共有リンクは通常、1台分のサーバーを示します。Host、Port、Passwordなどの情報は、対応するTypeを選んで入力します。手元の情報の種類を先に確認すれば、サブスクリプションURLをHost欄に誤って入力するのを防げます。
サブスクリプションがある場合:Subscribeを使用
Add ServerでTypeを開き、Subscribeを選択して、手元にあるサブスクリプションURLを省略せずに入力します。コピー時はURL末尾のパラメーターも残し、先頭や末尾に空白、改行、説明文が混入していないか確認してください。複数のサブスクリプションを区別しやすいよう、メモを付けることもできます。メモは端末上での識別用で、サーバー側の内容には影響しません。確認して保存し、内容の取得が終わったらHomeに戻って結果を確認します。
たとえば、https://example.com/sub?token=xxxxはURLの構造を示すだけの例であり、実際の接続には使えません。操作時にはご自身がすでにお持ちのURLを使用してください。保存後にサブスクリプション名だけが表示され、選択できるサーバーがない場合は、内容の取得が完了しているか確認します。同じURLを続けて追加しないでください。サブスクリプションURLには、現在のネットワークからアクセスできる必要があります。取り込みが完了していない場合、接続スイッチを何度切り替えてもサーバー一覧は補われません。
サーバー情報がある場合:Typeを選んで項目を入力
手動で追加する場合は、まず手元の情報に合ったTypeを選択します。次にHostとPortを入力します。Hostにはサーバーのドメイン名またはアドレス、Portにはサーバー側で指定されたポート番号を入力します。スクリーンショットの例では、PasswordとMethodも確認します。プロトコルによって表示される項目は異なるため、この項目一式がすべてのプロトコルで共通とは限りません。UUID、TLS、通信設定が必要な接続では、手元の情報を参照し、該当する項目も確認してください。
経験だけでMethodを変更したり、「より安全そうだから」とサーバー側の設定と異なる項目を有効にしたりしないでください。ポート、認証情報、通信設定は互いに一致している必要があります。アプリ上で保存できても、サーバー側でその設定が受け付けられるとは限りません。入力後、元の情報と照合してから保存し、Homeに戻ります。
QRコードと単一の共有リンク
QRコードがある場合はScan QR Codeを使い、案内に従って必要なカメラアクセスを許可します。読み取り後にType、アドレス、Portを確認してから保存してください。クリップボードから取り込む場合は、共有リンク全体だけをコピーして、アプリに用意された対応する取り込み操作を使います。ペーストの許可を求められた場合は、必要に応じて確認してください。Import from Cloud JSONは対応する形式の情報を取り込む機能であり、任意のサブスクリプションURLの代わりにはなりません。
STEP 02 / GLOBAL ROUTING
Global Routing:接続の処理方法を選択
3つのモードでは、接続をルールに従って処理するか、プロキシに渡すか、接続先へ直接接続するかを選びます。サーバーの追加には使いません。
サーバーがHomeに表示されたことを確認してから、Global Routingを開きます。初回は、よく使う3つのモード、Config、Proxy、Directを確認しましょう。ここで変わるのは接続の処理方法であり、サーバー情報そのものではありません。モードを切り替えても、誤ったパスワードが直ったり、取得できなかったサブスクリプションの内容が補われたりするわけではありません。
Config:現在の構成ファイルのルールを使用
Configを選択すると、現在使用中の構成ファイルのルールに従って接続が処理されます。接続先によってPROXY、DIRECTに振り分けられたり、REJECTの対象になったりすることがあります。そのため、接続をオンにした後も一部の通信が直接接続されても、設定が機能していないとは限りません。対象に適用されたルールを確認してください。Configを開き、一覧にファイルが保存されていることだけでなく、実際に使用中のファイルも確認します。
スクリーンショットの構成ファイル編集画面には、General、Rule、Hostsなどのセクションがあります。ルールはRuleで確認し、追加が必要な場合にのみAdd Ruleを使用します。初回接続のために各設定を変更する必要はありません。特に通常の接続テストのためにURL RewriteやHTTPS Decryptionを変更しないでください。まず用途が分かっている設定はそのままにして、基本の接続ができてからルールを一つずつ確認しましょう。
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
Proxy:まずサーバーが使えるか確認
Proxyを選択すると、クライアントで処理できる接続がプロキシに渡されます。初回のトラブルシューティングでは、ルール選択による影響を減らせるため、サーバーを1つ選び、同じ接続先で確認するとよいでしょう。Proxyで正常にアクセスでき、Configに戻すと失敗する場合は、サブスクリプションを削除するのではなく、まず構成ファイルとルールの適用状況を確認してください。Proxyを選んでも、すべてのアプリやシステム通信が必ず同じ経路で処理されるわけではありません。実際のリクエストを確認してください。
Direct:接続先へ直接接続
Directを選択すると、サーバーを経由せずに接続先へ直接アクセスします。現在のネットワークから同じ接続先にアクセスできるかを比較するのに便利です。Directでアクセスでき、Proxyで失敗する場合は、選択中のサーバーやその設定を重点的に確認してください。Directは「最速のサーバーを自動選択する」設定ではありません。モードを選んだらHomeに戻り、次にサーバーを選択して接続をオンにします。
STEP 03 / HOME
Home:サーバーを選択してスイッチをオンにする
接続を許可する前に、使用するサーバーを選択します。
Homeに戻り、SERVER欄で追加したサーバーを探します。項目の左側にある選択ボタンをタップし、選択マークが目的のサーバーに付いていることを確認します。項目の編集画面を開くことと、その項目を現在のサーバーに設定することは別の操作です。一覧に複数の項目があっても、初回の確認では1つ選べば十分です。選んだサーバーのメモを控えておくと、後で同じ条件で再テストできます。
Global Routingをもう一度確認します。基本的な接続を確認する場合は、前の手順で説明したProxyを使います。使用する構成ファイルが決まっており、ルールに従って接続したい場合はConfigを選択します。次にHome上部の接続スイッチをオンにします。未接続の場合はNot Connectedと表示されることがあります。スイッチや接続状態に変化があるか確認してください。タップした直後に別のアプリへ切り替えないでください。
初回にVPN構成の確認が表示された場合
初回接続時には、システムからVPN構成の追加を求められることがあります。これはShadowrocketがデバイス上でネットワーク接続を確立するためのシステム許可であり、サブスクリプションの取り込み確認ではありません。Shadowrocketで操作していることを確認し、システムの手順に従って許可したうえで、デバイスに求められる方法で認証を完了してください。以前に確認をキャンセルした場合は、アプリに戻って接続をもう一度開始します。システムの確認が終わる前に、スイッチを何度もタップしないでください。
許可後にHomeへ戻り、接続スイッチがオンのままか確認します。システム上でVPNが有効になっていても、接続先のサーバーが利用できるとは限りません。パスワードやポートに誤りがある場合、またはルールの指定が適切でない場合は、その後の通信で問題が分かることがあります。この手順では「サーバーを選ぶ」「構成を許可する」「接続を維持する」の3点を完了し、実際にアクセスできるかは次の手順で確認します。
接続後は、まず設定を変えずに確認
スイッチをオンにした直後に、サーバーの変更、ルールの編集、ネットワークの切り替えを同時に行わないでください。まず現在の条件で一度テストし、失敗した場合に一度に一つだけ条件を変更します。iPadでも同じ順序で確認します。画面の配置は実際のデバイス表示に従ってください。アプリの購入履歴とサーバー情報は別のものです。デバイスを変更した場合、アプリを再取得できても、サブスクリプションやサーバー情報が追加済みかは別途確認が必要です。
STEP 04 / CONNECTIVITY TEST
Connectivity Test:実際のリクエスト結果を確認
「スイッチがオン」「テストに成功」「接続先にアクセスできる」を分けて確認します。
接続をオンにしたまま、HomeでConnectivity Testを実行し、今回のテスト結果を待ちます。このテストは指定されたテスト先への到達状況を確認するのに役立ちますが、実際に使う接続先の確認に代わるものではありません。Configを使用している場合、テスト通信もルールの処理方法の影響を受けることがあります。一度の成功で一覧内のすべてのサーバーが使えるとは限らず、一度の失敗ですべての通信が失敗すると決まるわけでもありません。
実際の接続先でもう一度確認
ブラウザを開き、確認したい接続先にアクセスしてページを再読み込みします。キャッシュされた内容を接続成功と誤認しないよう、できるだけ新しいリクエストを発生させてください。Shadowrocketに戻り、利用可能なリクエスト履歴、接続情報、通信量の変化などを確認します。通信量が変化したことだけでは、対象のリクエストが想定した経路で処理されたとは判断できません。接続先を開けるか、正しいルールが適用されているかをそれぞれ確認してください。
次の3点を決まった順序で記録することをおすすめします。選択中のサーバー、Global Routingのモード、同じ接続先へのアクセス結果です。Proxyで成功し、Configで失敗する場合は、まず構成ファイルを確認します。Directで成功し、Proxyで失敗する場合は、まずサーバー情報を確認します。どちらも失敗する場合は、まずWi-Fiまたはモバイル通信自体でインターネットに接続できるか確認してください。ネットワーク、サーバー、ルールを切り分ければ、一度のエラー表示をもとに何度も試す必要がありません。
遅延テストだけでは実際に使えるか判断できません
サーバー一覧の遅延結果は、Test Method、テスト先、現在のネットワークによって変わります。数値が小さくても、実際のアクセスが速いとは限りません。テストがタイムアウトした場合も、テスト方法を考慮して判断してください。まず実際のリクエストが完了するかを確認し、その後で手元のサーバーを比較します。初回利用時に特定の数値を求めて何度も並べ替える必要はありません。ネットワーク条件が異なるテスト結果をそのまま比較するのも避けてください。
Proxyで接続を確認できたら、普段使う予定のConfigに戻し、同じ接続先をもう一度テストできます。この確認では、ルール設定が想定どおりに機能するかを確認します。モードを切り替えたときだけ結果が変わる場合は、元のサーバー情報はそのままにしてルールを確認してください。このような問題では、サブスクリプションの再取り込みを最初に試す必要はありません。
STEP 05 / SETTINGS & DIAGNOSTICS
Settings:症状に応じて一つずつ確認
最初に完了しなかった手順から確認し、設定を一つ変更するたびに同じ接続先で再テストします。
サブスクリプションは保存されたが、サーバーが表示されない
まずサブスクリプション情報に戻り、URLが完全か、現在のネットワークからアクセスできるか確認します。URL内のパラメーターが識別情報として使われている場合、一部をコピーし損ねるだけで取得に失敗することがあります。「サブスクリプションの記録を保存したこと」と「サーバー情報を正常に取得したこと」は別です。手元の情報に有効期限や利用状況が記載されている場合は、ご自身の記録を確認してください。通常のWebページのURLをサブスクリプションと間違えたり、エラーページの内容を接続情報として使ったりしないでください。
まず元の項目を修正してから内容を再取得し、同じサブスクリプションを続けて追加して一覧が重複しないようにします。取得内容の形式、更新方法、複数のサブスクリプションの整理については、サブスクリプションとサーバーの管理マニュアルをご覧ください。完了したら、このページの手順3に戻って接続を続けます。
スイッチがオンのままにならない
システムのVPN構成に関する確認が未処理のまま残っていないか、デバイスの認証が完了しているか確認します。システムのネットワーク設定で別のVPN構成が有効になっている場合は、どの構成を使用しているか確認してからShadowrocketに戻り、もう一度試してください。管理対象デバイスでは、デバイス管理ポリシーによって関連設定が制限されていないかも確認します。この段階では、サーバーのパスワードやRuleを変更する前に、システム構成を有効にできるかを解決してください。
スイッチはオンだが、リクエストがタイムアウトする
Homeに戻り、選択マークを確認して、テストする予定のサーバーが選ばれているか確認します。別の古い項目が選択されている場合があります。手動で追加した項目では、Type、Host、Port、認証情報に加え、手元の情報に記載されたTLSや通信設定も確認してください。サブスクリプションの項目では、管理対象の設定を直接まとめて変更するのではなく、まず既存のサブスクリプション情報を再取得します。その後、同じ接続先をProxyで再テストし、ルールとは別の問題かどうかを確認します。
手元にある別のサーバーに切り替える場合は、元の項目を残し、選択するサーバーだけを一度に一つ変更してください。必要であればWi-Fiとモバイル通信を切り替えて比較しますが、ネットワークを変更したことも記録してください。ネットワークとサーバーを同時に変更すると、原因を特定できなくなります。
Proxyでは使えるが、Configで一部の接続先にアクセスできない
実際に使用中のConfigファイルとRuleの順序を確認し、対象が想定したPROXYまたはDIRECTに振り分けられているか確認します。ドメインルールとアドレスルールでは一致条件が異なり、名前解決後の接続先によって判定が変わることもあります。初回の切り分けで構成全体を書き直す必要はありません。まず失敗した接続先に関係するルールと、後続のルールを確認してください。ルールのキーワード、適用範囲、構成の整理については、サブスクリプションマニュアルの構成に関する説明をご覧ください。
テスト結果とブラウザの表示が一致しない
Settingsを開いてTest Methodを確認し、現在のテスト方法と手順4で確認した実際のアクセス結果を照らし合わせます。Diagnosticsでは診断情報をさらに確認できます。ただし、ログはテストした時刻、接続先、エラー内容と合わせて読む必要があります。単語一つだけで原因を判断しないでください。診断情報を共有する前に、サブスクリプションURL、認証パラメーター、その他の個人情報を削除してください。完全なサブスクリプションURLを公開のトラブルシューティング資料として共有しないでください。
On Demandは、条件に応じた接続動作に関係します。ネットワーク環境によって接続状態が変わる場合は、関連する条件を設定しているか確認してください。役割を理解する前に、Proxy、TCP、UDPなどを同時に変更しないでください。まず手動接続で再現可能な結果を確認し、その後で自動接続の設定を見直します。SettingsのLanguageやToday Widgetは、サーバーの認証エラーを解決する項目ではありません。