公式マニュアル · 初期設定

Shadowrocketの使い方

手持ちの情報から始め、追加、振り分け、接続、確認の順に進めます。各手順の結果を確認してから、次へ進んでください。

  • iPhone / iPadでの操作
  • サブスクリプションまたはサーバー情報をお持ちの方
  • 5ステップの確認手順

以下では、画面上の英語表記を使って操作箇所を案内します。公式スクリーンショットは画面の見分け方を示すものです。実際に表示される項目は選択したTypeやアプリ内の設定によって異なります。スクリーンショット内のサーバー情報をそのまま入力したり、サブスクリプションリンクやパスワードを公開したりしないでください。

01 · Add Server / Subscribe手持ちの情報を追加して、保存結果を確認

Shadowrocketを開いたら、まずHomeを表示します。すぐに接続スイッチをオンにする必要はありません。SERVER欄にあるAdd Serverを選択します。追加の前に、手元の情報の種類を確認してください。サブスクリプションリンクは複数のサーバー情報を取得するためのものです。個別のサーバー情報には、プロトコルの種類、サーバーアドレス、ポート、認証パラメータが含まれます。入力欄はそれぞれ異なるため、サブスクリプションリンクをサーバーのHost欄に入力しても、通常は正しい項目として登録されません。

サーバー情報を個別に手動追加する

Add Serverを開き、まずTypeを選択して、手持ちの情報に対応するプロトコルを指定し、そのTypeに必要な項目を入力します。Host、Port、Password、Methodが表示される場合は、Hostにサーバーアドレス、Portにポート番号を入力し、PasswordとMethodを元の情報と照合します。Typeによって表示されるパラメータは異なります。項目名が似ていても、別のプロトコルの設定を流用しないでください。TLSなどの通信オプションも、手持ちのサーバー情報に従って設定します。

入力後、先頭や末尾の空白、ポート番号、認証情報の大文字・小文字を確認してから、画面の保存操作でHomeに戻ります。対応するQRコードをお持ちの場合は、Scan QR Codeを使い、システムの案内に従ってカメラへのアクセスを許可して読み取れます。QRコードは入力方法の一つです。読み取り後もTypeと重要なパラメータが正しいか確認してください。Import from Cloud JSONは別の読み込み方法です。該当する形式の情報をお持ちの場合に限って使用し、通常のWebページや任意のテキストを読み込ませないでください。

Subscribeで手持ちのサブスクリプションを読み込む

サブスクリプションリンクをお持ちの場合は、Add ServerのTypeでSubscribeを選択し、指定された欄にご自身のリンクを省略せず貼り付けます。見分けやすいメモを入力して保存してください。コピーする際は、リンク全体のパスとクエリパラメータを残し、チャットの文章、改行、末尾の句読点が混ざらないようにします。サブスクリプションURLにはアクセス権限が含まれることがあるため、パスワードと同様に管理してください。このページでは利用可能なURLを掲載せず、サブスクリプションのアップロードも求めません。

保存後にHomeへ戻り、読み込みが終わるまで待ってから、SERVERに該当するグループとサーバー項目が表示されているか確認します。サブスクリプション名が表示されても、項目が空なら読み込みに成功したとは限りません。読み込み時のメッセージ、現在のネットワーク、リンク全体を確認してください。サブスクリプションの内容が更新された場合は、そのサブスクリプションの更新操作を使って再取得し、更新後に選択中のサーバーをもう一度確認します。削除済みの古い項目を使い続けないようにしてください。

追加後は、パラメータを何度も変更しないでください。次にGlobal Routingを確認し、接続時にどのリクエストがこのサーバーを使うかを把握します。振り分け方法とサーバーの利用可否は、分けて確認してください。

ShadowrocketのAdd Server画面。Type、Host、Port、Password、Methodと画面下部の読み込み項目が表示されています
Add Server:Typeを選択して、対応する項目を確認します。

02 · Global RoutingConfig、Proxy、Directの役割を確認

