公式マニュアル · はじめに

Shadowrocket 使い方ガイド

既存の設定を追加 → Global Routingを選択 → 接続・確認

iPhoneとiPadで、5つの手順に沿って接続を確認します。まずは設定をシンプルに保ち、ルールやオンデマンド接続は必要に応じて調整してください。

掲載画像はApp Storeの公式スクリーンショットです。画面や入力欄を確認するための参考としてご覧ください。実際の表示は端末上の画面をご確認ください。以下の2つの追加方法からどちらか一方を選び、同じ情報を重複して入力する必要はありません。

Add Server:サーバーを追加またはサブスクリプションを読み込む

追加できたかどうかは、Homeに戻り、SERVERグループに選択できる項目が表示されるかで確認できます。項目が表示されても、情報が保存されたことを示すだけで、認証情報の正しさや接続の確立を保証するものではありません。手元の情報がサブスクリプションURLか、単一サーバーのプロトコルと接続情報かを確認し、対応する方法を選んでください。

サーバー情報がある場合:各項目を入力

HomeでAdd Serverをタップし、追加画面を開きます。まずTypeを開き、手元の情報に明記されたプロトコルを選択してください。Typeによって入力項目が変わるため、サーバー名やアドレスから推測しないでください。スクリーンショットに表示されているHost、Port、Password、Methodは、その画面で選択されているTypeの入力項目です。別のTypeを選択した場合は、実際に表示された項目に沿って入力してください。

通常、Hostには手元の情報にあるドメイン名またはIPアドレスを入力します。サブスクリプションURL全体を入力しないでください。Portには対応するポート番号を入力し、コピー時に空白が混ざらないよう注意します。PasswordとMethodは手元の情報と一致させ、よく見かける選択肢だからといって変更しないでください。その他の認証情報や通信パラメータがある場合も、一つずつ照合します。不足している情報は推測で試さず、契約中のサービス提供元に確認してください。

画面下部のScan QR Codeでは、自分が用意した対応QRコードを読み取れます。カメラのアクセス許可を求められた場合は、スキャンに必要かどうかを判断して許可してください。読み取り後もTypeとサーバー情報を確認します。QRコードを読み取れたからといって、記載された情報が現在も有効とは限りません。Import from Cloud JSONは別のインポート方法であり、Subscribeとは異なります。通常のサブスクリプションURLだけをお持ちの場合、この項目を使う必要はありません。

サブスクリプションURLがある場合:Subscribeを使う

Add ServerのTypeからSubscribeを選び、該当するURL欄に自分のサブスクリプションURLをすべて貼り付けます。見分けやすいメモを入力して保存してください。URLのパスやクエリパラメータはそのまま残し、ドメインだけをコピーしたり、ブラウザーに表示されたページタイトルをURLとして入力したりしないでください。サブスクリプションURLには個人の認証情報が含まれる場合があるため、パスワードと同様に慎重に管理してください。

保存したら読み込みが終わるまで待ち、Homeに戻ってサブスクリプションのグループとサーバー項目を確認します。グループは表示されるのにサーバーがない場合は、URLが完全か、現在のネットワークで読み込めるか、サービスが有効かを確認してください。同じグループをすぐに何度も作成しないでください。サブスクリプションは通常、複数のサーバー情報を管理するためのものです。Configで管理する設定ファイルやルールとは別の操作です。

この手順が終わったら、テスト用の項目を一つ選んでおけば十分です。見慣れないプロトコルや項目がある場合は、まず用語集をご覧ください。複数の設定をさらに管理する場合は、使い方ガイドをお読みください。

ShadowrocketのAdd Server画面の公式スクリーンショット。Type、Host、Port、Password、Methodと画面下部のインポート項目を表示
Add Server:まずTypeを選び、そのTypeに対応する項目を確認します。
次に進む前に確認HomeのSERVERに選択できる項目があり、どの情報から追加したか把握できている。

