[Setup]
Shadowrocket 設定ガイド
手元のサブスクリプションまたはサーバー情報を使い、追加、モード選択、接続、確認の順に進めます。この公式マニュアルではiPhone / iPadの画面を例に、確認できる接続を確立してからルールの詳細を扱います。
[Preparation]
資料の種類と現在のネットワークを確認
このガイドでは初回設定の手順に沿って進めます。まずサーバーリストに選択可能な項目を表示し、次にプロキシ経由にするリクエストを決め、最後に接続を確立して結果を確認します。サーバーをすでに読み込み済みの場合は、Global Routingの手順に進んでください。複数の設定を変更したことがある場合は、トラブル対応の際に変更箇所が分からなくならないよう、現在の選択内容を控えておきます。
手元の資料の種類を確認します。サブスクリプションURLは通常、複数のサーバー情報の取得と更新に使います。共有リンクは通常、1台のサーバー情報を示します。手動入力ではプロトコル、アドレス、ポート、認証情報を個別に入力します。サブスクリプションページのログインURLをサブスクリプションURLと混同したり、単一の共有リンクを継続更新できるサブスクリプションと混同したりしないでください。用途が分からない場合は、サービス提供元に確認してください。
未接続の状態で、現在のWi-Fiまたはモバイルネットワークが正常に使えることを確認します。ログインが必要なWi-Fiの場合は、先にネットワーク認証を済ませてください。このガイドに登場するドメインやルールは構文の説明用であり、接続先として利用できるものではありません。ご自身の情報を使って操作し、認証情報を含むURLを公開ページやスクリーンショットに載せないでください。
以下の4枚は公式App Storeのスクリーンショットで、Add Server、Config、Home、Settingsの場所を確認するために掲載しています。システムや表示設定によって文字の位置が異なる場合があります。画面上の用語と各項目の用途を基準にし、スクリーンショット内のサーバー情報を入力しないでください。ルール構文の詳細はルールリファレンスを参照してください。このガイドでは初回接続に必要な判断に絞って説明します。
[Add Server]
01 サーバーを追加する、またはサブスクリプションを読み込む
サブスクリプションの読み込みと手動入力は別々の方法です。手元の資料に合う方法を一つ選び、重複して追加する必要はありません。
サブスクリプションURLを使う:Subscribeを選択
Homeを開き、追加画面からAdd Serverを表示します。TypeでSubscribeを選択し、サービス提供元から取得したサブスクリプションURLをURL欄にすべて貼り付け、自分で識別しやすいメモを入力して保存します。貼り付ける前後に空白や改行、チャットアプリが追加した説明文が含まれていないか確認してください。URL内のクエリパラメーターもアドレスの一部なので、判断で削除しないでください。
保存後、サブスクリプションが読み込まれるまで待ち、Homeに戻ってSERVER欄にサーバーが表示されるか確認します。名前が表示されれば情報が読み込まれたことを示しますが、すべてのサーバーに接続できるという意味ではありません。使う項目をタップして、現在のサーバーとして選択します。サブスクリプションをリストに追加しただけでは、サーバーを選択したことにも、その後の接続手順を済ませたことにもなりません。読み込み後もリストが空の場合は、サブスクリプションから有効な内容が返されているか確認し、すぐにConfigのルールを変更しないでください。
サブスクリプションを更新する場合は、該当項目の操作メニューから更新を実行し、結果が返るまで待ちます。更新すると、リモートからサーバー情報が再取得され、項目名やパラメーターが変わることがあります。更新後は現在の選択をもう一度確認してください。サブスクリプションURLにはアクセス情報が含まれることが多いため、トラブル対応のスクリーンショットを共有するときは、メモだけでなくURL全体と認証パラメーターも隠してください。
個別のサーバー情報を使う:Typeと認証項目を確認
1台分のサーバーパラメーターがある場合は、Add ServerのTypeで該当するプロトコルを選び、HostとPortを入力します。Hostにはサーバーアドレスを入力します。ポート番号、Webページのパス、サブスクリプションURL全体を一緒に入力しないでください。Portにはサービス提供元が指定した数値を入力します。Password、Method、およびプロトコル固有の項目は、サーバー側の情報と一致させます。スクリーンショットは特定のプロトコルの項目を示しています。Typeを切り替えると表示内容が変わるため、画像にある項目をすべて入力する必要はありません。
TrojanなどTLSを使用するプロトコルでは、サービス提供元の案内に従い、SNIやTLS関連の設定も確認します。エラーを回避するために証明書の検証条件を安易に緩めないでください。QRコードがある場合はScan QR Codeから読み込みます。個別の共有リンクがある場合は、対応する読み込み方法を使います。Import from Cloud JSONは該当する形式の情報に使用するもので、すべてのURLを読み込める共通の入口ではありません。保存後にHomeへ戻り、追加した項目を選択して次の手順に進みます。
手動入力でよくある間違いは、Typeの選択違い、Portの桁抜け、余分な文字のコピーです。異なるプロトコルを次々に試すのではなく、元の情報と一項目ずつ照合してください。共有リンク、Subscribe、Configの違いについては用語集を参照してください。
[Global Routing]
02 Global Routingのモードを選択
サーバーはプロキシ接続先を決め、Global Routingはリクエストの振り分け方を決めます。別々の設定項目です。
サーバーを追加して選択したらHomeに戻り、Global Routingをタップします。基本のモードはConfig、Proxy、Directの3種類です。どちらにもConfigという語があるからといって、Homeのモード選択と、画面下部のConfig設定ファイル管理を同じ画面と考えないでください。前者はルールに従って処理するかどうかを決め、後者は個別の設定を選択・編集する場所です。
Config:現在の設定に基づいて振り分ける
日常的にルールで通信を振り分ける場合はConfigを選択します。次にConfigを開き、使用する設定ファイルが選択されていることを確認してから、Ruleの内容を確認します。ルールは上から順に照合され、一致したルールのポリシーが適用されます。PROXYはプロキシポリシーで処理し、DIRECTは直接接続し、REJECTは拒否します。設定でポリシーグループを参照している場合は、グループ内で実際に何が選択されているかも確認してください。サーバーがリストにあるだけでは、ルールで使われるとは限りません。
以下は「指定ドメインとそのサブドメインをプロキシ経由にし、それ以外は直接接続する」最小構文の例です。ルールの関係を示すためのものであり、初回利用時に既存の設定全体を置き換える必要はありません。example.comは説明用のドメインです。実際に使用する場合は、対象を明確にしたうえで置き換えてください。編集前に元の設定を保存し、サブスクリプションの読み込みに成功した後でルールを上書きし、新たな問題を招かないようにします。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
最初のルールはexample.comとそのサブドメインに一致します。FINALは、それより前のルールに一致しなかったリクエストを処理します。FINALを特定ドメインのルールより前に置くと、後続のルールは意図どおりに適用されません。スクリーンショットのGeneral、Rule、Hosts、URL Rewriteなどの区分にはそれぞれ用途があります。初回接続の確認時にすべてを変更する必要はありません。ルールを個別に作成する場合は、Ruleリファレンスを参照してください。
ProxyとDirect:問題の切り分けに使う
Proxyは、トラブル対応時に選択したサーバーのプロキシ経路を一時的に確認するのに適しています。ルールによる振り分けの影響を減らせますが、どのようなネットワーク環境でもシステム上のすべての通信が必ず同じ経路を通るという意味ではありません。Directはプロキシサーバーを経由せずにリクエストを送信し、現在のネットワークから対象へ直接アクセスできるか確認するときに使います。サーバー接続の成功を証明するものではありません。
初回のテストでは、まずProxyでプロキシ経由のアクセスを確認し、その後Configに切り替えてルールを検証できます。切り替えたらリクエストを再実行し、必要に応じてテストページを閉じて開き直してください。以前の接続がそのまま使われるのを避けられます。モードとConfigを決めたら、次にHome上部のスイッチをオンにします。
[Home]
03 スイッチをオンにしてシステムの許可を完了
接続を開始する前に、サーバーとGlobal Routingを確認します。どの設定を使っているか分からないままスイッチをオンにするのを防げます。
Homeに戻り、SERVER欄で読み込みまたは入力したサーバーが選択されていることと、Global Routingの値を確認します。画面上部にNot Connectedと表示されている場合、現在の接続は確立されていません。上部のスイッチをオンにします。初回利用時は、システムからVPN構成の追加を求められることがあります。案内に従って許可し、デバイス上でパスコードまたは生体認証を完了してください。デバイスのロック解除用パスコードをAdd ServerのPassword欄に入力しないでください。用途が異なります。
許可したらShadowrocketに戻り、Homeの状態が変わるまで待ちます。システムのVPN構成は、関連するネットワークリクエストをクライアントに渡すためのものです。接続先サーバーへの到達性が確保されたことを意味するわけではありません。スイッチがオンでも次の手順でアクセスを確認してください。システムの許可を取り消した場合、接続を維持できないことがあります。その場合は、サブスクリプションを繰り返し更新するのではなく、まず許可の状態を確認します。
スイッチをオンにした直後にオフへ戻る場合は、システムで別のVPN接続が使用中でないか、デバイス管理ポリシーによる制限がないか、ShadowrocketのVPN構成が無効になっていないかを確認します。トラブル対応では、競合する接続を先に停止してから再度操作してください。組織が管理するデバイスでは管理上の要件に従い、制限を回避しようとしないでください。具体的なエラーが表示された場合は、文面と発生した操作を記録し、該当する手順に沿って対処します。
通常の切断もHome上部のスイッチから行います。後で自動再接続が起きた場合は、サーバーを削除するのではなく、SettingsのOn Demandとその条件を確認してください。この段階では手動接続を維持し、以下の確認を済ませてから自動接続を有効にするか判断します。
[Connectivity Test]
04 3段階で動作を確認
システム接続、宛先への到達、ルールの適用をそれぞれ確認します。1回のテスト結果だけで全体を判断することはできません。
第1段階:接続が維持されているか
Homeに戻り、接続スイッチがオンのままであること、選択したサーバーが正しいこと、画面にエラーが繰り返し表示されていないことを確認します。許可を完了した直後は、接続が確立するまで少し待ってからConnectivity Testを実行します。テスト結果は選択中のテスト方法に基づくものです。特定の検査に失敗しても、サーバーが検査方法にどう応答するかが関係している可能性があります。1回の結果だけでアカウントやサブスクリプションが利用できないと判断しないでください。
第2段階:想定した宛先にアクセスできるか
ブラウザーを開き、プロキシ経由にする想定の宛先にアクセスして、実際のページを再読み込みします。ブラウザーにキャッシュされた内容だけを見たり、デバイスにVPNアイコンが表示されていることだけで判断したりしないでください。Webページが開かずConnectivity Testに結果が出る場合は、DNS名前解決、TLS、対象サイト、個別の接続問題を切り分けます。すべての宛先にアクセスできない場合は、ルールを追加する前にサーバーパラメーターと現在のネットワークを確認します。
Wi-Fiとモバイルネットワークを切り替えて再接続し、特定のネットワークでのみ失敗するか比較することもできます。テストではネットワークの種類、Global Routing、選択中のサーバー、対象ドメインを記録すれば十分です。認証情報を記録または公開する必要はありません。ネットワークを切り替えた後も古い接続が残っている場合は、スイッチをいったんオフにしてからオンにし、再度アクセスしてください。
第3段階:Configの振り分けが想定どおりか
Configを使う場合は、DIRECTになる想定の宛先も選んで比較します。現在のバージョンでリクエスト記録が利用できる場合は、対象ドメインに一致したルールと最終ポリシーを確認し、プロキシを経由するはずのリクエストがPROXYに振り分けられていることを確かめます。ページが表示されたというだけで成功と判断しないでください。宛先によっては、通常のネットワークから直接アクセスできるためです。
ProxyではアクセスできてConfigでは失敗する場合は、選択中の設定、ドメインルールの順序、FINALポリシーを確認します。両方のモードで失敗する場合は、サーバー情報とネットワークを重点的に確認してください。確認後はGlobal Routingを実際に必要なモードに戻し、検証できた手順を記録しておきます。サブスクリプション更新やルール変更の前後を比較する基準になります。
[Settings]
05 問題が起きた箇所を確認
まず手順のどこで止まったかを確認してからSettingsを見ます。初回接続のために、すべての詳細設定を変更する必要はありません。
読み込みに失敗する:URLと情報の形式を確認
サブスクリプションを更新できない、またはリストが空の場合は、サービス提供元の管理ページではなくサブスクリプションURLを使っているか確認します。コピーした内容に欠けがないか、サブスクリプションが有効か、現在のネットワークから内容を取得できるかを確認してください。更新リクエストに特定のネットワーク条件が必要な場合もあります。サービス提供元に確認し、サブスクリプションの更新失敗とサーバー接続の失敗を混同しないでください。サーバーが表示されているのに使えない場合は、パラメーターと接続を確認します。
接続に失敗する:サーバーとテスト方法を確認
元の情報と照合し、Type、Host、Port、Password、およびプロトコル固有の項目を確認します。TLS関連のエラーでは、デバイスの時刻とサーバーが求める名前が一致しているか確認し、検証設定を安易に緩めないでください。SettingsでTest Methodを確認し、Connectivity Testが現在どの方法を使っているか把握します。異なる方法の結果を同じ指標として直接比較することはできません。また、1回の応答時間を安定性の保証とみなすこともできません。
同じサブスクリプション内の他のサーバーは使えるのに、特定のサーバーだけ失敗する場合は、項目名とエラーを記録してサービス提供元にサーバーの状態を確認してください。すべてのサーバーが同じネットワークでのみ失敗する場合は、そのネットワークの認証、接続条件、名前解決を優先して確認します。1回のテストに失敗しただけで全項目を削除しないでください。比較に必要な情報が失われます。
接続しているのに振り分けが違う:Global Routingを確認
Directのままになっていないか、別のConfigを使っていないか、対象に一致するルールより前に別のルールが適用されていないかを確認します。ルールを調べるときは、テスト対象を明確にし、具体的なドメインルールからFINALまで順に確認します。DNS、URL Rewrite、HTTPS Decryptionなどにはそれぞれ適用条件があります。初回接続に失敗したからといって、まとめて有効にしないでください。構文や優先順位の詳しい説明はルールリファレンスをご覧ください。
自動接続と診断:最後に調整
On Demandは条件に応じて接続を開始する機能であり、誤ったサーバーパラメーターを補うものではありません。まず手動接続が正常であることを確認してから、SettingsでOn Demandの条件と想定される動作を確認します。手動で切断した後に再接続する場合は、ここで設定を確認してください。SettingsのProxy、TCP、UDPなどは詳細なネットワーク項目です。原因が分かるまでは既存の設定を維持し、余分な条件を増やさないようにします。
さらに詳しく調べる必要がある場合は、Diagnosticsから問題に関連するツールを使い、エラー発生時のネットワークの種類、宛先、操作順序を記録します。診断記録にはドメイン、サーバーアドレス、認証情報などが含まれる場合があります。共有する前に内容を確認し、機密情報を隠してください。確認が終わったら、一時的に変更したモードとテスト設定を元に戻し、「接続—アクセス—ルール確認」をもう一度行って一連の動作を確認します。その他の事例はよくある質問を、不明な項目は用語集を参照してください。
[Download]
他のデバイスでの入手とインストール
上記の操作はiPhone / iPadを例にしています。iPhone / iPad版はApp Storeで$2.99の買い切りです。Mac(AppleシリコンおよびIntel)、Windows、Android、Linux版は無料です。他のデバイスではダウンロードガイドから該当するインストールパッケージを選んでください。パッケージは本サイトの/dl/から提供しています。画面上の位置やシステムの許可手順は、各デバイスの表示に従ってください。
現在のバージョン 読み込み中 · iPhone / iPad版は$2.99の買い切り、Mac、Windows、Android、Linux版は無料です。
初回インストール時にシステムの警告が表示された場合は、ファイルが本サイトから取得したものか確認してください。Macでは「プライバシーとセキュリティ」で「このまま開く」を確認できます。Windows SmartScreenでは「詳細情報」の後に表示される実行オプションを確認してください。Androidでは、ダウンロードに使ったブラウザーで「不明なアプリのインストールを許可」を有効にし、インストール後に権限を取り消せます。Linuxではパッケージ形式に応じて実行権限や依存関係を設定してください。具体的な手順やその他の案内はインストール許可の設定にまとめています。入手元が不明なファイルの実行を許可しないでください。