Homeに戻ってGlobal Routingを開き、今回の目的に合わせてConfig、Proxy、Directを選択します。ここではリクエストの振り分け方法を決めます。サーバーパラメータを補完したり、サーバー自体の代わりになったりするものではありません。初期設定では、まず3つのモードの違いを理解してから、普段使うものを選んでください。Webサイトが開くかどうかだけを見て、すべての選択肢を次々に切り替えるのは避けましょう。

Config:現在の設定にあるルールで振り分け

Configでは、現在有効な設定に含まれるルールに従ってリクエストを処理します。Configを開き、編集画面でファイルを開いただけではなく、使いたい設定が有効になっていることを確認してください。設定の編集画面では、General、Rule、Hosts、URL Rewrite、HTTPS Decryptionがそれぞれ異なる機能を持ちます。初回接続時にすべてを変更する必要はありません。この手順では、設定の出所、有効状態、Ruleにある対象関連のポリシーを確認します。

ルールは通常、上から順に確認され、先に一致したルールが処理方法を決めます。DOMAINは完全一致のドメイン、DOMAIN-SUFFIXはドメインのサフィックス、IP-CIDRはIPアドレスの範囲に一致し、FINALは最後のフォールバックとして使われます。PROXY、DIRECT、REJECTは異なるポリシーです。REJECTを「別のサーバーで再試行する」という意味で使うことはできません。以下はルール構文の例であり、現在の設定ファイル全体を置き換えるためのものではありません。

[Rule]
DOMAIN,api.example.com,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

この例では、api.example.comは最初のルールに一致してDIRECTを使用し、サフィックスに一致するその他のドメインは2行目に従って処理されます。大まかなルールを具体的なルールより前に置くと、後の項目が一致しなくなる場合があります。変更前に元の設定を保存し、内容を理解しているルールだけを1つ変更して、現在の設定が有効かどうかを改めて確認してください。スクリーンショットにあるAdd Ruleはルールの追加に使うもので、サーバーの追加ではありません。

ProxyとDirect:接続経路を分けて確認

Proxyはプロキシ経由でリクエストを処理し、選択したサーバーの接続状況を初歩的に確認する際に使えます。ただし、接続先のすべてに必ずアクセスできるという意味ではありません。Directはローカルから直接接続する経路で、基本的なネットワークの状態を確認できます。ただし、この状態でWebサイトが開いても、プロキシ経由の通信が有効とは限りません。トラブル対処のために一時的に切り替えることはできますが、確認後は本来使う予定のモードに戻してください。

通常、リクエストをルールに応じて振り分けるにはConfigを使い、該当するルールを確認します。サーバーとルールのどちらに問題があるかを切り分ける場合は、短時間の比較テストを行います。初めて使う場合は、Hosts、URL Rewrite、HTTPS Decryptionを同時に変更するより、既存設定の構成を保つほうが結果を把握しやすくなります。この手順を終えたら、現在のモードと有効な設定名を控えてから接続に進みます。

ルールキーワードの詳細はルール構文の解説をご覧ください。ストアの地域、購入、購入済みアイテムの復元は別の手順です。App Storeガイドをご確認ください。初回接続時に同時に対応する必要はありません。

ShadowrocketのConfig設定編集画面。General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Ruleが表示されています
Config:Ruleと現在の設定を確認します。すべての項目を一度に変更する必要はありません。

03 · Homeの接続スイッチシステムの許可を完了し、接続状態を確認

Homeに戻り、次の3点を順に確認します。SERVERで今回使うサーバーが選択されていること、Global Routingが前の手順で決めたものになっていること、端末自体が正常にインターネットへ接続できることです。画面上部にNot Connectedと表示されている場合、接続はまだ確立されていません。上部のスイッチをオンにし、システムのメッセージとアプリの状態変化を確認します。待機中にスイッチを何度も操作したり、サブスクリプションを同時に更新したりしないでください。

VPN構成の追加を求めるシステム画面を確認

初めて接続を有効にすると、システムがVPN構成の追加を求めることがあります。この要求は、Shadowrocketがシステム管理のネットワーク接続構成を作成するためのもので、購入案内やサーバー情報の入力欄ではありません。ダイアログに表示されたアプリ名と説明を確認し、案内に従って許可してください。端末の認証を求められる場合もあります。完了後にShadowrocketへ戻り、画面上部の状態がNot Connectedから変わったか確認します。

