Shadowrocket 公式マニュアル · はじめ方

Shadowrocket 使い方

既存の接続情報を追加し、ルーティングを選択してから接続と確認を行います。

初めて使うときの順序に沿って説明します。まず接続情報を準備し、再現可能なアクセス確認を行います。問題なく進めば、主な手順は約10分で完了します。権限や接続に問題が発生した場合は、現在の結果を記録して該当する確認項目に進んでください。設定を何度も削除する必要はありません。

スクリーンショットは画面や項目を確認するためのもので、サーバー情報をそのまま入力するものではありません。画面上の項目は、実際にインストールされているバージョンによって異なる場合があります。英語の設定項目は原文のまま記載しています。

手順 01 · 接続情報を準備

Add Server:追加と読み込み

Shadowrocketを開いてHomeに進みます。SERVERグループに既存の項目があるか確認してください。まだ追加されていない場合は、Add Serverをタップして入力画面を開きます。まず、手元の情報の種類を確認します。プロトコル、サーバーアドレス、認証項目が含まれていれば個別のサーバー情報です。複数の項目を取得するURLならサブスクリプションURLです。どちらも設定に使えますが入力場所が異なるため、サブスクリプションURLをHostに入力しないでください。

サーバーを個別に手動追加

Add ServerでTypeをタップし、用意した情報に対応するプロトコルを選択してから、下の項目を入力します。Typeによって表示される入力欄が変わるため、先にプロトコルを選んでから入力してください。Shadowsocksの場合はHost、Port、Password、Methodを確認します。Hostにはサーバーのドメイン名またはIPアドレス、Portには接続ポートを入力し、PasswordとMethodは手元の情報どおりに入力します。Webページのパス、説明文、余分な空白をサーバーアドレスに含めないでください。

プロトコルによって認証方式は異なります。VMess、VLESS、Trojanなどでは、別の識別子、転送方式、TLS関連の項目が必要になることがあります。利用者が持っている接続情報全体を確認してください。フォームを埋めるためにパラメーターを推測したり、あるプロトコルの項目を別のプロトコルにそのまま当てはめたりしないでください。入力後に保存し、Homeに戻ってSERVERに選択可能な項目が追加されたことを確認します。

既存のサブスクリプションを読み込む

サブスクリプションリンクを持っている場合は、Add ServerのTypeでSubscribeを選び、サブスクリプションURLの欄に完全なURLを貼り付けて、画面の案内に従って保存します。URLには利用者を識別するクエリパラメーターが含まれる場合があるため、元の内容を保持してください。疑問符以降を削ったり、URLを公開の掲示板に投稿したりしないでください。保存後に読み込みが完了するまで待ち、Homeに戻って該当グループにサーバー項目が表示されているか確認します。

読み込みに成功したかどうかは、名前が保存されたかではなく、サーバー項目が実際に表示されたかで判断します。サブスクリプショングループだけが表示され、項目がない場合は、まずURLが完全か、現在のネットワークで読み込めるか、サービスが有効かを確認してから、そのグループを更新します。同じURLを繰り返し追加しても、重複したグループが増えるだけで読み込み失敗の解決にはなりません。

QRコードまたは共有リンクを使う

QRコードを持っている場合は、Scan QR Codeから読み取れます。カメラを初めて使うときは、システムの案内に従って許可してください。プロトコルの共有リンクを持っている場合は、アプリの読み込み機能を使い、保存前に解析されたType、Host、Portを確認します。Import from Cloud JSONは別のデータ読み込み方法です。手元の情報が対応する形式である場合にだけ使い、任意のサブスクリプションURLを試しに入力しないでください。

どれか一つの方法を完了すれば十分です。3種類すべてを行う必要はありません。Homeに戻って今回のテスト対象となるサーバーを選び、選択した項目の名前を控えてください。次の手順ではGlobal Routingだけを調整し、同時にサーバーを変更しないでください。そうすることで、確認に失敗したときに原因を特定しやすくなります。リンクの種類の詳しい違いは用語集をご覧ください。

Shadowrocketのサーバー追加画面。Type、Host、Port、Password、MethodとQRコード読み込みの項目を表示
Add Server:先にTypeを選択し、手元の情報に従って項目を入力します。画面内の項目は位置の確認用であり、接続パラメーターの例ではありません。

手順 02 · 通信経路を決定

Global Routing:モードの選択

