公式マニュアル · 初回接続
Shadowrocket クイックスタート
追加、モード選択、接続、確認、トラブル対処の順に進めます。iPhoneとiPadを対象に、まず原因を把握できる状態で接続し、その後にルールやほかの設定を調整します。
確認対象として、今回必要なサーバーと構成だけを残してください。DNS、Rule、On Demandなどを同時に変更すると、アクセス結果が変わったときに原因を特定しにくくなります。サブスクリプションURL、パスワード、認証情報は個人情報です。コピー時に内容を確認し、トラブル対処の際も認証情報を含む全体を公開しないでください。
01 · Add Server / Subscribe 情報を追加
Shadowrocketを開き、まずHomeに進みます。ここではサーバーの確認と選択を行います。Configは構成ファイルを管理する画面で、役割が異なります。サブスクリプションの追加後は、Configにファイル名が表示されるだけでなく、Homeにサーバーが表示されていることを確認してください。お手元の情報に合った方法を選び、同じ情報を繰り返し追加する必要はありません。
サブスクリプションURLがある場合:Subscribeを選択
Homeの右上にある追加ボタンをタップし、Add Serverを開きます。Typeを開いてSubscribeを選び、自分のサブスクリプションURL全体をURL欄に入力します。名前やメモは識別用に入力できますが、認証情報の欄として使わないでください。保存して内容の読み込みを待ち、Homeに戻ってサブスクリプションのグループとサーバーが表示されていることを確認します。
貼り付ける前に、アカウントページや説明ページ、個別サーバーの共有リンクではなく、サブスクリプションURLであることを確認してください。コピー時にURL末尾のパラメーターが抜けたり、改行、空白、チャットの句読点が混入したりすることがあります。URLの大文字・小文字やパラメーターはそのまま保ち、クエリ部分を推測で削除しないでください。サブスクリプションの読み込み成功は、内容をクライアントが取得できたことを示すもので、すべてのサーバーに接続できることを保証するものではありません。
サブスクリプションは更新可能なサーバー一覧です。更新する際はHomeで該当する項目を見つけ、編集または操作メニューから更新してください。毎回同じ名前のサブスクリプションを追加するのではなく、既存の項目を更新します。更新後は、現在選択しているサーバーが一覧に残っているか確認してください。読み込みに失敗した場合は既存の項目を残し、リンクとネットワークを確認します。すべての情報をすぐに削除しないでください。
サーバー情報がある場合:Typeと各項目を確認
同じくHomeからAdd Serverを開き、Typeでサーバー情報と一致するプロトコルを選びます。次に、アドレス、ポート、そのプロトコルで必要な認証情報をそれぞれ入力します。プロトコルによって表示される項目は異なります。パスワード、UUID、TLS、トランスポート方式などを互いに置き換えることはできません。アドレス欄にはサーバーアドレスを入力し、ポート、パス、共有リンク全体をまとめて入力しないでください。
Shadowrocketで使える完全な共有リンクがある場合は、アプリ内の読み込み機能を利用できます。QRコードがある場合はScan QR Codeを使い、システムから求められたら必要に応じてカメラへのアクセスを許可します。読み込み後も項目を開き、Type、アドレス、ポート、認証情報を確認してください。自動読み込みで手入力は減らせますが、サーバー情報が古くないか、トランスポート設定がサーバー側と一致するかまでは判定できません。
保存後にHomeへ戻り、選択可能なサーバー名が表示されていることを確認します。名前は識別用で、接続を決めるのは項目内のパラメーターです。ここまでで完了したのは「情報をクライアントに追加すること」であり、リクエストのルーティングはまだ決まっていません。次にGlobal Routingを選び、接続スイッチをオンにします。サブスクリプション、共有リンク、構成ファイルの違いは用語集をご覧ください。
02 · Global Routing モードを選択
HomeでGlobal Routingを開き、用途に合ったモードを選びます。選択肢はConfig / Proxy / Directです。変わるのはリクエストのルーティング方法であり、サーバーの種類ではありません。モードを切り替えてもサーバーアドレスや認証情報は修正されず、無効なサブスクリプションが復旧するわけでもありません。
Config:現在の構成に基づいてポリシーを適用
Configは、現在の構成に基づいてリクエストを処理します。Config画面を開き、必要な構成がファイル一覧に表示されているだけでなく、選択されていることを確認してください。Homeに戻り、Global RoutingがConfigになっていることも確認します。初めて使う際、まだルールを用意していない場合は、出所の分からない構成を複数読み込んで切り替えないでください。まず現在の構成の用途を確認してから、使うかどうかを決めます。
ルールでよく使われるPROXY、DIRECT、REJECTは、それぞれプロキシ経由、直接接続、リクエスト拒否を表します。リクエストがサーバーを経由するかどうかは、適用されるルールとポリシーによって決まるため、Configで一部のリクエストが直接接続されるのは正常です。Webページが開けることだけで、すべてのリクエストがプロキシ経由だと判断しないでください。また、一度直接接続できたからといって、構成が無効だと決めつけないでください。
Proxy:選択したサーバーを先に確認
Proxyは初回の確認に利用できます。Homeで自分のサーバーを選び、Global RoutingをProxyにすると、ルールによる振り分けの影響を抑えて確認できます。これはトラブル対処の方法であり、あらゆる利用場面でこのモードを使い続けるという意味ではありません。アプリやシステムに必要な例外によって一部のリクエストに影響することもあります。Proxyを、デバイス上のあらゆる通信が完全に同じ経路を使う設定と捉えないでください。
ProxyではアクセスできるのにConfigでは失敗する場合、次は現在の構成、ルールの適用、DNSを確認します。すぐにサーバーのパスワードを再入力する必要はありません。確認が終わったら、普段使うモードに戻し、どの構成を使用したか記録してください。こうすることで、「サーバーが利用可能か」と「ルールが想定どおりか」を分けて確認できます。
Direct:元のネットワークと比較
Directではリクエストを直接接続で処理するため、現在のネットワークから接続先にアクセスできるか確認するのに適しています。Directを選んでもサーバーはHomeの一覧に残ることがありますが、項目が表示されているだけでは、そのサーバーがリクエストに使われていることにはなりません。比較する際は、同じネットワーク、同じ接続先、近い時間帯で試してください。ネットワークを切り替えてから比較すると、結果にはネットワークの変化も影響します。
モードを選んだ後は、高度な項目を続けて変更する必要はありません。まずHomeに戻り、モードの表示を確認してから次に進みます。構成ファイルのGeneral、Rule、Host、URL Rewriteやルールの順序については、構成項目リファレンスで詳しく説明しています。このページでは初回接続に必要な確認に絞ります。
03 · Home 接続を開始
Homeに戻り、今回使うサーバーをタップして選択状態を確認し、接続スイッチをオンにします。サブスクリプションに複数のサーバーがある場合、初回は1台だけテストしてください。同じ確認中に何度も切り替えるのは避けます。項目を変更する場合は、先に接続を停止してから編集・保存し、改めてその項目を選んで接続します。
初回にVPN構成の追加を求められた場合
初めて接続スイッチをオンにすると、システムからShadowrocketによるVPN構成の追加を求められることがあります。表示されたアプリ名を確認し、許可した後、システムの指示に従ってデバイス認証を完了してからShadowrocketに戻り、状態を確認します。この許可により、アプリはネットワーク処理に使うシステム接続を確立できます。購入の確認ではなく、サブスクリプションの読み込みやサーバー情報の補完を行うものでもありません。
以前に許可を取り消した場合、接続が完了しないことがあります。接続スイッチをもう一度オンにして、実際に表示されるシステムの案内に従ってください。案内が表示されない場合は、システム設定のVPN管理画面でShadowrocketの項目を確認します。システム設定の手順や画面構成はバージョンによって異なることがあります。固定のメニュー名を探すために、ほかの構成をむやみに削除する必要はありません。
iPadでも操作の順序は同じです。先にサーバーを選び、接続をオンにしてから、システムの許可に対応します。横向き表示やデバイスによって画面上の配置が異なる場合は、Home、Global Routing、Configなどの画面名を目印にしてください。ボタンの左右の位置だけで機能を判断しないでください。
スイッチの状態と実際の利用可否を区別する
スイッチがオンのままでシステムにVPNアイコンが表示されていれば、接続構成が該当する状態にあることを示します。ただし、サーバー認証の成功、DNSの正常動作、すべてのWebページへのアクセスを同時に証明するものではありません。リクエストを実際に送信して初めて分かる問題もあるため、次に実際のアクセスを確認します。スイッチをオンにしてすぐオフに戻る場合は、Ruleを変更する前に許可または接続確立の問題を確認してください。
初回接続の段階ではOn Demandを設定しないでください。これは条件に応じて接続を開始する機能で、手動接続を成功させる前提ではありません。すでに関連条件を設定している場合、ネットワークの切り替えや手動切断後に接続が再開することがあります。トラブル対処中は、まず条件を確認して手動スイッチの結果を見ます。手動接続が安定してから、自動接続の動作を個別に設定・確認してください。
04 · Connectivity Test 動作を確認
接続後は、まず選択中のサーバーを確認し、次にWebページへの実際のアクセスを確認します。アプリでConnectivity Testを開き、テスト対象が今回選択した項目であることを確かめて、結果を確認してください。ある項目にテスト結果が表示されていても、現在の接続先として選ばれているとは限りません。特にサブスクリプションの更新後やサーバーの切り替え後は、Homeに戻って再確認します。
テスト結果を確認してから、実際のリクエストを試す
Connectivity Testは、テストリクエストに応答があったかを判断するのに役立ちますが、結果はテスト方法、接続先、現在のネットワークに左右されます。タイムアウトした場合は追加確認が必要です。テストに成功しても、ブラウザーでの確認に代わるものではありません。測定時間をすべてのアプリでの実際の通信速度とみなしたり、一度の結果だけでサーバー項目を削除したりしないでください。
Safariを開き、アクセス可能で現在の確認に使える、見慣れたWebページを表示します。本文と必要なリソースがすべて読み込まれるか確認してください。サイトのメンテナンスやアクセス制限をクライアントの不具合と誤認しないよう、異なるサイトを2つ用意するのがおすすめです。ネットワークは変えずにページを再読み込みし、すでに開いている古いタブだけで判断しないでください。ブラウザーのキャッシュにより、新しいリクエストが成功したように見えることがあります。
Webページを表示できたら、結果がGlobal Routingの選択と一致しているか確認します。Proxyではサーバー経由の経路、Directでは元のネットワーク、Configではルールに基づいて確認します。Configでは一部の接続先が直接接続されるため、「ページが開くこと」と「ページがプロキシ経由であること」は別の問題です。振り分けを確認するには、該当するリクエスト記録で実際に適用されたポリシーを見て、構成の想定と比較してください。
条件をそろえて比較する
結果がはっきりしない場合は、現在のサーバー、Global Routing、選択中の構成、テスト対象を記録します。接続を停止し、同じ接続先を元のネットワークで確認してから、再接続して比較してください。原因を判断するには、1回につき変更する条件を1つにします。サーバー、ネットワーク、DNSを同時に変更して、最後に「直った」とだけ記録するのは避けてください。
確認完了の基準は、特定のアイコンが表示されることだけではありません。選択したサーバーが想定どおりで、モードが用途に合い、実際のリクエストが完了し、Configではポリシーがルールに沿っていることを確認します。これらの条件を満たしたら、現在の設定を維持して使えます。ルールの振り分けをさらに設定する場合はRule設定リファレンスをご覧ください。それでも失敗する場合は次のセクションで原因を切り分けます。インストール手順からやり直す必要はありません。
05 · よくある問題 原因を切り分ける
まず問題がどの段階で起きているかを確認します。サブスクリプションを読み込めていないのか、接続スイッチがオンのままにならないのか、スイッチはオンでもWebページにアクセスできないのかを区別します。状況によって確認項目は異なります。正常に動作している項目や元の構成は残し、変更前の値を記録してください。1項目を修正するごとに前のセクションのテストを繰り返し、すべての設定を一度に上書きしないでください。
Subscribeの読み込みに失敗する、または一覧が空
Homeに戻り、該当するサブスクリプションの編集画面を開いて、URL全体を確認します。特に末尾のパラメーター、空白、改行に注意してください。リンクが有効で、アカウントのログイン画面やWebの説明ページではなく、読み取り可能なサーバーサブスクリプションであることを確認します。ブラウザーでURLを開けても、返される内容がサブスクリプション形式とは限りません。認証情報を含むリンクを公開ツールでテストしないでください。
元のネットワークでサブスクリプションを読み込める場合は、まずそのネットワークで更新します。特定の接続条件が必要な場合は、利用可能な自分のサーバーを使い、アプリの現在の設定で更新を試してください。まだ読み込んでいないサーバーを、同じサブスクリプションの取得に必要な前提として扱うことはできません。リンクの有効性、アカウントの状態、サーバー情報に疑問がある場合は、利用中のサービス提供元に確認してください。本サイトでは代替のサブスクリプションを提供していません。
スイッチがすぐオフになる、または接続できない
まずシステムでのVPN構成の許可を確認し、次にHomeで利用可能な項目が実際に選択されていることを確かめます。項目を開いて、Type、アドレス、ポート、認証情報が元の情報と一致するか確認してください。TLSやトランスポート設定を使うプロトコルでは、サーバー名、パス、指定されたほかのパラメーターも確認します。不明なエラーを回避するために証明書の検証を無効にしたり、別のプロトコルのパラメーターを現在の項目に流用したりしないでください。
システム上で別のVPN接続が動作している場合は、まず停止してShadowrocketだけをテストします。接続の切り替えや状態の変化をサーバーの障害と誤認しないためです。デバイスの日付と時刻も確認してください。大きくずれていると、安全な接続に影響することがあります。修正後に接続し直し、状態が維持されるか確認します。それでも維持できない場合は、ルールより接続層を優先して調べてください。
スイッチはオンだが、すべての接続先にアクセスできない
まずDirectを選ぶか接続を停止して、元のネットワークを確認します。元のネットワークでも接続できない場合は、Wi-Fi、モバイル通信、現在のネットワークでログインが必要かを確認してください。元のネットワークが正常なら、自分のサーバーを1台選び、Proxyで比較してConnectivity Testも実行します。両方とも失敗する場合は、サーバーの利用可否、認証情報、トランスポート設定を重点的に確認します。
テスト結果はあるのにブラウザーで失敗する場合は、DNS設定と接続先を確認します。古いカスタムDNS設定がドメイン名の解決に影響している可能性があります。まず現在の値を記録し、正常と分かっている設定と比較してください。Webページが開かないという理由だけでDNSが原因と決めつけたり、複数のカスタムアドレスをむやみに追加したりしないでください。DNSの詳しい設定はGeneralなどほかの項目にも関わるため、構成項目リファレンスをご覧ください。
Proxyでは正常だが、Configでは失敗する、または一部の接続先だけ失敗する
Configを開き、現在どの構成が選択されているか確認してから、該当するRuleを調べます。ルールは通常、上から順に判定されます。範囲の広いルールが前にあると、後続の具体的なルールより先に適用される場合があります。FINALは末尾のフォールバックとして使います。ルール内に接続先のドメイン名があるかだけでなく、適用されるポリシーがPROXY、DIRECT、REJECTのどれかも確認してください。
一部のサイトだけ失敗する場合は、接続先自体の状態、Webページが利用する別のドメイン、現在のネットワーク条件も考慮します。1つのページのためにすべてのリクエストを同じポリシーに変更しないでください。同じ接続先をProxyとConfigで比較し、実際のリクエスト記録を確認すると、原因を絞り込めます。DOMAIN-SUFFIX、IP-CIDR、FINALの意味は用語集で、詳しい書き方と順序はRule設定リファレンスで確認できます。
再現条件を記録して、さらに原因を調べる
デバイスの種類、現在のネットワーク、Global Routing、問題が発生した手順、「すべて失敗」か「一部のみ失敗」かを記録します。エラー情報を共有する場合は、サブスクリプションURL、パスワード、UUIDなどの認証情報を隠してください。プロトコルの種類、エラーメッセージ、確認済みの内容を残せば十分です。構成に個人用アドレスが含まれる場合も、サーバー名だけでなく、共有前に各項目を確認してください。
最後に、トラブル対処のために一時変更したモードや設定を元に戻し、普段使うサーバーとConfigを選び直して、Webページへの実際のアクセスをもう一度確認します。問題が続く場合は、特定できた失敗箇所から調べてください。初回接続では、情報の追加、ルーティング、許可、リクエスト結果を順に確認します。ルールの調整、On Demand、その他の構成項目は、この基本の流れが安定してから個別に追加してください。