以前に許可を取り消した場合、接続を確立できないことがあります。もう一度接続スイッチをオンにし、実際に表示される案内に従ってください。案内を回避するために、ほかの用途のシステム構成をむやみに削除しないでください。組織管理下の端末では、システムポリシーによって構成の操作が制限される場合があります。端末で操作が許可されているか確認してください。許可によって解決するのは端末上の構成権限であり、誤ったHost、Port、認証情報が修正されるわけではありません。

接続状態と実際の利用可否は分けて確認

システムにVPN状態が表示されたり、アプリのスイッチがオンのままになったりした場合、端末の接続状態に変化があったことは分かります。ただし、選択したサーバーや対象Webサイトが正常に使える証明にはなりません。反対に、スイッチがすぐに戻る、または状態が確立されない場合は、まず表示されたメッセージを確認し、許可が完了しているか、サーバーが選択されたままか、設定が有効かを確認してください。「接続できない」だけでなく、状態表示を記録すると、その後の確認に役立ちます。

初回接続中は、ネットワーク、サーバー、振り分けモードを同じに保ち、条件を明確にしてテストします。Wi-Fiやモバイル通信を切り替える場合は、現在のテストを停止してから、新しいネットワークで再接続し、結果を確認してください。複数の条件を同時に変えると、一度だけ成功した状況を再現しにくくなり、原因も分かりにくくなります。

ShadowrocketのHome画面。上部にNot Connected、Global Routing、Connectivity Testがあり、その下にSERVERとAdd Serverが表示されています
Home:接続スイッチ、振り分けモード、サーバーの選択を確認します。

04 · Connectivity Testまずサーバーをテストし、実際のリクエストを確認

接続後にHomeへ戻り、Connectivity Testで現在のサーバーのテスト結果を確認します。開始前に、テスト対象と実際に選択しているサーバーが一致していることを確認し、今回のテストが終わってから比較してください。結果が示すのは、そのテスト方法とテスト時のネットワーク環境における状況です。すべてのアプリや接続先が利用可能になったことを示すものではありません。単一のテスト値を長期的な性能とみなしたり、一覧の並び順だけで実際のアクセス結果を判断したりしないでください。

テスト結果とアクセス結果を分けて記録

まず、現在のネットワークで通常は直接アクセスできるページを開き、端末の基本的なネットワーク接続を確認します。次に、今回確認したい対象へアクセスし、読み込みが完了するか確認してください。テストには成功しても対象にアクセスできない場合は、すべてのサーバーをすぐに削除するのではなく、振り分けルール、接続先自体、関連する接続記録を確認します。テストに失敗しても一部のページが開く場合は、その通信がDIRECTを使っているか、テスト方法と実際のリクエストで経路が異なる可能性があります。

Configモードでは、現在のルールに照らして結果を確認する必要があります。対象にDIRECTが適用されている場合、ページが開いてもプロキシサーバーの検証にはなりません。REJECTが適用されている場合は、設定どおりの動作として失敗することがあります。アプリの接続記録を確認するときは、対象ドメイン、一致したルール、適用されたポリシーに注目してください。記録だけでは判断できない場合は「不明」として残し、一度ページが開いたことだけで、すべての通信経路を推測しないでください。

比較テストで原因を絞り込む

ルールが原因と考えられる場合は、元の設定を控えたうえで、一時的にProxyへ切り替え、同じサーバーから同じ接続先に再度アクセスします。結果が変わった場合は、まずConfigでどのルールが適用されたか確認します。結果が変わらない場合は、サーバーパラメータと現在のネットワークを確認してください。ローカルネットワークの確認にはDirectを短時間使えますが、あくまで確認手順であり、プロキシ接続の成功を示すものではありません。

比較テスト後は、確認用のモードを普段の設定と取り違えないよう、元のGlobal Routingに戻してください。最終的な記録には、現在のネットワーク、サーバーのメモ、振り分けモード、Connectivity Testの状態、接続先へのアクセス結果を含めます。メモにはご自身が分かる名前を使い、サーバーアドレスを公開する必要はありません。確認しても問題を説明できない場合は、次の手順に沿って順番に対処してください。

