公式マニュアル / 基本操作

Shadowrocket
設定の追加と初回接続

「追加 → モード選択 → 接続 → 確認 → トラブル対処」の順に進めます。各手順の結果を確認してから次へ進んでください。プロトコルのパラメーターやルールの仕組みは、プロトコル解説を参照してください。

  • Home
  • Add Server
  • Config
  • Settings

事前にご確認ください:App StoreからShadowrocketをインストール済みで、ご自身のサブスクリプションリンクまたはサーバー情報をお持ちであること。本サイトでは、サーバー、サブスクリプション、接続サービスの提供・販売・推奨は行っていません。クライアントアプリの買い切り購入と接続用サーバーの契約は別です。アプリを購入しても、接続に必要なサーバー情報は付属しません。

まだインストールしていない場合は、まずApp Storeでの正規版の確認と入手方法をご覧ください。このチュートリアルではiPhone / iPadを使用します。システム要件はApp Storeのページに記載された内容をご確認ください。

掲載画像はApp Storeの公式スクリーンショットです。画面や項目を確認するために使用しています。実際の操作では、端末に表示される画面に従ってください。スクリーンショット内の入力例をそのまま使う必要はありません。

手順 01 / 使用する項目を準備

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

Shadowrocketを開き、Homeに進みます。まず、手元の情報がサーバーのパラメーター一式、単一サーバーの共有リンク、QRコード、サブスクリプションリンクのどれに当たるか確認してください。情報の種類によって読み込み方法が異なります。サブスクリプションリンクは複数の項目の取得や更新に使い、サーバーのパラメーターは1つの項目を作成するために使います。URLがHTTPSで始まるというだけで、サブスクリプションと判断しないでください。

サーバー情報を手動で入力

HomeのSERVER欄にあるAdd Serverを開きます。まずTypeをタップし、手元の情報と一致するプロトコルを選択してから、HostとPortを入力します。Hostはサーバーのドメイン名またはIPアドレス、Portはサーバー側で指定されたポート番号です。共有リンク全体をHostに入力したり、アドレス内のパスやクエリパラメーターをサーバー名として扱ったりしないでください。

Typeによって後続の入力項目は変わります。スクリーンショットにはPasswordやMethodなどが表示されていますが、すべてのプロトコルで同じパラメーターを使うわけではありません。Password、UUID、Method、TLS関連の設定、通信方式は、手元の情報に一つずつ照らし合わせて入力してください。別のプロトコルの項目で代用することはできません。ポート番号や認証情報が1文字違うだけでも、保存できても接続できない場合があります。入力後に保存してHomeへ戻り、SERVERに追加した項目が表示されていることを確認します。

QRコードと共有リンク

QRコードがある場合は、Add ServerでScan QR Codeを選択し、システムの案内に従ってカメラの使用を許可してから、QRコード全体を読み取り枠に収めます。読み取り後、Type、アドレス、ポート番号を確認して保存してください。QRコードは情報を伝えるためのものであり、内容の正しさを保証するものではありません。読み取れない場合は、画像が鮮明か、QRコードが欠けていないか、クライアントが読み取れる設定情報を含んでいるかを確認してください。

単一サーバーの共有リンクがある場合は、内容全体をコピーし、アプリに戻って表示された読み込み案内に従います。案内が表示されない場合は、コピーした内容に余分な説明文が含まれていないか確認してください。Import from Cloud JSONは、該当するJSON情報を読み込むための機能で、汎用のサブスクリプション入力欄ではありません。形式がわからない場合は、情報の提供元に確認してください。Typeを変えながら何度も入力を試すのは避けてください。

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

Add ServerのTypeでSubscribeを選び、自分のサブスクリプションリンク全体をURL欄に入力して保存し、読み込み結果を待ちます。Homeに戻り、サブスクリプショングループと項目が表示されているか確認してください。サブスクリプションURLには個人用のアクセス情報が含まれる場合があります。クエリパラメーターを含めて完全な状態で入力し、スクリーンショット、掲示板、公開ドキュメントなどには載せないでください。

サブスクリプショングループだけが表示され、サーバーの項目がない場合は、まず現在のネットワークからURLにアクセスできるか、サブスクリプションが有効かを確認します。項目がない状態を読み込み完了とみなさないでください。サブスクリプションの更新で項目が追加・削除されることがあります。名前の変更や整理を行う前に、元の情報を保管してください。ここでは、元の情報と一致する項目が少なくとも1つ表示されていることを確認し、次の手順で通信の処理方法を選びます。