選択できるサーバーが用意できたらHomeに戻り、Global Routingをタップします。ここでは接続に使うルーティングモードを決めます。プロトコルを再選択する画面ではありません。画面上の3つのモードはConfig、Proxy、Directです。それぞれの動作を理解してから、今回の接続に必要な項目を選んでください。

Config:現在の設定ファイルに基づいて振り分け

Configは、現在有効な設定ファイルに基づいて接続を処理します。ルールによって、一部の接続先はプロキシに転送され、別の接続先は直接接続される場合や、特定の接続が拒否される場合があります。そのため、サーバーを選択してもすべてのアクセスがそのサーバーを経由するとは限りません。対象がどのルールに一致し、そのルールにどのポリシーが設定されているかも確認してください。

画面下部のConfigに切り替えて、現在使用中の設定ファイルを確認し、ファイルの内容を開きます。公式スクリーンショットにあるGeneral、Rule、Hosts、URL Rewrite、HTTPS Decryptionは、設定編集画面の各セクションです。ルールは主にRuleで確認し、Add Ruleからルールを追加できます。初めて使うときに各セクションを変更する必要はありません。また、通常の接続テストのためにHTTPS Decryptionを有効にする必要もありません。

ルールは通常、順番に照合されます。実際の動作はルールの種類と設定によって異なります。以下は構文を確認するための断片であり、既存のファイルをそのまま置き換える完全な設定ではありません。example.comは例示用のドメインであり、PROXYを使うには実際の設定に対応する利用可能なポリシーが必要です。完全な設定情報がない場合は、数行だけをコピーして現在のファイルを上書きしないでください。

DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY

Proxy:サーバーが使えるかを先に確認

Proxyは、プロキシ可能な接続を現在選択中のサーバーに転送します。サーバーの初回確認や、Configの結果との比較に適しています。入力したパスワードの誤り、サービスの期限切れ、到達できないポートを修正する機能ではありません。また、すべてのアプリのすべてのシステム通信が必ず同じ経路を通ることを意味するものでもありません。テスト前にサーバーが選択されていることを確認してから、モードを切り替えてください。

Direct:直接アクセスとの比較に使用

Directは選択中のプロキシサーバーを経由せず、接続先に直接接続します。基本ネットワークが使えるかの判断に役立ちますが、プロキシサーバーの動作確認には使えません。スイッチをオンにしてもアクセス状況が変わらない場合は、アプリをすぐに再インストールするのではなく、Global RoutingがDirectのままになっていないか確認してください。

初回はProxyで接続を確認し、サーバーが基本的に使えることを確認してからConfigに戻し、ルールが日常の利用目的に合っているか確認する方法をおすすめします。モードはトラブル対処時の変数の一つです。変更前の選択を記録しておいてください。ルールの順序、ポリシーの参照、設定ファイルの管理については設定マニュアルをご覧ください。

ShadowrocketのConfig設定ファイル編集画面。General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Ruleを表示
Config編集画面:設定内容を確認するために使います。Global Routingのモード選択はHomeにあります。混同しないでください。

手順 03 · システム接続を確立

Home:接続スイッチをオン

Homeに戻り、まず2点を確認します。SERVERグループで先ほど追加したサーバーが選択されていること、Global Routingに今回使うモードが表示されていることです。確認後、画面上部のスイッチをオンにします。未接続の場合、画面にはNot Connectedと表示されます。この状態表示をサーバー名と誤認しないでください。サーバー項目が保存されているだけで接続が確立したと判断することもできません。

システムによるVPN構成の追加を許可

初めて接続するとき、システムからVPN構成の追加を求められる場合があります。この許可により、Shadowrocketはシステムのネットワーク接続を確立できます。接続情報の読み込みや、不足しているサーバー情報の補完を行うものではありません。開いたばかりのShadowrocketからの要求であることを確認して許可し、デバイスの案内に従ってパスコードまたはシステム認証を行ってください。

キャンセルすると、アプリは未接続状態のままになる場合があります。画面上部のスイッチを再度オンにし、システムの要求を完了してください。同じサーバーを繰り返し追加する必要はありません。デバイスが組織によって管理されている場合や、システムに制限がある場合は、現在の利用者が許可できないことがあります。不明な構成を削除して試すのではなく、デバイス管理の要件を確認してください。

Homeに戻って接続結果を確認

許可後にアプリへ戻り、画面上部の状態がNot Connectedから接続状態に切り替わったか確認します。接続の確立には時間がかかることがあります。スイッチを短時間に何度も切り替えないでください。状態が変わらない場合は、エラーメッセージの有無、システム認証の完了状況、現在選択中のサーバーを記録し、後述のトラブル対処に進みます。