確認する順序:端末がネットワークに接続できる → 情報を読み込み済み → 選択したサーバーをテストできる → 接続状態が明確 → 接続先に想定したポリシーが適用される → 実際のアクセス結果が想定どおり

前の項目が確認できていない場合は、まずその項目を解決してください。後の段階で偶然成功したことを、前の確認の代わりにしないでください。

05 · Settingsとトラブル対処一度に変更するのは1項目。再現できる結果を残す

問題が起きたら、設定を何度も作り直すのをやめ、「ローカルネットワーク → 入力情報 → サーバーパラメータ → システム時刻 → ルールとテスト設定」の順に確認します。SettingsのTest Method、On Demand、Diagnostics、Proxy、TCP、UDPはそれぞれ異なる項目に関係します。まとめてオン・オフしないでください。まず、失敗が情報の読み込み、接続、実際のアクセスのどの段階で起きているかを確認してから、該当する項目を調べます。

読み込み後にサーバーが表示されない、または更新に失敗する

まず端末が通常のネットワークに接続できることを確認し、次にサブスクリプションリンクが完全か、空白が含まれていないか、アクセス権限が有効かを確認します。サブスクリプションを読み込めない場合、Global Routingを何度切り替えても、通常はリンク自体の問題は解決しません。更新結果と表示メッセージを確認し、必要に応じて、すでに利用しているサービスの提供元にリンクの状態を問い合わせてください。有効な情報を入手したら、該当するSubscribeを更新し、グループ名だけでなくサーバー項目が実際に表示されることを確認します。

テストがタイムアウトする、または接続後に対象へアクセスできない

Type、Host、Port、プロトコルに対応する認証項目を確認します。手入力による文字の抜け、大文字・小文字の違い、誤ったポート番号に特に注意してください。TLSを使う接続では、手持ちの情報にある関連名やオプションも確認し、端末の日付、時刻、タイムゾーンが正しいことを確かめます。時刻のずれは証明書の検証に影響する場合があります。パラメータは手持ちの情報に従い、試しに検証を無効にしたり、別のプロトコルへ変更したりしないでください。

次にSettingsでTest Methodを開き、現在のテスト方法を確認してから、Homeに戻って同じ条件で再試行します。特定のテスト方法で失敗した場合に分かるのは、そのテストで期待した結果が得られなかったことだけです。実際のアクセス結果もあわせて確認してください。Configでのみ失敗する場合は、有効な設定、ルールの順序、最終ポリシーを確認します。同じサーバーでもネットワークによって結果が異なる場合は、ネットワークごとの差を記録して、原因を一つずつ絞り込みます。

スイッチの状態が自動で変わる、または一部のアプリだけ問題が起きる

まずOn Demandが有効か、設定された条件が想定どおりかを確認します。On Demandと手動スイッチは使い方が異なります。初回のトラブル対処では、自動起動が比較テストに影響しないようにします。ただし、用途が分からないまま既存の設定をまとめて消さないでください。一部のアプリだけに問題がある場合は、ドメインの一致、DNSの名前解決、TCPやUDPの通信経路を分けて確認します。Settingsに該当項目があるというだけで、すべての設定を変更しないでください。

さらに確認する場合は、Diagnosticsで実際に利用できる診断項目を使い、エラーが発生した操作とメッセージを記録します。記録を共有する前に、サブスクリプションリンク、パスワード、認証ID、その他の機密情報を削除し、状況、項目名、操作の順序など、問題の説明に必要な情報だけを残してください。サブスクリプションURL全体を共有する必要はありません。

1項目を修正したら、このページの順序に沿って再確認します。Add Server / Subscribeで情報を確認し、Global Routingを確認してから、接続し、Connectivity Testと実際のアクセスを確認します。有効な結果を保存してから次の項目に進み、問題が解決した後に変更を続けないようにしてください。サーバーのタイムアウトを詳しく確認する場合は、接続タイムアウトの確認手順をご覧ください。

ShadowrocketのSettings画面。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPが表示されています
Settings:問題に関係する項目を確認し、設定をまとめて変更しないでください。