この手順の確認ポイント:HomeのSERVERに目的の項目があり、Type、Host、Portが元の情報と一致していること。
ShadowrocketのAdd Server画面。Type、Host、Port、Password、Method、Scan QR Code、Import from Cloud JSONを表示
Add Server:まずTypeを選択し、そのプロトコルに必要な項目を確認します。

手順 02 / 通信の処理方法を決める

Global Routing:Config、Proxy、Direct

項目を追加したらHomeに戻り、Global Routingをタップします。ここでは、クライアントが処理する接続の扱いを決めます。サーバーを選択する画面ではありません。モードはConfig、Proxy、Directの3種類です。選択する前にテストの目的を明確にし、現在のモードを把握しないままWebページの表示結果からサーバーの状態を判断することは避けてください。

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

Configでは、現在有効な設定ファイルに基づいてリクエストを処理します。Configを開き、一覧にファイルがあるかどうかだけでなく、実際にどのファイルが選択されているか確認してください。サーバーの追加と設定ファイルの追加は別の操作です。サブスクリプションにサーバー項目が表示されても、必要な振り分けルールが読み込まれたり有効になったりしているとは限りません。設定ファイルがすでにある場合は、選択して使う前に提供元と内容を確認してください。

公式スクリーンショットでは、設定の編集画面にGeneral、Rule、Hosts、URL Rewrite、HTTPS Decryptionの各セクションが表示されています。初めて使う場合は、まずRuleを確認してください。ルールは通常、上から順に確認され、該当した時点で対応するポリシーが適用されます。DIRECTは直接接続、PROXYはプロキシポリシーの適用、REJECTは拒否を意味します。範囲の広いルールが上にあると、後続の具体的なルールが確認されない場合があります。

このチュートリアルではHTTPS Decryptionの変更や、書き換え機能の有効化は必要ありません。まず内容を把握できる基本設定で接続を確認し、複雑な設定は基本的な確認が終わってから行ってください。設定ファイルのポリシーの適用先がわからない場合は、元のファイルを保管したうえでプロトコル解説とパラメーターの説明およびルールと振り分けに関する質問を確認してください。初回接続のために複数のセクションを同時に変更しないでください。

Proxy:プロキシ接続を明確にテスト

Proxyでは、クライアントが処理する接続をプロキシ経由で処理します。Configと条件をそろえて比較する際に使えます。ただし、すべての接続先にアクセスできることを保証するものではなく、サーバー情報の確認に代わるものでもありません。Proxyではアクセスできるのに、Configで同じ接続先にアクセスできない場合は、サーバーをすぐ削除するのではなく、現在の設定ファイルと適用されたポリシーを優先して確認してください。

Direct:現在のネットワークの基準を確認

Directでは、通信を直接接続として処理し、現在のネットワークから接続先にアクセスした場合の状態を確認できます。選択中のサーバーを使ったプロキシ接続が成功したことを意味するわけではありません。モードを比較する際は、同じ接続先ページと同じネットワークを使い、一度に1つのモードだけ切り替えて新しいリクエストを送信してください。比較後は、実際に使うモードに戻してから接続の手順に進みます。

この手順の確認ポイント:Config、Proxy、Directのいずれかを選択し、Configの場合は現在有効な設定ファイルを把握していること。
ShadowrocketのConfig設定ファイル編集画面。General、Rule、Hosts、URL Rewrite、HTTPS Decryptionの各セクションとAdd Ruleを表示
Config:設定内容の確認画面です。Global Routingのモード選択画面ではありません。

手順 03 / クライアントを接続

Home:項目を選択して接続スイッチをオン

Homeに戻り、SERVERリストで使用するサーバーをタップして、選択マークが目的の項目についていることを確認してください。サブスクリプショングループには、名前の似た項目が複数ある場合があります。アドレスや登録済みのメモを参考に見分けてください。リストに項目があるのは情報が保存されていることを示すだけで、選択済み、または接続中であることを意味しません。

Global Routingに表示されたモードを再確認し、画面上部のNot Connectedに対応する接続スイッチをオンにします。初回は、VPN構成の追加を許可するかシステムから確認される場合があります。これはShadowrocketがシステムのネットワーク構成を作成するための許可であり、接続サービスの購入ではありません。また、サーバー情報が自動入力されることもありません。自分で開始した操作であることを確認してから、システムの案内に従って許可し、端末で求められた認証を完了してください。

