OFFICIAL MANUAL / GETTING STARTED
Shadowrocket サブスクリプションの追加
と初回接続
既存の接続情報を使い、追加、モード選択、接続、確認を順に行います。まずサーバーが正常に動作することを確かめてから、ルールや自動接続の設定を調整します。
開始前:アプリをインストールし、接続情報を用意してください。iPhone / iPad 版 Shadowrocket は App Store から入手できます。Mac / Windows / Android / Linux 版はダウンロードページから無料でインストールできます。このガイドでは iPhone / iPad の画面を例に、以降の操作を説明します。
ご自身のサブスクリプション URL またはサーバー情報が必要です。情報はサービス提供元から入手してください。このサイトではサーバーやサブスクリプションを提供していません。アプリの買い切り料金と接続サービスの料金は別です。iPhone / iPad 版は App Store で $2.99 の買い切り、Mac / Windows / Android / Linux 版は無料です。システム要件は App Store のページに記載された内容をご確認ください。
以下は App Store の公式スクリーンショットです。画面や項目の確認に使用してください。サブスクリプション名、サーバーの項目、利用可能なパラメーターは、ご自身の情報に従ってください。画像内の内容をそのまま入力する必要はありません。
Add Server:サーバーの追加またはサブスクリプションの読み込み
まず接続情報の種類を確認します。サブスクリプション URL は複数のサーバー情報の取得に使い、個別のサーバー情報はプロトコルに応じた項目に入力します。
サブスクリプション URL がある場合:Subscribe を使用
まず、サービス提供元から入手した URL が完全か確認します。コピーするときは URL 内のパス、疑問符、その後のパラメーターを残してください。Web ページのタイトルや説明、チャットメッセージの句読点を一緒にコピーしないようにします。サブスクリプション URL には個人用のアクセス情報が含まれる場合があります。自分のデバイスだけに保存し、トラブルシューティングの際も完全な URL をスクリーンショットや問い合わせ情報に載せないでください。
Shadowrocket の Config を開き、Subscribe を選んでサブスクリプションを追加し、完全な URL を入力します。保存して更新を実行したら Home に戻り、SERVER グループにサーバーが読み込まれているか確認してください。読み込み成功の目安は、選択できる項目が実際に表示されていることです。保存済みのサブスクリプション名が表示されただけでは、成功とは判断できません。サービス提供元から受け取ったものがサーバーのサブスクリプションではなく設定ファイルの URL の場合は、該当する設定ファイルの読み込み方法を使ってください。URL の末尾が同じという理由だけで種類を判断しないでください。
サブスクリプションの更新では、サービス提供元から返される内容を再読み込みします。アプリが新しいサービス利用権を自動で取得するわけではありません。初回の更新に失敗した場合は、まず現在のネットワークから URL にアクセスできるか確認し、リンクの期限切れやパラメーターの不足を調べます。更新ボタンを繰り返し押しても、誤った URL は修正されません。互換性のない内容を変換しようとしてプロトコル名を変更することも避けてください。
個別のサーバー情報がある場合:Add Server を使用
Home の SERVER グループで Add Server を選ぶか、画面上の追加ボタンから Add Server を開きます。最初に Type をタップし、サーバー情報と一致するプロトコルを選んでから、画面に表示された項目を入力します。Type によって必要なパラメーターが決まります。入力項目が少ないからといって、サービス提供元が指定したプロトコルの代わりに別のものを選ばないでください。
公式スクリーンショットにある項目を例にすると、Host はサーバーアドレス、Port はサーバーポート、Password は認証情報、Method は対応する暗号化方式です。Type によっては、認証、トランスポート、TLS などの追加パラメーターが必要です。サービス提供元の情報と1つずつ照合してください。サブスクリプション URL を Host に入力したり、Web サイトのポートをサーバーポートとして入力したりしないでください。入力後、画面の保存または完了操作を行い、Home に戻って項目が表示されていることを確認します。
情報が QR コードの場合は Scan QR Code を使用できます。クラウド上の JSON であることが明記されている場合は、案内に従って Import from Cloud JSON を使用してください。QR コードを読み込んでも内容の形式は変わりません。通常の Web URL をスキャンしても、自動的にサーバー設定になるわけではありません。クリップボードから読み込む場合も、コピーしたものが紹介文ではなく完全な接続情報であることを先に確認してください。
この手順が終わると、Home に少なくとも1つ、内容を把握しているサーバーが表示されます。最初からまとめてテストしたり、同じ情報を何度も読み込んだりする必要はありません。まず1つの項目を使って、次のモード選択と接続確認を行います。プロトコルの各項目についてはプロトコルリファレンスを、サブスクリプションと設定ファイルの違いについては用語解説をご覧ください。
Global Routing:接続モードを選択
サーバーの項目は「どこに接続するか」を示し、Global Routing は「リクエストをどのように処理するか」を決めます。両方を個別に確認してください。
Home に戻り、Global Routing をタップして現在の選択を確認します。初めて使用するときは、現在の選択を記録してから目的に応じて変更してください。3つのモードは Config、Proxy、Direct で、速度の段階やサーバーの品質を示すものではありません。
Config:現在のルールに従って振り分け
Config を選ぶと、有効な設定ファイルに従ってリクエストが処理されます。ルールにより、接続先ごとに PROXY、DIRECT、REJECT を指定できます。動作は設定ファイルの内容によって異なります。そのため「Config を選んだ」ことは「すべてのリクエストがサーバーを経由する」ことを意味しません。対象が DIRECT に一致すれば、直接接続されます。
Config を開き、必要な設定ファイルが選択されていることを確認します。編集画面には General、Rule、Hosts、URL Rewrite、HTTPS Decryption などのセクションがあり、Rule で個別のルールを確認し、Add Rule でルールを追加できます。サーバーの読み込みとルールファイルの有効化は別の手順です。Home にサーバーが表示されていても、特定のルールファイルが自動で有効になっているとは限りません。初めて使うときは、これらのセクションを一度に変更せず、入手元と用途を確認した設定を使用してください。
Proxy:選択したサーバーを一時的に確認
Proxy はトラブルシューティング時にルールによる振り分けの影響を一時的に減らし、選択中のサーバーでアクセスできるか確認する場合に適しています。恒久的に推奨されるモードではなく、システムのすべての通信が同じ経路を通ることを保証するものでもありません。テスト前に Home で確認対象の項目が選択されていることを確認してください。確認後、普段ルールによる振り分けを使う場合は Config に戻し、結果を再確認します。
Direct:接続先へ直接接続
Direct は通常のリクエストの出力経路として、選択中のプロキシサーバーを使用しません。Proxy でのアクセス結果と比較する場合に適しています。接続スイッチがオンでも、対象の接続にローカルネットワークの出口が表示される場合は、サーバー情報に問題があると判断する前に Direct が選ばれていないか、Config で DIRECT に一致していないかを確認してください。
このガイドでは目的に合ったモードを1つ選ぶだけで十分です。複雑なルールはまだ追加しません。選択したら Home に戻り、Global Routing の表示値を覚えておいてください。次の接続手順でモードが正しく選択されているか確認します。ルールの順序や FINAL の役割がわからない場合は、まずルールキーワードの解説を読んでください。元のファイルを保存せずに複数のルールを続けて変更しないでください。
Home:接続スイッチをオンにする
サーバーを選択してから画面上部のスイッチをオンにします。初回接続では、VPN 構成の使用をシステムに許可する必要があります。
Home の SERVER グループで今回使用するサーバーを選び、名前と選択状態を確認します。1つのサブスクリプションに似た名前の項目が複数含まれている場合があります。グループの見出しを選んでも、特定のサーバーが選択されたとは限りません。リストが空の場合は最初の手順に戻って情報を読み込んでください。画面上部のスイッチを何度も切り替えても、情報は追加されません。
Global Routing に想定したモードが表示されていることを確認し、Home 上部の Not Connected の横にあるスイッチをオンにします。初回操作時、システムから VPN 構成の追加を許可するか確認されます。Shadowrocket が開始した操作であることを確認して許可し、デバイスの案内に従ってパスコードまたは生体認証を完了してください。この許可はデバイス上に接続構成を作成するためのもので、サブスクリプションの認証とは別です。また、未入力のサーバーパラメーターが補完されるわけではありません。
システムの案内が完了したら Home に戻り、接続状態が変化するまで待ちます。スイッチがオンのままになっているか確認してください。許可後も接続されない場合は、構成が追加されたことを確認したうえで、スイッチを一度入れ直します。デバイスの管理ポリシーによる制限、またはシステムが VPN 構成の追加を許可していないことが原因の場合は、デバイスの権限を確認してください。サーバーのパスワードを変えても解決しません。
接続中は、システムのネットワーク接続を制御する別の機能を同時に有効にしないでください。接続状態が別の機能に上書きされる可能性があります。初回の確認では On Demand も有効にせず、手動スイッチで接続を制御してください。どの操作で接続したかを把握しやすくなります。停止する場合は Home に戻ってスイッチをオフにし、未接続の状態に戻ったことを確認します。
画面上部の状態が変化しただけでは、接続構成が動作していることしか確認できません。リモートサーバーの認証成功や、すべてのルールが想定どおりに動作することまでは証明できません。サーバーと Global Routing はそのままにして、次の手順で実際のリクエストを確認します。同じ設定で確認できるようにしておけば、問題が見つかったとき複数の条件を推測しながら切り替える必要がありません。
Connectivity Test:実際のリクエストを確認
「テスト結果が出た」「接続がオンになっている」「目的のサイトに想定どおりアクセスできる」をそれぞれ確認し、1つの状態だけで全体を判断しないようにします。
まずサーバーを確認し、次にアクセスを確認
Home で Connectivity Test を実行し、選択中のサーバーでテスト結果が得られるか確認します。テスト方式は Settings の Test Method で確認できます。テスト結果が示すのは、指定した方法による接続状況です。すべてのWebサイトやアプリ、長期的な通信速度を保証するものではありません。特定のテストで応答がなくても、それだけであらゆる通信ができないとは判断できません。
接続をオンのままにしてブラウザーを開き、普段使っていて現在のネットワークから正常にアクセスできるはずのページにアクセスします。以前に開いたページを確認するのではなく、新しいページリクエストを送信してください。ブラウザーのキャッシュやアプリ内の既存接続によって前後の結果が同じに見える場合は、ページを開き直して読み込みが完了するか確認します。
Data で該当する接続を確認
Shadowrocket に戻り、Data で先ほどのアクセスによって生成された接続記録を見つけます。接続先、適用されたポリシー、出力情報を照合してください。Config を使用している場合は、その接続先に実際に適用されたルールを確認します。DIRECT に一致した接続に、選択中のプロキシサーバーが表示されるとは限りません。記録が想定と異なる場合は、まず現在の設定ファイルを確認し、より上位のルールが先に一致していないか調べます。
出口アドレスを補助的に確認する場合は、その確認リクエスト自体がどのポリシーを通るかも確認してください。ルールモードでは接続先によって経路が異なる場合があるため、1つのページに表示された出口をすべてのリクエストに当てはめることはできません。HTTPS ページの通常の接続確認に HTTPS Decryption は必要ありません。接続結果を確認するために追加の証明書をインストールする必要もありません。
確認後、今回成功したサーバー、Global Routing のモード、設定ファイル名を記録します。一時的に Proxy に切り替えていた場合は、日常的に使う Config に戻してから新しいリクエストをもう一度確認してください。戻した後も正しく動作して初めて、今回の設定が完了したと判断できます。ネットワークの変更やサブスクリプションの更新後も、同じ順序で確認できます。
今回の完了条件:Home に選択できるサーバーが表示され、接続スイッチがオンの状態を保ち、実際のページにアクセスできること。また、Data の該当リクエストのポリシーが現在の Global Routing と設定ルールに一致していること。テスト結果は確認項目の1つであり、実際のアクセス確認の代わりにはなりません。
Settings:問題が起きた箇所から確認
最初に失敗した手順から確認し、一度に変更する項目は1つにします。元の設定を残し、サーバー情報の再入力、モード変更、DNS 変更を同時に行わないでください。
読み込み後も項目がない:返された内容を確認
サブスクリプション名が保存されているのに SERVER が空の場合は、更新が実際に完了したか、サービス提供元からクライアントが認識できるサブスクリプション内容が返されたかを確認します。URL の期限切れ、パラメーター不足、アカウント状態の変更、ログインページが返されることなどが読み込み失敗の原因になります。まずサービス提供元にリンクの有効性を確認してから更新してください。サーバーの項目がない状態で Global Routing を調整しないでください。
スイッチがオンを保てない:許可とパラメーターを確認
スイッチがすぐにオフに戻る場合は、まず VPN 構成の追加をシステムに許可したか確認し、次に選択中のサーバーの Type、Host、Port、認証情報を確認します。TLS や特定のトランスポートが必要なサーバーでは、該当する項目も照合してください。パスワードだけでは判断できません。サーバーを変更した直後の場合は接続を停止してからもう一度オンにし、同じ操作で問題が再現するか確認します。
テスト結果は出るのにページが開かない:ルールと DNS を切り分け
まず同じ接続先で Config と Proxy の結果を比較します。Config だけに問題がある場合は、現在の設定ファイル、ルールの順序、振り分け先を優先して確認します。どちらのモードでも問題がある場合は、サーバーと接続先自体に到達できるかを調べてください。ドメイン名の解決に失敗し、ほかの接続は確立できる場合は、設定内の DNS 関連項目を確認します。1つのドメインが開けないだけで DNS パラメーターをすべて置き換えないでください。
Settings では Test Method と Diagnostics を確認できます。Test Method は Connectivity Test のテスト方式を把握するために使います。Diagnostics は問題の手がかりを集めるのに役立ちます。記録にはエラーの種類と発生した手順を残し、共有前にサブスクリプション URL の認証情報、サーバーの認証項目、その他の個人情報を隠してください。プロトコル項目の違いについてはプロトコルリファレンスを、読み込みや設定に関するよくある問題についてはよくある質問をご覧ください。
接続が自動で再開する、または状態が変わる:On Demand を確認
手動で接続を切った後に再接続する場合や、ネットワークを切り替えたときの動作が想定と異なる場合は、Settings の On Demand を確認します。オンデマンド接続は接続の開始条件に影響します。手動接続が正常に動作すると確認できた後に設定してください。トラブルシューティング時はいったん自動接続条件を無効にし、手動接続が安定することを確認してから、1項目ずつ戻します。これにより自動再接続をスイッチの不具合と誤認するのを防げます。
Settings には Proxy、TCP、UDP などの項目もありますが、初回接続時にすべて変更する必要はありません。問題が発生した層を特定できた場合に限り、該当する説明に従って調整してください。すべての設定を一度に有効にするより、正常に動作した設定を1つ残しておく方が問題を特定しやすくなります。変更後は Home に戻って再接続し、4番目の手順を繰り返して確認してください。設定が保存されたことだけを見て確認を終えないでください。