Shadowrocket の機能紹介
よく使う設定の確認
まず通信の経路を確認してから、接続条件と診断項目を調整します。一度に変更するのは1項目だけにし、同じ宛先で結果を確かめてください。
このページでは主に iPhone / iPad での操作を説明します。Shadowrocket は Apple プラットフォーム向けの有料アプリで、入手先は App Store のみです。システム要件は App Store の掲載内容をご確認ください。
初回接続の手順を見る →Global Routing:Config、Proxy、Direct
Global Routing は Home にあり、接続を設定ファイルのルールに従って処理するか、特定の経路に統一するかを指定します。選択肢は Config、Proxy、Direct の3つです。これらはルーティングモードであり、サーバーのプロトコルや通信品質のレベルではありません。切り替える前に、Home で選択中のサーバーと、Config で現在使用している設定ファイルを確認してください。
| モード | 処理方法 | 使用例 | 確認する項目 |
|---|---|---|---|
| Config(設定) | 現在の設定ファイル内のルールに従って、適用するポリシーを選択します。 | ドメインや宛先アドレスに応じて通信を振り分ける場合。 | 使用中の設定、ルールの順序、最終ポリシー。 |
| Proxy(プロキシ) | 通常このモードの対象となる接続を、プロキシ経由で処理します。 | 選択中のサーバーで対象への接続が可能か、一時的に確認する場合。 | サーバーの状態、対象へのアクセス、ログ。 |
| Direct(直接接続) | ローカルネットワークから直接接続します。 | 同じ宛先にローカルネットワークからアクセスできるか比較する場合。 | ローカルネットワークの状態。システムの VPN 設定を無効にする操作ではありません。 |
日常的にルールで通信を振り分ける場合は Config を選択します。Web サイトにアクセスできない場合は、現在のモードを記録してから一時的に Proxy に切り替え、同じサイトを再テストしてください。Proxy ではアクセスでき、Config ではできない場合、該当するルールとポリシーを確認します。ローカルネットワーク自体に問題がないか調べるには、Direct と比較します。テスト後は元のモードに戻してください。一時的なテスト結果を常用設定にしないようにしましょう。
モードを切り替えても、誤ったサーバー情報が補完されたり、期限切れの接続情報が修復されたりすることはありません。スイッチが接続済みと表示されても、接続が所定の段階まで確立したことを示すだけで、すべての宛先にアクセスできるとは限りません。確認時はスイッチの色だけで判断せず、Web ページ、リクエスト記録、エラーメッセージも確認してください。
ルール設定:マッチ条件と適用ポリシー
ルール設定では、「どの宛先にアクセスするか」と「どの経路を使うか」を分けて指定します。Config を開き、現在選択中のファイルを確認してから、[Rule] の内容を確認または編集します。Global Routing が Config のとき、これらのルールが通信の振り分けを調べる主な手がかりになります。変更前に元のファイルを複製しておき、サブスクリプション、サーバー、設定ファイルを混同しないようにしてください。
DOMAIN は完全一致のドメイン指定、DOMAIN-SUFFIX はドメインの末尾とそのサブドメインの指定、DOMAIN-KEYWORD はドメイン内のキーワードによる指定に使います。IP-CIDR と IP-CIDR6 は、それぞれ IPv4 と IPv6 のアドレス範囲を指定します。GEOIP は IP アドレスの地域情報を使用します。USER-AGENT は取得可能なリクエスト情報に依存するため、すべての暗号化接続に適用できるとは限りません。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-SUFFIX,ads.example.net,REJECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
上記は構文の例であり、あらゆるネットワークに適した完全な設定ではありません。PROXY はプロキシ経由、DIRECT は直接接続、REJECT は一致した接続の拒否を意味します。設定によってはカスタムポリシーグループを参照します。その場合は、グループ名が存在するか、グループ内で何が選択されているかも確認してください。ルール内のポリシー名と Global Routing の選択肢は異なる階層にあるため、名前が似ているだけで同じ設定だと判断しないでください。
ルールは通常、上から順に評価されます。具体的な条件を広い条件より前に置き、最後にフォールバック用の FINAL を配置してください。ルールを追加したら、対象の宛先だけをテストし、実際に適用された項目を確認します。変更後に多くのサイトで問題が起きた場合は、複製した元ファイルに戻してから、フォールバックポリシーや参照名を誤って変更していないか確認してください。キーワードの意味は用語早見表で確認できます。
サブスクリプションとサーバーの管理
Home の SERVER リストから、登録済みのサーバーを選択できます。サーバー項目にはプロトコルと接続情報が保存されます。サブスクリプションは、サーバー情報をまとめて追加・更新するためのものです。更新が成功した場合でも、リストの取得と解析が完了したことを示すだけです。リスト内のすべての項目の接続確認が済んだことや、ルールファイルが正しく選択されていることを意味するわけではありません。
Add Server と登録済み情報のインポート
Home の追加メニューから Add Server を開き、まず Type を選択してから、ご自身のサーバー情報に従ってアドレス、ポート、認証項目を入力します。Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2 では、各項目の意味が異なります。情報にトランスポート方式、TLS、サーバー名、パスが含まれる場合は、それぞれを正確に設定してください。他のプロトコルでの経験をもとに項目を補わないでください。
Scan QR Code またはクリップボードからインポートした後も、項目を開いて Type、アドレス、ポートを確認してください。QR コードに認証情報が含まれる場合があるため、公開スクリーンショットとして共有しないでください。インポート後、リストに想定した項目が表示され、必要な情報がそろっていれば完了です。宛先にアクセスできるかどうかは、別途接続テストで確認してください。
Subscribe の更新とリストの整理
登録済みのサブスクリプションは、Add Server で Subscribe を選択し、ご自身のサブスクリプション URL を入力して追加できます。更新前に URL が完全であることを確認し、コピー時に空白や改行が入っていないか、不要になったパラメーターが含まれていないか注意してください。更新後はグループと項目が想定どおりか確認し、使用するサーバーを選択します。サブスクリプショングループを削除する前に、元の URL や必要な手動登録項目を保管しているか確認してください。
サーバーテストで数値が表示されても、実際の通信速度やすべての宛先への到達性を示すわけではありません。同じネットワークと同じ Test Method で比較し、実際にアクセスして確認してください。サブスクリプション URL にはアクセス権限が含まれることが多いため、公開ログや問い合わせ文に記載しないでください。更新に失敗した場合は、まずエラーメッセージとローカルネットワークを確認し、その後、ご自身が利用しているサービスの URL の状態を調べます。
On Demand:条件に応じた接続
On Demand は、設定したネットワーク条件に応じて VPN 接続を開始する機能です。Global Routing とは役割が異なります。On Demand は接続を開始するタイミングを決め、Global Routing は接続中の通信をどのように処理するかを決めます。Settings で On Demand を探し、まず全体のスイッチを確認してから、現在利用できるネットワーク条件とルールを確認してください。
初めて設定する場合は、自動接続をオフにして手動接続を一度テストします。サーバーと設定が利用できることを確認してから、必要な条件を有効にしてください。Wi-Fi ネットワークごとに動作を分ける場合は、ネットワーク名が正確か確認します。モバイル通信を使う場合も、別途テストしてください。選択できる条件は現在のアプリ画面で確認し、あるネットワークでのテスト結果を別のネットワークにそのまま当てはめないでください。
設定後はいったん切断し、接続が開始される想定のネットワークに切り替えて、Home の状態が想定どおりか確認します。続いて、接続が開始されないはずのネットワークでもテストしてください。手動でオフにした後に再接続する場合は、On Demand とシステムの VPN 設定にあるオンデマンド動作を確認します。設定を何度も削除しないでください。On Demand は設定済みの条件を実行する機能であり、サーバー情報が有効かどうかを判定するものではありません。
Data:通信量の統計と確認範囲
Data では、アプリが記録した通信量を確認できます。Data を開いたら、表示されている集計期間、アップロードとダウンロードの区別、サーバーなどの分類方法を確認してください。統計項目によって集計の開始時点や基準が異なる場合があります。画面の説明に従って読み取り、合計値を特定の Web ページの通信量とみなさないでください。
特定の操作による変化を確認する場合は、まず現在の数値を記録し、既知のページを1つ開くなど、内容が明確な操作を一度行ってから Data に戻り、数値を比較します。バックグラウンド同期、メディアの先読み、他のアプリからのリクエストでも通信量が発生することがあります。そのため、数値の変化は通信が継続しているかを判断する補助にはなりますが、特定のアプリの正確な使用量を証明するものではありません。
統計を消去またはリセットする場合は、必要なデータを記録し、操作の対象範囲を確認してから実行してください。アプリの統計と、ご自身が利用しているサービスの課金統計は、集計期間、通信オーバーヘッド、計算方法の違いにより一致しないことがあります。利用枠は、ご自身のサービス側の記録を基準にしてください。Data は速度テストではありません。累計通信量が多くても、現在の接続が速いとは限りません。
Settings:DNS、テスト、同期
Settings にはアプリ全体のオプションがまとまっていますが、すべてのネットワーク設定がここだけで有効になるわけではありません。Config 内のファイルで管理される項目もあります。確認するときは、まず設定の場所を特定してから適用範囲を判断してください。設定ファイルを切り替えた後も、関連項目を再確認し、以前の変更が引き続き有効だと思い込まないようにしましょう。
DNS:名前解決を確認してから通信経路を調べる
DNS はドメイン名を宛先アドレスに変換します。サーバーテストに成功しても Web ページが開かない場合は、現在の設定ファイルにある DNS 関連項目を確認し、Settings に実際に表示される DNS オプションとあわせて調べてください。確認するのは、DNS サーバーに現在のネットワークからアクセスできるか、設定による上書きが同時に発生していないかです。一度のテストのためにすべての DNS 設定をまとめて変更すると、原因を特定しにくくなります。
元の設定を保存してから、問題が発生するドメインを1つ選んで再テストし、名前解決エラーが続くか確認してください。DNS が正常でも、その後の接続が正常とは限りません。アドレスを取得できても接続がタイムアウトする場合は、サーバー経路とルールを続けて確認します。IPv6 が関係する場合は、ローカルネットワークの対応状況も考慮してください。すべてのドメインの問題を同じスイッチのせいにしないようにしましょう。
Test Method:テスト内容を確認する
Settings で Test Method を開き、現在選択されているテスト方式と、画面に表示される関連パラメーターを確認します。方式によって測定する接続段階が異なるため、同じサーバーでも異なる方式の結果をそのまま比較できません。方式を変更したら Home に戻り、Connectivity Test を再実行して、そのときのネットワーク条件を記録してください。
テスト結果は、主に接続のどの段階に問題があるかを調べるためのものです。テストに一度成功しても、認証、DNS、接続先の Web サイト、継続的なデータ通信がすべて正常とは限りません。タイムアウトも、テスト対象そのものが原因で起きる場合があります。複数のサーバーを比較するときは、方式とネットワークをそろえ、実際のアクセスでも確認してください。
Today Widget:表示と利用方法を確認する
Today Widget は、システムのウィジェットに関する表示やクイック操作を設定する項目です。まず Settings でアプリが提供するオプションを確認し、次にシステムのウィジェット管理画面で追加や表示が可能か確認してください。利用できる形式は、デバイスのシステムと現在のアプリの対応状況によって異なります。実際の画面で確認してください。
ウィジェットの状態がすぐに更新されない場合は、まずアプリを開いて Home の実際の状態を確認し、次にシステム側のウィジェット設定を確認してください。ウィジェットの表示だけで接続が確立したと判断しないでください。表示が更新されないことを、サーバーの障害とみなす必要もありません。
iCloud 同期:同期対象を確認する
Settings で iCloud 関連のオプションを確認し、デバイス側で必要な iCloud の権限が有効になっていることも確認してください。有効にする前にローカルの設定を保存し、画面の説明を一つずつ読んで、同期対象を確認します。同期を有効にしても、すべてのサーバー認証情報、過去の統計、システムの VPN 許可が自動的に移行するとは限りません。
別のデバイスでアプリを開いたら、実際に表示される項目、現在選択中の設定、サーバーを確認してから、手動接続を一度試してください。情報が一致しない場合は、複数のデバイスで同時に編集するのをやめ、必要な内容をそれぞれ保存してから同期状態を確認します。サブスクリプション内の機密性の高い URL や認証情報も、非公開情報として管理してください。
Diagnostics:症状と再テスト結果を記録する
Diagnostics では、診断情報を確認できます。Settings 内の該当項目を開き、現在の画面に表示されるツールで問題を確認または記録してください。診断は、再現できる問題を起点に進めます。一度に多数の項目を変更しないでください。まずネットワーク、Global Routing のモード、選択中のサーバー、現在の設定、問題が発生する宛先を明確に記録します。
- 再現条件をそろえる。同じネットワークと同じ宛先を使い、名前解決に失敗したのか、接続がタイムアウトしたのか、接続後に通信が中断したのかを記録します。
- 問題の範囲を絞る。Connectivity Test を確認し、続けて名前解決と適用されたルールを調べます。1つの宛先だけで問題が起きる場合は、その宛先に適用されるルールと経路を優先して確認します。
- 変更は一度に1項目だけ。変更後に同じ操作を繰り返して結果を比較します。改善しなければ元の値に戻してから、次の項目を確認してください。
- 必要な情報を整理する。問題が起きた時刻、関連するエラー、変更前後の違いを記録します。認証情報を含む設定ファイル全体は共有しないでください。
診断テキストを共有する前に、サブスクリプション URL のアクセス用パラメーター、パスワード、UUID、キーなど、個人やアカウントを特定できる機密情報を削除してください。ログにエラーが一度記録されても、接続全体が利用できないとは限りません。発生時刻と実際の症状をあわせて判断します。問題を安定して再現できる場合は、トラブル対処マニュアルに沿って確認してください。アプリを繰り返し再インストールしたり、すべての設定を上書きしたりする必要はありません。