公式マニュアル・初回設定

Shadowrocket 使い方ガイド

手元にある接続情報を使い、追加、モード選択、接続、確認、トラブル対処の5ステップで初回設定を行います。iPhoneとiPadの手順は同じです。画面の表示はアプリの現在の状態に従ってください。

初回設定では、現在接続中のWi-FiまたはCellularを安定させ、サービス提供元から受け取った情報をすべて用意してから、手順に沿って進めてください。サブスクリプションURLにはアカウント情報が含まれる場合があります。公開コメントやスクリーンショット、グループチャットには貼り付けないでください。既存の設定を変更する場合は、元に戻せるよう先にコピーを保存します。このページでは接続経路を一通り確認します。高度な設定を一度に変更する必要はありません。

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

Shadowrocketを開いたら、まずHome画面に移動します。画面下部のSERVERにはサーバーの一覧が表示されます。Add Serverをタップして追加画面を開き、手元の情報に応じて方法を選びます。サーバー一覧を取得するサブスクリプションURLならSubscribeを選択します。プロトコル、アドレス、ポート、認証情報がそろっている場合は、該当するプロトコルを手動で入力します。用途が異なるため、サブスクリプションURLをサーバーのHostとして入力しないでください。

サブスクリプションURLがある場合:Subscribeを選択

Add Serverを開き、Typeをタップして一覧からSubscribeを選び、該当するURL欄にサブスクリプションURLをすべて入力します。貼り付けた後、URLの先頭、末尾、クエリパラメーターがそろっているか確認してください。説明文、空白、改行を一緒に貼り付けないよう注意します。自分で識別しやすい名前をメモ欄に入力したら、保存してHomeに戻ります。アプリがサブスクリプションの内容を読み込みます。成功すると、メモの名前だけでなく、該当する一覧にサーバーが表示されます。

保存後にサーバーが表示されない場合は、更新失敗の表示がないか確認し、そのサブスクリプションを更新してください。内容が変更された場合も、更新して再取得する必要があります。接続スイッチを入れ直すだけでは、サブスクリプションは更新されません。同じURLを続けて追加すると、項目が重複して使用中の情報を判別しにくくなるため、繰り返し追加しないでください。

サーバー情報がある場合:Typeに合わせて各項目を入力

手動で追加する場合は、まずサービス提供元が指定したTypeを選び、Host、Port、プロトコルに必要な認証情報と通信設定を入力します。画面例のPasswordやMethodは、すべてのプロトコルで共通ではありません。Trojanの情報ならTrojanに対応する項目を、Shadowsocksなら該当するMethodとパスワードを確認してください。項目名が似ていても内容を置き換えられるとは限りません。不明なパラメーターは名前から推測せず、利用しているサービス提供元に確認してください。

Hostには通常、情報に記載されたドメイン名またはアドレスを入力します。ウェブページのパスを追加しないでください。Portにはサーバーで実際に使用するポートを入力します。TLS、サーバー名、その他の通信設定は、サーバー情報と一致させてください。テストを通すために検証要件をむやみに下げないでください。QRコードがある場合はScan QR Codeで読み取り、各項目を確認します。Import from Cloud JSONは、対応する形式の情報がすでにある場合にのみ使います。通常のサブスクリプション読み込みの代わりにはなりません。

保存後、SERVERの一覧に戻り、使用するサーバーをタップして選択します。この時点ではまだ接続せず、次にGlobal Routingでアクセス経路を選びます。

ShadowrocketのAdd Server画面。Type、Host、Port、Password、Methodと読み込み項目を表示
公式画面:まずTypeを選び、対応する項目を入力します。表示される選択肢はプロトコルによって異なります。

02・Global Routing:アクセス経路を選ぶ

Homeに戻り、Global Routingをタップしてモードを選択します。まずは基本となる3つの選択肢、Config、Proxy、Directの違いを確認しましょう。どの経路でリクエストを処理するかを決めるもので、サーバー情報を補ったり、無効なサブスクリプションを修復したりする機能ではありません。モードを変更したらHomeに戻り、選択内容を確認してから接続テストを行ってください。

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