許可を取り消した場合は、アプリに戻って接続スイッチをもう一度オンにし、表示されるシステムの案内に従ってください。端末が管理ポリシーの対象になっている場合、権限を自分で変更できないことがあります。まず端末の管理要件を確認してください。権限の問題を解決するためにアプリを繰り返し削除するのは避けてください。端末内の設定を失うおそれがあります。VPN構成の許可とサーバー認証は別の手順です。VPN構成を許可しても、誤ったHost、Port、Passwordは修正されません。

許可後にHomeへ戻り、画面上部の接続状態がNot Connectedから変わったか確認します。スイッチがすぐにオフに戻る、または状態がなかなか変わらない場合は、何度も切り替えず、現在のモード、選択中の項目、表示されたメッセージを記録してください。サーバーを切り替えたり設定を変更したりする場合は、先に接続をオフにします。変更後に再接続すると、どの情報でテストしたかを確認しやすくなります。

システムにVPNアイコンが表示されても、システム上のVPN接続状態を示すだけです。目的のWebサイトにアクセスできることや、ルールが想定どおりに適用されていることを単独で証明するものではありません。Homeで接続状態を確認したら、項目とモードをそのままにして、次の手順で実際のリクエストを確認します。この時点では、手動テスト中にほかの条件で接続が再開されないよう、追加の自動接続条件を有効にしないでください。

この手順の確認ポイント:正しいサーバーが選択され、システムの許可を処理し、Homeで接続状態が変化していること。
ShadowrocketのHome画面。上部にNot Connectedスイッチ、Global Routing、Connectivity Testがあり、下部にSERVERグループとAdd Serverを表示
Home:サーバーの選択、Global Routing、接続スイッチをそれぞれ確認してください。

手順 04 / 接続状態とアクセス結果を分けて確認

Connectivity Test:テスト後、実際のページで確認

まずテストの応答を確認

HomeでConnectivity Testを実行し、テストが完了するまで待ちます。結果はTest Method、テスト先、現在のネットワーク、サーバーの状態によって変わります。1回の応答が示すのは、その時点でのテスト結果だけです。すべてのアプリやWebサイトが使えることを意味するわけではありません。

次に個別のリクエストを確認

同じサーバーとモードのまま、ブラウザーで新しいページを開き、アクセス先として把握しているサイトを表示します。ページの本文と必要なリソースが読み込まれるか確認してください。以前開いたタブ、キャッシュされたページ、既存の長時間接続では、設定変更が反映されていないように見えることがあります。モードを比較するときは、新しいリクエストを使用してください。

Connectivity Testに応答があるのにWebページが開けない場合、すぐにサーバーが利用できないと判断しないでください。テスト先とWebページの接続先は異なり、DNSの名前解決、TLSハンドシェイク、接続先サイトの状態、ルールのポリシーも異なる場合があります。まず、すべてのページで失敗するのか、特定のドメインだけで失敗するのかを記録します。次に、現在の設定でそのドメインにDIRECTとPROXYのどちらが適用されるか確認してください。必要に応じてアプリ内の実際のリクエスト記録を参照し、接続先、適用ルール、最終ポリシーを確認します。

Configの動作を確認するには、適用ルールが明確な接続先を選んで新しいリクエストを送信し、対応する記録を確認します。ページの表示速度だけでプロキシ経由か判断したり、1つの出口アドレス確認ページだけで全通信の処理方法を推測したりしないでください。ドメインごとに異なるポリシーが適用される場合があるため、具体的な接続先ごとに確認してください。

クライアントの接続をオフにし、同じネットワークから同じ接続先にアクセスして基準と比較する方法もあります。接続をオフにしても同じように失敗する場合は、現在のネットワークや接続先自体の問題も確認してください。Configだけで失敗し、Proxyでは同じリクエストが完了する場合は、まず設定ルールを確認します。テスト中にWi-Fi、サーバー、モードを同時に切り替えると、結果に影響した要因を特定しにくくなります。

初回の確認では、Homeの接続が維持されていること、目的の接続先へのリクエストが完了すること、モードとルールが用途に合っていることの3点を確認します。速度や長時間の安定性は、実際の使用環境で別途確認してください。Connectivity Testを1回実行しただけでは判断できません。確認後は日常の用途に合ったモードに戻し、問題があれば次の手順で原因を切り分けます。