Global Routing:Config、Proxy、Directを選ぶ

サーバーを追加したらHomeに戻り、Global Routingをタップします。ここで通信の処理方法を決めます。SERVERで選択した項目は、プロキシ接続に必要な情報を提供します。サーバーを選択していてもDirectのままでは、そのサーバーを使ったプロキシ接続の動作を確認できません。両方の設定を確認してください。

3つのモードの用途

  • Config:現在の設定ファイルに記載されたルールに従って通信を処理します。アクセス先によって適用されるポリシーが異なるため、選択したサーバーが常に使われるとは限りません。
  • Proxy:通信をプロキシ経由で処理します。トラブルシューティング時に設定ルールの影響を抑えるのに適しています。ただし、既存のサーバー情報が正しく、サービスが利用可能である必要があります。
  • Direct:通信を直接処理します。通常のネットワークでのアクセス状況と比較する際に使えますが、プロキシサーバーが利用可能かどうかの確認には使えません。

用途が明確な設定ファイルをお持ちの場合は、まずルールを確認してからConfigを選ぶのがよいでしょう。追加したサーバーで接続できるかだけを確認したい場合は、一時的にProxyを選んで比較できます。確認後は必要なモードに戻してください。トラブルシューティング中の一時的な選択を、あらゆる場面で使える固定設定と考えないでください。

Configを使う前に現在の設定を確認する

Configを開き、現在選択されている設定ファイルを確認してから内容を表示します。公式スクリーンショットにはGeneral、Rule、Hosts、URL Rewrite、HTTPS Decryptionなどのセクションと、Add Ruleの項目が表示されています。初回の接続確認で重視するのはRuleです。アクセス先がどのポリシーで処理されるかを確認し、初回接続のために他のセクションの機能を有効にする必要はありません。

Ruleのルールは上から順に照合され、一致すると対応するポリシーが適用されます。DIRECTは直接接続、PROXYはプロキシ経由、REJECTは拒否を示します。FINALは、それまでのルールに一致しなかった通信を処理します。以下は構文を確認するための例であり、設定ファイル全体ではありません。既存の内容をそのまま置き換える必要はありません。

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

この例では、example.comとそのサブドメインに一致するリクエストにPROXYを適用し、それ以外の未一致の通信はFINALによってDIRECTに処理されます。実際の結果はルール全体の順序と現在の設定によって異なります。編集する前に元の設定を保存し、必要な項目を削除しないようにしてください。ルールの記述や照合には多くの詳細があります。詳しくは使い方ガイドをご覧ください。このページではまず接続の確認まで進めます。

ShadowrocketのConfig画面の公式スクリーンショット。General、Rule、Hosts、URL Rewrite、HTTPS Decryptionの各セクションとAdd Ruleを表示
Config:設定内容を確認します。Global RoutingのモードはHomeで選択します。
次に進む前に確認Config、Proxy、Directのうち、どのモードを選択しているか説明できる。

Home:項目を選んで接続する

Homeに戻り、まずSERVERグループから使用するサーバーを選択して、Global Routingを確認します。初回は項目を一つだけテストしてください。On Demand、テスト方法、複数の設定を同時に変更しないようにすると、問題が起きたときに原因を特定しやすくなります。

Homeの画面上部にある接続スイッチを確認します。公式スクリーンショットのNot Connectedは、まだ接続されていないことを示します。サーバーとモードを確認したら、横にあるスイッチをオンにしてください。初回接続時は、VPN構成の追加を許可するかシステムから確認されることがあります。この確認は、端末の通信を処理するためのシステム構成をShadowrocketが作成するためのもので、アプリの再購入やサブスクリプションのパスワード入力を求めるものではありません。

確認画面が現在の操作によるものだと確かめてから、システムの画面に従って許可と認証を行い、Shadowrocketに戻ってください。パスコードなどの認証が必要かどうかは、システムの実際の案内に従います。端末のロック解除用パスコードをAdd ServerのPassword欄に入力しないでください。システム認証とサーバー認証は別の情報です。