システム設定で確認する場合は、iPhone / iPadの設定でVPNを検索し、該当する構成と接続状態を確認できます。システムのバージョンによって設定の階層が異なることがあるため、固定の階層を覚えるより設定内の検索を使う方法が確実です。以前ShadowrocketのVPN構成を削除した場合は、再接続時に案内に従って追加を許可してください。

VPNの状態でわかるのはシステムの接続経路が確立したかどうかであり、サーバーがリクエストを転送できることや、特定のWebサイトにプロキシルールが適用されたことを保証するものではありません。この時点ではサーバーとルーティングモードを変えず、次の手順でアクセスを確認してください。テスト中にネットワーク接続を管理する別の機能が動作している場合は、競合の有無を確認し、元に戻せるよう現在の設定を記録してください。

ShadowrocketのHome画面。Not Connectedスイッチ、Global Routing、Connectivity Test、SERVERグループ、Add Serverを表示
Home:サーバーとGlobal Routingを確認してから、画面上部の接続スイッチをオンにします。Connectivity Testは次の手順で確認に使います。

手順 04 · 結果を照合

Connectivity Test:接続が有効か確認

接続後、まずHomeでConnectivity Testを実行し、テストの完了を待ちます。その後、ブラウザーで利用権限のある対象サービスにアクセスしてください。テストに時間が表示された、システムにVPNの表示が出た、またはページが開いたという一つの結果だけで、設定全体が正しいと判断しないでください。テスト方法、対象サービスの状態、ルールによる振り分けが結果に影響します。

3種類の情報を区別

サーバーテストでは、指定されたテスト方法で到達できるかを確認します。システムの接続状態ではVPN経路を確認します。ブラウザーやアプリのアクセス結果では、実際のリクエストの結果を確認します。それぞれが示す内容は異なります。サーバーテストに成功してもWebページが表示されない場合は、DNS、対象サイト、ルールを確認してください。Webページが開いてもサーバーテストが失敗する場合は、テスト対象または方法がサービスに適していない可能性があります。

確認には同じ対象と、できるだけ近いネットワーク条件を使ってください。現在の接続を維持したまま対象ページを更新し、サイト内の別ページを開くなど、実際の操作を行います。切断との比較が必要な場合は、一度接続をオフにして同じ操作を繰り返し、その後再接続して再テストします。ブラウザーのキャッシュにより、以前開いたページが表示されたままの場合があります。古いページにエラーがないことは、新しいリクエストの成功を意味しません。

Configで実際の経路を確認

ProxyではアクセスできるのにConfigに切り替えると結果が異なる場合は、現在の設定ファイルと対象に一致したルールを優先して確認してください。アプリの接続履歴を開き、対象ドメイン、使用されたポリシー、結果を確認して、想定したプロキシまたはDIRECTに振り分けられたか確認します。ルール内のドメインと実際のリクエスト先が異なることがあります。また、ページが追加のリソースドメインへリクエストする場合もあるため、ブラウザーのアドレス欄だけで全ての接続を判断しないでください。

Dataの通信量の変化は補助的な情報になりますが、総通信量が増えたことだけでは特定の対象が選択中のサーバーを経由した証拠になりません。バックグラウンドアプリも通信を行い、Configでは直接接続とプロキシ接続が同時に発生する場合があります。アクセスした時刻、接続履歴、選択中のモードを照らし合わせて確認してください。

確認が終わったら、日常の利用に必要なモードに戻してください。サーバーを判断するために短時間Proxyを使った場合は、Configに戻すのを忘れないでください。必要に応じてOn Demandを使えますが、まず手動接続を確認してから自動接続の条件を設定してください。自動接続の問題とサーバーの問題を混同しにくくなります。

手順 05 · 一度に変更するのは一つ

Settings:よくある失敗を確認

問題が起きた場合は、サーバーと設定ファイルを残しておき、すべてを削除することから始めないでください。「現在のネットワーク、手元の情報、選択中のモード、実際のエラー」の4点で状況を整理し、以下の順に確認します。項目を一つ変更するたびに再接続し、同じアクセス確認を繰り返してください。改善しない場合は元の値に戻し、複数の変更が重なって原因を特定できなくなるのを防ぎます。

サーバーがない、またはサブスクリプション更新後も空のまま