日常的にルールで通信を振り分ける場合はConfigを選びます。その前に、適切な設定ファイルを用意して、現在のファイルとして選択してください。画面下部のConfigをタップして設定ファイルのページを開き、使用中のファイルを確認します。内容を確認する場合は該当ファイルの編集画面を開き、General、Rule、Hostsなどのセクションを確認してください。画面例は設定ファイルの編集画面であり、Homeでモードを選ぶ画面とは役割が異なります。

Rule内の項目は上から順に判定されます。先にあるルールが一致すると、後にある最終ルールは通常、そのリクエストの判定には使われません。順序を理解するための例:apple.comとそのサブドメインにはDIRECTを適用し、どのルールにも一致しないリクエストはPROXYにします。これは設定ファイルの全体ではなく、すべての利用者に適した設定を示すものでもありません。編集前にコピーを保存し、使用中の設定でこれらのポリシーが実際に使われることを確認してください。

[Rule]
DOMAIN-SUFFIX,apple.com,DIRECT
FINAL,PROXY

編集画面のAdd Ruleからルールを追加できます。初めて操作する場合は、一度に多くの項目を追加しないでください。また、接続のためにHTTPS Decryptionを変更する必要はありません。対象ドメインが前のDOMAIN、DOMAIN-SUFFIXなどのルールに一致するかを確認し、その後に最終的なポリシーを確認します。設定の構文、ポリシーグループ、優先順位の詳しい説明はルールと設定の総合ガイドをご覧ください。

ProxyとDirect:経路の指定や比較テストに使う

Proxyは、クライアントが処理するリクエストをプロキシ経由にします。トラブル対処でルールの影響を一時的に減らして確認する場合に便利ですが、サーバーが正常に動作していることが前提です。Directは接続先に直接接続します。プロキシサーバーの動作確認には使わないでください。Directに切り替えてウェブサイトが開いても、直接接続でそのサイトにアクセスできたというだけで、プロキシの設定が正しいとは限りません。

最初に基準となる状態を確認する場合は、Proxyを一時的に選択して、手元のサーバーが使えるかテストします。動作を確認できたらConfigに戻し、ルールによる振り分けを確認してください。すでに利用可能な設定がある場合は、最初からConfigを使っても構いません。比較テストの後は元のモードに戻し、テスト用の状態を日常設定として使い続けないようにします。見慣れない項目名やポリシー名は用語集で確認できます。この段階で高度な設定をすべて調べる必要はありません。

ShadowrocketのConfig設定編集画面。General、Rule、Hosts、URL Rewrite、HTTPS Decryption、Add Ruleを表示
公式画面:Configでは設定ファイルを確認し、Global Routingの選択はHomeで行います。

03・Home:接続スイッチをオンにして状態を確認する

サーバーとGlobal Routingを設定したらHomeに戻ります。スイッチをオンにする前に、SERVERで先ほどテストするサーバーが選ばれていること、Global Routingが使用予定のConfigまたはProxyになっていることを確認します。Configを使用する場合は、現在の設定ファイルも確認してください。サブスクリプションを更新した後に古い項目をテストしたり、Directの結果をプロキシ経由の結果と取り違えたりするのを防げます。

Home画面上部の接続スイッチをタップします。初回接続時は、システムからVPN構成の追加を許可するよう求められる場合があります。これはクライアントが対象のネットワークリクエストを処理するために必要なシステム許可です。表示内容を確認し、現在の操作による要求であることを確かめてから続行し、システムの案内に従ってデバイスの認証を完了してください。キャンセルした場合、アプリに戻っても接続が確立されていないことがあります。その場合は接続をもう一度開始して許可を完了し、サーバーのパスワードを何度も変更しないでください。