以前にシステムの確認画面をキャンセルした場合は、アプリに戻って接続を再度開始し、許可画面が再び表示されるか確認してください。端末が組織によって管理されている場合や、別のVPN接続を使用中の場合は、端末の利用制限と現在の接続状態を確認します。用途がわからないシステム構成を何度も削除しないでください。スイッチを繰り返し切り替えるより、表示された案内を記録するほうが原因の特定に役立ちます。

許可したら、Home上部の状態がNot Connectedから変化するか、スイッチがすぐにオフに戻らないかを確認します。システムのVPN接続が確立したことは確認手順の第一段階にすぎません。サーバー認証、アクセス先への到達性、ルールによる処理も次に確認する必要があります。状態が変化したら現在の設定を保ったまま確認手順に進み、すぐに項目をまとめて変更しないでください。

手動テストを終了する場合はHomeに戻り、接続スイッチをオフにします。その後、自動的に再接続する場合はSettingsでOn Demandが有効か、どの条件で接続が開始されるかを確認してください。自動再接続だけを見て、スイッチの故障と判断しないでください。

ShadowrocketのHome画面の公式スクリーンショット。Not Connectedのスイッチ、Global Routing、Connectivity Test、SERVER、Add Serverを表示
Home:選択したサーバーとGlobal Routingを確認してから、上部のスイッチをオンにします。
次に進む前に確認システムのVPN確認画面に対応し、接続スイッチと画面上部の状態が実際に変化したことを確認した。

Connectivity Test:接続が有効か確認する

接続できているか判断するには、スイッチだけでなく、テスト結果、実際のアクセス、通信量の変化をあわせて確認します。まずHomeでConnectivity Testを実行し、完了を待って結果を記録してください。テストに失敗した場合はサーバーとモードを変えずに、次の手順に沿って原因を確認します。テストに成功しても、目的のアプリに実際にアクセスできるか確認してください。

まずテスト結果が示す範囲を把握する

Connectivity Testの結果は、選択したテスト方法とテスト先が、その時点で示した状態を表します。遅延の数値だけで、すべてのWebページが開けるか、ファイル転送速度がどの程度かは判断できません。Test Methodが異なる結果を直接比較することもできません。今回の変更が有効か確認する場合は、同じテスト方法を保ち、変更前後の結果を比べてください。

続いて、普段使用していて現在のネットワークからアクセスできるWebページやアプリを開き、リクエストを新たに実行します。キャッシュ済みのページだけで判断しないでください。古い内容が表示されても、新しいリクエストが完了したとは限りません。初回の確認では対象を一つに絞り、新しい内容が読み込めるか確かめてから範囲を広げてください。

アクセス結果を現在のモードと照らし合わせる

Configを使用している場合は、テスト対象にどのルールが適用されるかを確認します。対象にDIRECTが適用されている場合、ページが正常に開いてもプロキシサーバーが使えるとは判断できません。REJECTが適用されている場合、アクセスの失敗は設定どおりの動作である可能性があります。ルールとサーバーの問題を切り分けるには、一時的にProxyへ変更し、同じネットワーク、同じサーバーでリクエストを再実行してから元の設定に戻してください。

Dataを開いて通信量の変化を確認すると、リクエストが発生したかどうかを判断する補助になります。端末のバックグラウンド処理も通信を発生させるため、合計通信量が増えただけでは、特定のWebページに想定どおりのポリシーが適用された証明にはなりません。操作した時刻、アクセス先、通信量の変化をあわせて確認するほうが、累積値だけを見るより確実です。

