公式マニュアル / 基本操作
Shadowrocket 使い方ガイド
追加、モード選択、接続、確認、トラブル対処の順に進めます。初めて使う場合は、まず一つの接続を確認してから、細かなルールやSettingsを調整してください。
このページはShadowrocket公式マニュアルの一部であり、当サイトは公式サイトです。以下ではアプリ内の英語表記を使って操作箇所を案内します。ボタンの色や固定座標を判断基準にしないでください。iPadを横向きにすると、リストと詳細が分割表示される場合がありますが、操作の順序は同じです。公式スクリーンショットは画面上の名称を照合するためのもので、実際のレイアウトは使用中のデバイスの表示に従ってください。
準備した情報がサブスクリプションURL、個別サーバーの共有情報、設定ファイルのどれに当たるか、まず確認します。サブスクリプションはサーバー一覧の取得に使い、Config設定ファイルはルールなどの設定を保存します。「どちらもURLだから」と互いに置き換えることはできません。用途が不明な場合は、むやみに別の項目から試さず、情報の提供元に確認してください。
手順 01 / 接続情報を保存
Add Server 追加とサブスクリプションの読み込み
Shadowrocketを開き、Homeに移動します。SERVER欄のAdd Serverを選び、追加画面を開きます。最初にTypeを確認してください。Typeによって入力する項目が変わります。サブスクリプションURLがある場合はサブスクリプションとして読み込み、サーバー1台分の情報だけがある場合は、対応するプロトコルを選んで手動入力します。初回はどちらか一方を選べば十分です。同じ情報を重複して追加する必要はありません。
サブスクリプションURLがある場合:Subscribeを選択
Add ServerでTypeを開き、Subscribeを選択します。追加画面に戻り、自分のサブスクリプションURLをURL欄に入力してください。貼り付けた後、URLの先頭と末尾が欠けていないか確認します。チャットアプリからコピーした場合は、余分な空白、改行、説明文が付いていないか特に注意してください。購読情報の識別に必要なURL内のパラメーターは変更せず、画面の保存操作でHomeに戻ります。
読み込みにはネットワーク経由でサブスクリプションの内容を取得する必要があります。読み込みが終わったら、HomeのSERVERに該当するグループまたはサーバーが表示されているか確認してください。サブスクリプション名だけが表示され、選択できる項目がない場合は、読み込みが完了したか確認します。URLを保存しただけでは、サーバー一覧を取得したことにはなりません。内容が更新された場合は、サブスクリプション項目の更新操作で再読み込みし、一覧に反映されたか確認してください。
サーバー情報がある場合:項目ごとに入力
手動で追加する場合は、提供元が指定したプロトコルに合わせてTypeを選び、HostとPortを入力します。Hostには通常、サーバーのドメイン名またはIPアドレスを入力し、Webページのパスは付けません。Portには指定されたポート番号を入力します。Password、Methodなどの認証項目はTypeによって異なります。スクリーンショットは入力項目の一例であり、すべてのプロトコルで同じ情報が必要という意味ではありません。
手元の情報を項目ごとに照合し、名前が似ているからと推測で値を入力しないでください。サブスクリプションURLをHost欄に貼り付けるのも避けてください。QRコードがある場合はScan QR Codeで読み取り、各項目を確認できます。Import from Cloud JSONは別の読み込み方法です。手元の情報がその形式に対応していると明確に分かる場合にのみ使用してください。読み込み後は、項目が表示されるだけでなく、Type、アドレス、認証情報も確認します。
保存後にHomeへ戻り、今回テストするサーバーを選択します。サブスクリプションに複数の項目がある場合は、どのサーバーを選んだか確認してください。そうすれば、後のテスト対象が明確になります。サブスクリプションURLや認証情報にはアクセス用の情報が含まれることがあります。相談用の文章やスクリーンショットにそのまま載せないでください。サブスクリプションと設定ファイルの違いは用語集で確認できます。まずは情報が揃っていて、入手元が明確な項目を一つ選び、モード選択に進みます。
手順 02 / 通信の経路を決める
Global Routing 3つのモード
サーバー情報を保存したらHomeに戻り、Global Routingを開きます。ここで選ぶのは通信の処理方法であり、サーバーの切り替えや接続スイッチの操作ではありません。モードはConfig、Proxy、Directの3種類です。何を確認したいかを先に決めてから選択し、接続に失敗した際の当てずっぽうな切り替えは避けてください。
| モード | 通信の処理方法 | 操作時のポイント |
|---|---|---|
| Config(設定) | 現在使用中の設定ファイルとルールに基づいて通信先を決定します。 | 現在の設定を確認してから、Ruleと最終的な一致先を確認します。 |
| Proxy(プロキシ) | 通信をプロキシ経由で処理します。選択したサーバーをまとめて確認するのに適しています。 | サーバーが選択されていることを確認してください。一度のテストですべてのアプリの動作を判断できるわけではありません。 |
| Direct(直結) | 選択したプロキシサーバーを経由せず、直接接続します。 | 基本ネットワークを比較するために使えますが、プロキシサーバーの利用可否の確認には使えません。 |
Configを使う前に設定ファイルを確認
用途が明確な設定ファイルがある場合はConfigを開き、現在使用中のファイルを確認してから、GeneralやRuleなどの内容を確認します。編集画面でファイルが表示されていても、それが現在使用中の設定とは限りません。リストに戻り、使用中の状態を確認してください。初めて使う場合は、サーバーの読み込みと大量のルール変更を同時に行わないでください。接続に問題が起きたときに、原因の切り分けが難しくなります。
Ruleの順序は一致結果に影響し、最後の一致項目が、それ以前のルールに一致しなかったリクエストの経路を決めます。以下はルール構文の例です。例示したドメインをPROXY経由にし、それ以外はFINALによってDIRECTに送ります。この2行をあらゆる用途に適した設定としてそのまま使わないでください。また、このチュートリアルを完了するためだけに、現在の設定ファイルを置き換える必要はありません。
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
目的が追加したサーバーの動作確認だけであれば、まずProxyを選び、対象を絞ってテストできます。確認後、必要なConfigに戻し、ルールによる振り分けが想定どおりか確認してください。Directを選択してWebページが開いても、現在の条件で直接接続できたことを示すだけで、追加したサーバーが有効だとは証明できません。
スクリーンショットにあるHosts、URL Rewrite、HTTPS Decryptionは、より詳しい設定項目であり、初回接続で必須ではありません。今回は現在の値を維持し、理解できていない設定を追加で有効にしないでください。ルールのキーワードは用語集、設定とDNSの仕組みは設定リファレンスをご覧ください。モードを選択したらHomeに戻り、次に接続をオンにします。
手順 03 / 接続する
Home 接続スイッチとシステムの許可
Homeに戻り、次の3点を確認します。SERVERで今回使うサーバーが選択されていること、Global Routingが先ほど決めたモードになっていること、画面上部にNot Connectedと表示されていること。サーバー情報の保存、モードの選択、接続スイッチの状態はそれぞれ別の条件です。一つがほかの条件を満たすわけではありません。
確認したら、画面上部の接続スイッチをオンにします。初回接続時は、システムからVPN構成の追加を求められる場合があります。表示を読み、Shadowrocketからの要求であることを確認したうえで、許可するか判断し、デバイスに求められる認証を完了してください。この許可はシステムのネットワーク接続構成を作成するためのもので、サブスクリプションの読み込み完了や、接続先サーバーの利用可否を示すものではありません。
システムの許可をキャンセルした場合、アプリに戻っても接続できないことがあります。その場合は接続をもう一度開始し、システムの確認画面が表示されるか確認してください。正しく保存したサーバー情報をすぐに削除する必要はありません。デバイスの管理ポリシーによって構成の追加や有効化が制限されている場合は、まずデバイスの制限を確認してください。クライアントの入力項目を変えるだけでは解決できません。
許可したらHomeに戻り、画面上部の状態がNot Connectedから変わり、スイッチがオンのままか確認します。スイッチがすぐにオフに戻る場合は、メッセージが表示されたか記録してください。接続済みに見える場合は、次の手順で実際のリクエストを確認します。ステータスバーのアイコンやスイッチの色だけで、すべてのWebサイトにアクセスできると判断しないでください。接続状態と目的のリクエストの成功の間には、サーバー、DNS、ルールなどの確認事項があります。
テスト中はOn Demandを同時に変更しないでください。保存済みの条件によって接続動作が変わることがあり、初回操作時のスイッチの変化を判断しにくくなります。手動で接続を切った後に再接続する場合は、スイッチ操作を繰り返す前にOn Demandの設定を確認してください。条件による接続やシステムの動作については、基本テストの完了後にSettings設定リファレンスをご覧ください。
今回の接続を終了するには、Homeに戻って画面上部のスイッチをオフにし、状態が変わったことを確認します。接続を切っても、保存済みのサブスクリプション、サーバー情報、設定ファイルは削除されません。次回は現在の選択内容を確認してから再び使えます。今は接続を維持し、実際の動作を確認します。
手順 04 / 実際のリクエストを確認
Connectivity Test と動作確認
確認は2段階で行います。まずアプリ内テストを実行し、次にWebサイトやアプリから実際にリクエストを送ります。HomeでConnectivity Testを実行し、結果が表示されるまで待ちます。テスト対象のサーバーと現在のTest Methodも確認してください。テスト方法によって確認できる範囲は異なります。テスト値が返ってきても、認証、名前解決、接続先サービスの状態すべてを確認できたことにはなりません。
次にブラウザーを開き、普段使っているアドレスの明確なWebページにアクセスし、別のドメインのページも試します。以前の内容がキャッシュ表示されないよう、必要に応じて再読み込みしてください。すべてのページで失敗するのか、特定のページだけ失敗するのか、読み込みが続くのか、すぐにエラーが出るのかを記録します。「使えない」という説明だけより、こうした状況の方が原因を絞り込めます。
Configを使用している場合、Webページが開くだけではプロキシ経由だと確認できません。リクエストがDIRECTに一致している可能性があります。利用可能な接続記録やログで、リクエスト先ドメイン、一致したルール、通信の経路が現在の設定どおりか確認してください。記録の場所や表示内容はアプリの更新で変わる場合があるため、デバイス上の表示を確認してください。総通信量の変化だけを、特定のルールに一致した証拠とみなさないでください。
ProxyとConfigを比較する場合は、変更する項目をGlobal Routingだけにし、サーバー、ネットワーク、対象ページを同じにして再度リクエストします。Proxyは正常でConfigに問題がある場合は、現在の設定、ルール、DNSを優先して確認してください。どちらも失敗する場合は、サーバーと基本ネットワークを確認します。比較テストが終わったら、Global Routingを本来使うモードに戻してください。
確認完了の目安は、現在選択しているサーバー、使用中のモード、実際のリクエストが完了するか、Configで通信の経路が想定どおりかを把握できていることです。一度の成功ですべての接続先が使えるとは限りません。また、特定のテスト値を求めて設定を次々と変更しないでください。結果が安定し、用途に合っていれば基本操作は完了です。まだ失敗する場合は、次の手順で一つずつ確認します。
手順 05 / 外側から順に原因を確認
Settings とよくある失敗の原因
接続に失敗した場合は、現在の情報を保ち、サブスクリプションの削除、設定ファイルの交換、Settingsのリセットを一度に行わないでください。基本ネットワーク、サーバー、モード、DNS、ルールの順に確認し、各項目を確認した後、前の手順で選んだリクエストを再テストします。以下の順序は原因を絞り込むためのもので、特定の設定だけでどんな問題も解決するという意味ではありません。
まず基本ネットワークとサーバー情報を確認
接続をオフにし、デバイスの現在のネットワークで普段のWebページを開けるか確認します。基本ネットワークが使えない場合は、Wi-Fi、モバイル通信、または現在のネットワークで必要な接続手続きを先に確認してください。ネットワークが復旧したらShadowrocketを再度開き、同じサーバーでテストします。ネットワーク切り替えによる変化を、プロトコル項目の効果と誤認しないようにしてください。
サブスクリプションの読み込みに失敗した場合は、URLが完全で有効か、現在のネットワークからアクセスできるかを確認します。サーバー一覧が表示されているのに接続できない場合は、選択したサーバーのHost、Port、Type、認証項目を確認してください。サブスクリプションの読み込み成功は情報を取得できたことを示すだけで、記載されたすべてのサーバーへの接続を保証するものではありません。サービスの状態や情報の有効性は、利用者自身でサービス提供元に確認してください。当サイトでは代わりの接続情報を提供していません。
次にモード、DNS、ルールの問題を切り分ける
Global RoutingがDirectになっていないか確認してください。Proxyでは接続できるのにConfigで失敗する場合は、Configに戻って現在使用中のファイルを確認し、対象のリクエストが前のルールに一致しているか、FINALの行き先がどこかを調べます。変更前に元の設定を保存し、差が生じる原因のルールを特定してください。入手元が不明な内容で設定全体を置き換えないでください。
ドメインの名前解決エラーが起きる場合は、DNSを変更したか、現在のネットワーク環境に適した設定かを確認してください。確認していないDNSアドレスをトラブル対処のために指定したり、ほかの問題を隠す目的で証明書の検証を無効にしたりしないでください。DNSと接続経路は互いに影響します。詳しい設定項目と確認範囲は設定リファレンスをご覧ください。このページでは、まず問題がどの段階で起きているかを特定します。
最後にSettingsと診断情報を確認
Settingsを開いてTest Methodを確認し、現在のテスト方法を理解してからConnectivity Testの結果を判断します。テストが応答しない原因がテスト方法にある場合もありますが、実際のリクエストも併せて確認してください。さらに原因を調べる必要がある場合はDiagnosticsを開き、エラーの発生時刻に対応する情報を確認します。Proxy、TCP、UDPなどは個別の動作設定であり、「接続前にすべて変更する」項目ではありません。
接続が自動でオン・オフになる場合はOn Demandを確認してください。Today Widgetの表示だけが想定と異なる場合は、まずHomeに戻って実際の接続状態を確認し、その後で表示上の問題を調べます。一度に扱う現象は一つにし、ウィジェットの表示、接続先との通信、ルールの一致を同じ問題として混同しないでください。変更した項目を元に戻した後、同じ条件でテストを繰り返します。
問題を整理する場合は、デバイスのネットワーク、読み込み方法、Global Routing、失敗した接続先、表示されたメッセージを記録してください。診断情報を共有する前に、サブスクリプションの完全なURL、Password、認証情報、その他の個人情報を隠し、原因の特定に必要なエラー情報だけを残します。設定ファイル全体を公開しないでください。プロトコル名やルールキーワードが分からない場合は、先に用語集を確認してから設定を変更してください。
トラブル対処が終わったら、確認済みのサーバーとモードに戻し、有効な設定を保持して、不要になった診断記録をオフにします。基本接続が安定した後で、DNS、On Demand、設定管理を一つずつ確認してください。詳しい操作はSettings設定項目リファレンスにまとめています。初回接続時にすべて行う必要はありません。