手順 05 / 一度に変更するのは1項目だけ

Settingsからよくある失敗を確認

失敗した段階をもとに原因を切り分けます。読み込み内容がない場合は情報の形式、項目はあるが接続できない場合はパラメーターと権限、接続済みでもアクセスできない場合はDNS、ルール、接続先を確認してください。こうすることで、サブスクリプションの取得に失敗しているのにRuleを何度も変更したり、認証情報の誤りに関係のないシステム設定を変更したりするのを防げます。

サブスクリプションに項目が表示されない、またはQRコードの読み取り内容が不完全

元の情報が完全か、特にサブスクリプションURLのクエリパラメーター、共有リンクの先頭部分、QRコードの端が欠けていないかを確認します。現在のネットワークからサブスクリプションを取得できるか、設定情報ではなくログインページや一般のWebページが返されていないか確認してください。個人用のサブスクリプションURLを、信頼できないオンライン変換ページに入力しないでください。形式を確認してから一度だけ再読み込みし、Homeで項目を確認します。それでも解決しない場合は、情報の提供元に有効な内容か確認してください。

接続スイッチがオンの状態を維持できない、または認証エラーが表示される

まずシステムのVPN構成の許可を確認し、次に選択中の項目のType、Host、Port、認証情報を確認します。TLSや特定の通信方式が必要な項目では、サーバー名と対応する設定も確認してください。Passwordだけを確認しても不十分です。信頼できる別のネットワークで結果が異なる場合は、その違いを記録します。ただし、それだけを根拠に特定のプロトコルで必ず解決すると判断しないでください。各プロトコル項目の意味については、プロトコル解説をご覧ください。

テストに応答があるのにWebページが開けない

SettingsでTest Methodを開き、Connectivity Testのテスト方式を確認してから、実際のWebページへのリクエストと切り分けます。続いて、現在の設定のDNSとRuleを確認してください。ドメインでのアクセスに失敗しても、ほかのテストに応答がある場合、DNSの名前解決は確認項目の一つですが、それだけで原因を特定できるわけではありません。HTTPSのドメイン名をIPアドレスに置き換えるのは避けてください。証明書の確認や接続先サイトの選択にもドメイン名が使われます。

接続が何度も自動でオンになる、またはテスト結果を再現できない

SettingsでOn Demandを確認してください。設定済みの条件に応じて接続を開始する機能であり、サーバー情報の誤りを自動で修正するものではありません。原因の切り分け中はOn Demandを一時的にオフにし、手動でスイッチを操作したときの結果を確認します。手動接続と接続先へのリクエストが正常なことを確認した後、必要な条件を一つずつ戻し、ネットワークを切り替えた際の動作も確認してください。

診断情報を記録してから次の変更を行う

SettingsのDiagnosticsでは、利用可能な診断情報を確認できます。操作時の症状、現在のGlobal Routing、テスト方式、エラーメッセージを記録すると、「使えない」とだけ伝えるより原因を絞り込みやすくなります。記録を共有する前に、サーバーの個人用アドレス、サブスクリプションURL、認証情報などの個人情報を隠してください。設定全体を公開する必要はありません。

一度に変更するのは1項目だけにし、手順04と同じ条件で再テストします。変更前の設定を保管し、元に戻せることを確認してから次の変更を行ってください。サブスクリプションの状態、サーバー証明書、認証情報に関する問題は、該当情報の提供元に確認してください。購入、端末の互換性、購入済みアプリの復元に関する場合は、購入済みアプリの復元方法をご確認ください。ほかの症状についてはよくある質問をご覧ください。一つの問題に対して、すべての設定を同時に変更する必要はありません。

確認記録:使用した項目、Global Routingモード、実際の接続先、失敗した段階。次のトラブル対処はこの4点から始めます。
ShadowrocketのSettings画面。Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP、UDPの設定を表示
Settings:トラブル対処ではTest Method、On Demand、Diagnosticsを確認してください。

基本操作が完了したら、必要に応じてプロトコルの項目やルールの詳細を確認してください。復元可能な設定を保管し、その後の変更も「1項目だけ変更 → 新しいリクエストを送信 → 結果を比較」の順に進めます。

ShadowrocketをApp Storeから入手