最後に、今回有効だった組み合わせを記録します。選択したサーバー、Global Routingのモード、現在の設定、テストに使用したネットワークを残してください。接続を確認できたら、必要な設定を一つずつ追加します。特定のアクセス先だけ失敗する場合、すべての設定をすぐに変更せず、その対象に適用されるルールと到達性を確認してください。すべてのアクセスが失敗する場合は、次の手順に進み、まず基本のネットワークから確認します。

Settings:失敗した箇所から順に確認する

原因を調べるときは一度に一つの条件だけを変更し、その都度、同じ方法で確認します。問題が起きている箇所を見極めてください。サブスクリプションを読み込めない、スイッチが維持されない、テストに失敗する、特定のWebページだけ開けない、といった症状では確認する順序が異なります。原因を特定せず、再インストールを繰り返す方法は避けてください。

サブスクリプションが空、またはサーバー情報が不足している

まず接続をオフにし、端末の通常のネットワークが使えることを確認してから、サブスクリプションURLが完全か確認します。URLを読み込めない問題と、サーバーへの接続に失敗する問題は別です。前者では利用可能な項目をまだ取得できていない場合があり、後者は項目が存在する状態で接続に問題が起きています。手動で追加した項目は詳細を開き、Type、Host、Port、認証情報を確認してください。コピー時に空白や改行が入っていないか、必要な情報が欠けていないかも確認します。サービスの状態と利用条件は、契約中のサービス提供元にお問い合わせください。

スイッチが戻る、またはすべてのリクエストが失敗する

システムのVPN構成を許可したか確認し、明確なエラーメッセージが表示されていないか確認してから、正しいサーバーが選択されているか見直します。手元の情報と認証情報を照合し、トラブルシューティングのためにセキュリティ関連の設定をむやみに緩めないでください。Wi-Fiとモバイル通信を比較する場合は、どちらのネットワークでも同じ項目とモードを使い、現在のネットワークの利用条件に沿ってテストしてください。ネットワークを切り替えて結果が変わっても、確認すべき通信経路があることを示すにとどまり、特定のパラメータが原因だとは断定できません。

テスト結果と実際のアクセスが一致しない

Settingsを開き、Test Methodを見つけて、まず現在の選択を記録します。テスト方法によって対象や結果の意味が異なるため、数値を小さくする目的で方法を次々と変えず、実際のアクセス結果とあわせて判断してください。ProxyではアクセスできてConfigでは失敗する場合は、サーバーのパスワードをすぐに再入力するのではなく、Configに戻り、Ruleの照合順、対象に適用されるポリシー、FINALを確認します。

オフにしても自動接続する、またはさらに詳しく調べる

SettingsでOn Demandを確認します。オンデマンド接続の条件が設定されていると、ネットワークの変化や関連するリクエストをきっかけに再接続する場合があります。手動テストを確実に行うには、既存の条件を記録してから一時的にオンデマンド接続を停止し、テスト後に元の用途に合わせて戻してください。複数の自動化条件を同時に変更すると、どの条件が適用されたか判断しにくくなります。

さらに情報が必要な場合は、SettingsのDiagnosticsを確認します。失敗した時刻、そのときのネットワーク、選択したサーバー、Global Routing、エラーメッセージを記録してください。診断記録にはドメイン名、アドレス、認証情報が含まれる場合があります。他の人に状況を伝える前に機密情報を確認し、見えないようにしてください。サブスクリプションURL全体、パスワード、QRコードを公開しないでください。

SettingsにはProxy、TCP、UDPなどの項目もありますが、最初の確認で一つずつ変更する必要はありません。解決したい問題を特定してから、対応する設定を調整してください。設定の管理、Dataの確認、トラブルシューティングの詳しい手順は使い方ガイドをご覧ください。用語の意味は用語集で確認できます。

ShadowrocketのSettings画面の公式スクリーンショット。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPを表示
Settings:具体的な問題に応じてTest Method、On Demand、Diagnosticsを確認します。
完了後に記録する実際に確認できた設定と、変更前の設定内容を残し、以後は一度に一項目だけ変更する。