許可が完了したらShadowrocketに戻り、画面上部にNot Connectedと表示されたままか、スイッチがオンの状態を保っているか確認します。システムのVPN状態とアプリの接続状態から、ネットワーク設定が有効になったかを確認できます。ただし、スイッチがオンでも、対象のウェブサイトに必ずアクセスできるとは限りません。サーバー認証、接続先、DNS、現在のルールが実際の結果に影響することがあります。次に個別に動作を確認してください。

スイッチをオンにしてもすぐにオフに戻る場合は、まずシステムの許可が完了しているかを確認し、アプリに表示されたメッセージを記録します。ほかのVPN構成が有効になっていて、接続に影響していないかも確認してください。まず許可と接続状態の問題に対処します。Global Routing、サーバーのプロトコル、DNSを同時に変更すると、どの項目が結果に影響したのか分からなくなります。接続状態が確認できるまでは、スイッチを短時間に何度も切り替えないでください。

iPadでは、より幅の広い一覧や分割表示になる場合があります。Home、サーバーの選択、Global Routing、接続スイッチの順に確認してください。VPN状態の表示はシステム画面によって異なることがあります。アプリの状態と、その後の実際のリクエストを使って確認してください。一時的に使用を止める場合はHomeに戻って接続をオフにします。その後、自動で再接続される場合は、手順05でOn Demandの条件を確認してください。

ShadowrocketのHome画面。Not Connected表示と接続スイッチ、Global Routing、Connectivity Test、SERVERの一覧を表示
公式画面:Homeで接続スイッチ、Global Routing、Connectivity Test、サーバーを確認できます。

04・Connectivity Test:テストと実際のアクセスを確認する

接続をオンの状態に保ち、HomeでConnectivity Testをタップして、画面に表示される方法でテストします。テスト結果は、選択した方法での接続状況を示すものであり、すべての接続先やプロトコルの通信が同じ結果になるとは限りません。特定のテストに失敗しただけで接続全体が利用できないと判断せず、実際のアクセス、アプリの記録、現在のネットワーク状況と合わせて確認してください。

続けてブラウザーを開き、確認したいページに新しくアクセスします。キャッシュ済みの古いページだけを見たり、ページに表示された地域名だけで接続経路を判断したりしないでください。出口アドレスを確認する場合は、信頼でき、現在のリクエストの出口を表示するサービスを利用します。Configでは接続先ごとに異なるポリシーが使われる場合があるため、1回の確認結果がデバイス上のすべてのリクエストを示すとは限りません。

Shadowrocketに戻り、Dataで確認できる接続またはリクエストの記録から、直前にアクセスした対象を探します。適用ルール、ポリシー、サーバー情報が記録されている場合は、想定どおりか一つずつ確認してください。対象のリクエストにDIRECTが適用されている場合、通常はルールに従って直接接続しています。PROXYが適用されても失敗する場合は、現在のサーバーと接続先を確認します。記録内容は画面によって異なります。実際に表示される情報をもとに判断し、記録を見つけられなかったことを「リクエストがなかった」と決めつけないでください。

Configでアクセスできず原因が分からない場合は、一時的にProxyに切り替え、同じ接続先にもう一度リクエストします。ProxyではアクセスできてConfigではできない場合、ルールの適用、ポリシーの参照、設定ファイル内のDNSを優先して確認してください。どちらでも失敗する場合は、サーバー、プロトコルのパラメーター、現在のネットワークを確認します。比較中は接続先、サーバー、ローカルネットワークを変えず、モードだけを一度に一つ変更してください。そうすることでテスト結果を判断材料にできます。

特定のアプリだけで問題が起きる場合は、そのアプリの現在のリクエストを完全に終了してから、再度開いて比較します。Wi-Fiでのみ失敗し、Cellularに切り替えると直る場合は、設定全体を作り直す前にローカルネットワークを確認してください。ネットワークを切り替えると通信料金が発生したり、設定済みのOn Demand条件が適用されたりすることがあります。テスト前に関連設定を確認してください。

05・Settings:問題が起きた段階ごとに確認する