追加の手順に戻り、サブスクリプションURLの文字抜け、余分な空白、チャットツールによる改行の分割がないか確認します。URLを保存できても、有効な内容を読み込めたとは限りません。基本ネットワークとサービスの有効期間を確認し、更新時のエラーメッセージを確認してください。サービス提供元がURLを変更した場合は、利用者が入手した新しいURLに置き換えればよく、同じサブスクリプションを複数登録する必要はありません。認証情報を確認するときは、適切な非公開の手段を使ってください。

スイッチをオンにしても接続状態を維持できない

まずシステムのVPN許可が完了しているか確認し、サーバーが選択されているかを確認します。認証または接続に関する具体的なエラーがある場合は、案内に従ってType、Host、Port、認証項目を確認してください。Wi-Fiとモバイルネットワークを切り替えて比較すると、現在のネットワークとサーバーのどちらに問題があるか判断しやすくなります。モバイルネットワークを使う場合は、データ使用量に注意してください。

接続は確立するが、すべての接続先にアクセスできない

一度接続を切り、基本ネットワークで通常のサービスにアクセスできるか確認します。基本ネットワーク自体が使えない場合は、ネットワークへのログインや電波状況を先に確認してください。基本ネットワークに問題がなければ、Proxyを短時間使って同じサーバーを確認します。それでも失敗する場合は、サービスの有効期間、サーバーの状態、プロトコルパラメーターを確認してください。利用者が使える別の項目を持っている場合は、サーバーだけを変更して比較します。DNSとルールを同時に変更しないでください。

Configで一部の接続先だけ失敗する

想定した設定ファイルが現在有効か確認し、ルールの順番と実際に一致したルールを確認します。範囲の広いルールが前にあると、後続の細かいルールが適用されない場合があります。FINALは、それ以前のルールに一致しなかったリクエストを処理します。アクセスに失敗したからといってすべてのRuleを削除したり、全ての接続をDIRECTに変更したりしないでください。まず対象が実際にどのポリシーを使ったかを特定し、必要最小限の範囲でルールを変更します。

テストに失敗する、またはドメイン名の解決に問題がある

Settingsを開き、Test Methodを確認します。テスト方法によって測定する内容が異なるため、一つの結果だけですべてのアプリの通信を判断できません。ドメイン名の解決に関するエラーが出る場合は、現在のDNS設定を記録し、同じドメイン名で再テストしてください。必要に応じて、既知の動作する設定に戻して比較します。不明なDNSアドレスを一度に複数入力したり、ドメイン名や証明書の不一致を隠すためにTLS検証を無効にしたりしないでください。

SettingsのDiagnosticsは、さらに問題を特定する際に利用できます。診断結果を確認するときは、エラーの種類、発生時のネットワーク環境、操作の順番を記録してください。共有する前に、サブスクリプションURL、認証情報、個人のドメイン名、その他の機密情報を隠します。Proxy、TCP、UDPなどの設定は異なる層の動作に影響します。初回のトラブル対処では元の値を維持し、すべてのスイッチを一度に変更しないでください。

画面ロック、ネットワーク切り替え、自動再接続の後だけ問題が発生する場合は、On Demandの条件とシステムのネットワーク変化を確認します。まず手動接続が使えることを確認してから、自動起動を設定してください。権限、サブスクリプション更新、DNSの詳しい問題はよくある質問をご覧ください。英語の設定項目を確認するには用語集をご覧ください。使い始めの段階で、すべての詳細設定を変更する必要はありません。

ShadowrocketのSettings画面。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPを表示
Settings:まずTest Methodを確認し、必要に応じてDiagnosticsを使います。元の設定を保ち、一度に変更するのは一つの項目だけにしてください。

確認済みの設定を保持

一度正常に確認できたら、使用中のサブスクリプショングループ、サーバー、ルーティングモード、設定ファイル名を記録します。日常的にサブスクリプションを更新するときは、まず更新結果を確認してください。更新後に項目の順序や名前が変わることがあるため、選択中の項目を再確認します。設定を変更する前に復元できるコピーを残し、コピーに個人のサーバー情報が含まれる場合があるため公開しないでください。

次に問題が発生したときは、最後に正常に使えた状態と比較してください。ネットワークが変わったのか、サブスクリプションの項目が変わったのか、設定ファイルを変更したのかを確認します。これにより、同じ操作を繰り返す手間を減らせます。権限、Data、Settings、日常的なメンテナンスについてはShadowrocket 設定マニュアルをご覧ください。