問題が起きたら、まずどの段階で止まっているかを確認します。サブスクリプションを読み込めない、接続スイッチがオンの状態を保てない、サーバーテストに失敗する、特定の接続先だけ開けない、といった状況を切り分けてください。段階によって確認する項目は異なります。SettingsではTest Method、On Demand、Diagnosticsなどを確認できますが、すべての項目を変更する必要はありません。まず状況を記録し、必要最小限の範囲で調整してください。

サブスクリプションの追加や更新に失敗する

サブスクリプションの設定に戻り、URL全体が正しいか確認します。管理画面のアドレスをコピーしていないか、クエリパラメーターが抜けていないか、余分な文字が入っていないかを確認してください。現在のネットワークからそのアドレスにアクセスできるか、サブスクリプションが有効かも確認します。ブラウザーで内容が表示されても、読み込み方法に適した形式とは限りません。ログイン画面、エラーの説明、空の内容が表示される場合は、利用しているサービス提供元にURLと形式を確認してください。新しい内容が有効と確認できるまでは、使える古い情報を残し、サーバーをすべて削除しないでください。

サーバーは表示されるが、接続またはテストに失敗する

手動で追加した項目では、Type、Host、Port、認証情報を優先して確認します。特にパスワードの前後の空白、Methodの選択、通信設定とTLSパラメーターが一致しているか確認してください。サブスクリプションから追加した項目は、先に更新してから、手元にある別の利用可能なサーバーと比較します。同じネットワークでだけすべての項目が失敗する場合は、ローカルネットワークの制限や一時的な問題を確認してください。1つの項目だけ失敗する場合は、そのサーバーの状態とパラメーターを先に確認します。

SettingsのTest Methodによって、接続テストの方法が変わります。テスト方法によっては応答しないサービスもあるため、タイムアウトした場合は実際のアクセス状況と合わせて判断してください。テスト結果だけで速度全体を判断せず、テストの表示を消すためにTCPやUDPなどの項目を同時に変更しないでください。プロトコルや通信の詳細は、実際に使用しているサーバーの設定に合わせて調整します。

接続は成功するが、一部のリクエストが想定した経路を通らない

まずGlobal Routingがテスト用のProxyまたはDirectのままになっていないか確認し、次にConfigで選択中の設定ファイルを確認します。続いて手順04に沿って対象リクエストの記録を探し、前にあるルールが適用されていないか確認してください。ドメイン名の解決が関係する場合は、同じネットワークと接続先で問題が再現することを確認してから、Generalの関連設定を見直します。ルールを変更した後は、リクエストを新しく実行してください。既存の接続には新しいポリシーがすぐに反映されないことがあります。

手動で接続をオフにしても自動的にオンになる場合は、On Demandに登録された条件を確認し、Wi-Fi、Cellularなどの条件によって再接続されていないかを確認します。原因を調べる間は該当する条件を一時的に無効にし、比較が終わったら元に戻してください。さらに詳しく調べるにはDiagnosticsを開き、状況に応じて必要な診断情報を集めます。共有する前に、サブスクリプションの認証情報、サーバーの認証情報、個人のアクセス記録が含まれていないか確認してください。

最後に、現在のネットワーク、使用中のサーバー、Global Routing、失敗した接続先、個別に変更した項目とその結果を簡潔に記録してください。次に確認するとき、同じ操作を繰り返さず、状態が分かったところから進められます。よくある状況についてはQ&Aとトラブル対処をご覧ください。ルールを一つずつ確認する場合は設定の総合ガイドを参照してください。このページの手順で、「情報を読み込めない」「接続が確立しない」「リクエストが想定した経路を通らない」の3つを区別できるようになります。

ShadowrocketのSettings画面。Language、Test Method、On Demand、Diagnostics、Proxy、TCP、UDPの項目を表示
公式画面:問題に応じてTest Method、On Demand、Diagnosticsを確認します。複数の設定を一度に変更する必要はありません。