Settings · Official Manual
Shadowrocketの機能と基本設定
まずGlobal Routingを設定し、次にルールとサーバーを確認して、最後にSettingsを調整します。本ページでは、主な機能の概要、場所、設定方法、注意点を説明します。iPhoneとiPadでの操作確認にご利用ください。
ShadowrocketはAppleプラットフォーム向けの有料アプリで、入手先はApp Storeのみです。アプリの買い切り購入と通信サービスの契約は別のものです。以下では、ご自身で用意したサブスクリプションまたはサーバー情報をお持ちであることを前提に説明します。ノードやサブスクリプションの提供・販売・推奨は行っていません。システム要件はApp Storeの掲載内容をご確認ください。
- まずGlobal Routingを選択
- 次にConfigを確認
- 最後に実際のリクエストを確認
Global Routing
3つのモード:Config、Proxy、Direct
Global Routingは、リクエストの経路をどのように選ぶかを決める設定で、サーバー情報を補うものではありません。HomeでGlobal Routingを開き、Config、Proxy、Directの3つから選択します。ドメインやアドレスごとに振り分ける場合はConfig、一時的にプロキシ経由の経路を確認する場合はProxy、直接接続の状態を確認する場合はDirectを選びます。変更前に現在の設定を控え、確認後は通常使うモードに戻してください。
| 画面上の項目 | 動作 | 使用例 | 優先して確認する項目 |
|---|---|---|---|
| Config(設定) | 現在の設定ファイル内のルールに従ってポリシーを決定します。 | 普段のルールによる振り分け、特定サイトへのプロキシ接続、LAN内への直接接続。 | 設定ファイルが選択されているか、ルールの順序、末尾のデフォルトポリシー。 |
| Proxy(プロキシ) | アプリが処理するリクエストをプロキシ経由にします。 | 一時的に、問題がルール選択に関係しているかを確認します。 | 現在のサーバーが有効か、プロキシ接続を確立できるか。 |
| Direct(直接接続) | アプリが処理するリクエストを直接接続にします。 | ローカルネットワークでの動作と比較し、問題がプロキシ経由の経路にあるかを確認します。 | 現在のネットワークから接続先へ直接通信できるか。 |
Configはモードの選択です。実際に使う設定ファイルはConfig画面で確認してください。インポートの成功、ファイルの存在、設定ファイルの選択は、それぞれ異なる状態です。ルールを変更しても動作が変わらない場合は、まず現在の設定ファイルを確認し、その後Global Routingを確認します。DNS、テスト方法、サーバー設定を一度に変更するのは避けてください。
Config · Rule
ルールと振り分け:マッチ後にポリシーを適用
ルールは「どのリクエストに一致するか」を示し、ポリシーは「一致した後にどう処理するか」を示します。Configで設定ファイルを確認、インポート、編集できます。設定ファイルのルールで振り分ける場合は、Homeに戻りGlobal RoutingをConfigに設定してください。ルールは通常、上から順に判定され、最初に一致したルールの処理が適用されます。対象範囲の狭いルールは、それを含む広い範囲のルールより前に配置してください。
主なルールタイプには、ドメインに完全一致するDOMAIN、ドメインとそのサブドメインに一致するDOMAIN-SUFFIX、ドメイン内のキーワードに一致するDOMAIN-KEYWORDがあります。また、IPv4とIPv6のアドレス範囲にはIP-CIDRとIP-CIDR6を使用します。GEOIPはIPアドレスの地理的な割り当てに基づいて判定するもので、ウェブサイトの言語やユーザーの所在地を示すものではありません。アドレスに関するルールが一致するかどうかは、リクエスト情報や名前解決の過程にも左右されます。
PROXYはプロキシ経由、DIRECTは直接接続、REJECTはリクエストの拒否を表します。これらはポリシーであり、一致条件のタイプではありません。FINALは、それ以前のルールに一致しなかったリクエストを処理するためのルールです。リストの末尾に配置してください。前方に置くと、それ以降のルールが判定されない場合があります。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,DIRECT
この例は「example.comとそのサブドメインはPROXY、指定したLAN内のアドレス範囲はDIRECT、それ以外もDIRECT」という意味です。接続に必要な情報をすべて含むものではありません。変更前に元の設定を保存し、変更後は対象を1つ決めてリクエストを再実行し、接続ログで一致したルールとポリシーを確認してください。ウェブページが開けるだけでは、どの経路を通ったかは判断できません。
Subscribe · Add Server
既存のサブスクリプションとサーバーの管理
サブスクリプションは複数のサーバー情報を管理するもので、個別サーバーは特定の接続パラメータを保存します。既存のサブスクリプションがある場合は、Homeの追加メニューからSubscribeを選び、リンクを入力して保存します。個別のサーバー情報がある場合はAdd Serverを使い、実際のプロトコルに合わせてアドレス、ポート、認証情報などを入力します。対応するインポート形式は、アプリに表示される項目をご確認ください。異なる種類の情報を同じ欄に入力しないでください。
Shadowsocks、VMess、VLESS、Trojanなどのプロトコルでは、必要な入力項目が異なります。サーバーアドレスはサブスクリプションリンクの代わりにはならず、サブスクリプション名も認証情報ではありません。手動で入力する場合は、手元の情報に基づいてプロトコル、ポート、パスワードや識別子、TLSなどの追加パラメータを1つずつ確認してください。名前は主に識別用で、接続パラメータを自動修正するものではありません。
サブスクリプションを保存したら更新し、想定したサーバー一覧が表示されるか確認します。次に使用するサーバーを選択し、Connectivity Testを実行してください。サブスクリプションの更新で確認するのは「情報が更新されたか」、接続テストで確認するのは「現在の条件でテスト先に到達できるか」です。両者は異なる確認です。更新に失敗した場合は、リンクが完全か、サービス情報が有効か、現在のネットワークからサブスクリプションのURLにアクセスできるかを確認してください。
サブスクリプションから追加されたサーバーを手動で変更する場合、次回更新で変更内容が上書きされる可能性があります。長期的に使うカスタム情報は、自動更新される内容と区別して管理してください。サブスクリプションを削除する前に影響範囲を確認し、関連するサーバーも一緒に削除されないか注意してください。サブスクリプションのURLに個人情報が含まれることがあります。スクリーンショット、ログ、設定を共有する前に該当箇所を隠し、URL全体を公開ページに貼り付けないでください。
On Demand
On Demand:ネットワーク条件に合わせて接続を制御
On Demandは、設定した条件に応じてVPN接続の開始や動作を制御する機能で、ドメインごとの振り分けルールを置き換えるものではありません。SettingsでOn Demandを開き、画面に表示される条件と動作を確認してから有効にするか判断してください。システムやアプリの状態によって表示される項目は異なる場合があります。端末上の説明に従って設定してください。
設定を始める前に、手動接続でサーバーとConfigが正常に動作することを確認します。その後、明確な条件を1つだけ追加して保存し、該当するネットワークに接続して、システムのVPN状態と実際のリクエスト結果を確認してください。特定のネットワーク環境に応じて接続動作を変える場合は、On Demandにネットワーク条件を設定します。特定のウェブサイトをDIRECTにする場合は、Configのルールを変更してください。接続条件でウェブサイトのルールを代用することはできません。
有効にした後は、手動で切断しても条件によって再接続されるなど、一見矛盾した動作が起きることがあります。接続を切った直後に条件が成立して再び接続状態になった場合は、まずOn Demandの条件を確認してください。サーバーを繰り返し削除したり、すべての設定をリセットしたりする必要はありません。切り分け中はOn Demandを一時的に無効にし、1つのネットワークに固定して基本の接続を確認してから、条件を1つずつ戻してください。
On Demandの動作には、システムの権限、現在のネットワーク、利用可能なサーバー情報が必要です。接続を保証する機能ではありません。テストでは、条件に入るときと条件から外れるときの両方を確認し、Wi-Fiからモバイル通信に切り替えた後も想定どおりに動作するか確認してください。
Data
通信量の確認:速度、累計通信量、課金対象量の違い
Dataではアプリが記録した通信量を確認できますが、サービス側の課金記録の代わりにはなりません。Dataを開き、画面に表示される集計範囲、方向、単位を確認してから、数値がアップロード、ダウンロード、累計通信量、または特定時点の速度のどれを表すか判断してください。速度は単位時間あたりの通信状況、累計通信量は集計期間内のデータ総量であり、直接比較できません。
通信量の表示を確認するには、まず現在の数値を記録し、内容を把握しやすい操作を1回行ってからDataに戻り、数値の変化を確認します。画面にリセット項目がある場合は、必要な記録を保存してから実行してください。ローカルの統計をリセットしても、サービス側の利用枠はリセットされません。アプリの通信量を端末全体のネットワーク使用量と同一視しないでください。端末のシステム統計とアプリの統計では、集計範囲が異なる場合があります。
ローカルの記録とサービス側の記録が一致しない場合は、集計期間、単位、複数端末の利用を含むかどうか、接続プロトコルに伴う追加通信量を確認してください。Directとプロキシ経由の通信が別々に集計されるか、画面にどの項目が表示されるかは、実際の画面で確認します。Dataの数値が増えたという理由だけで、ルールが正しく一致したとは判断できません。経路の確認には、接続ログとリクエスト先も併せて確認してください。
継続して問題を調べる場合は、時刻、使用中のネットワーク、サーバー名、Global Routingのモードを記録してください。累計値が変化した場合も、具体的な操作と結び付けて確認できます。状況が分からない合計値だけのスクリーンショットを残すのは避けましょう。
DNS
DNS:設定の適用箇所を確認してから変更
DNSはドメイン名をアドレスに変換しますが、名前解決に成功しても、その後の接続が成功するとは限りません。確認時は、SettingsのDNS関連項目と、現在のConfigファイルに[General]セクションおよびdns-serverパラメータがあるかを併せて確認してください。設定画面に表示された値だけを見て、すべてのリクエストが同じDNS経路を使うと判断しないでください。
現在のネットワークが正常で、変更する明確な理由がない場合は、まず既存のDNS設定を維持してください。変更が必要な場合は、設定をバックアップし、現在の値を記録してから、アプリが受け付ける形式で入力します。dns-server = systemを指定した設定は、システムが提供するDNS設定を参照しますが、実際の動作は現在の設定ファイルと関連するDNS項目も併せて確認する必要があります。異なる設定元の内容をまとめて上書きせず、項目ごとに照合してください。
「アドレスには到達できるのにドメイン名で開けない」場合は、まず名前解決を確認します。「ドメイン名は解決できるが接続がタイムアウトする」場合は、ポリシー、サーバー、接続先のサービスを続けて確認してください。すべての失敗をDNSの問題と決めつけないでください。変更後は接続とリクエストを再実行し、必要に応じてアプリの診断項目で結果を確認します。古い接続のまま判断しないようにしてください。
DNSの項目を複数同時に変更すると、原因の特定が難しくなります。一度に変更する項目は1つにして、同じ接続先で変更前後の結果を記録してください。改善しなければ元の値に戻してから、次の項目を確認します。公衆Wi-Fiでは、テスト前にネットワークへのログインが必要な場合もあるため、あらかじめ確認してください。
Settings
テスト方法、Widget、iCloud同期
Settingsの項目はそれぞれ異なる目的のためにあり、すべてを「接続速度を上げる設定」と考えるのは適切ではありません。テスト方法、システム上の表示、情報の同期のうち何を変更したいかを明確にしてから、該当する項目を開いてください。項目の場所や利用可否は現在のアプリ画面で確認してください。本ページでは、すべての端末に共通する初期値は指定していません。
Test Method:テスト条件をそろえる
Test Methodは、接続テストに使用する方法を決める設定です。SettingsでTest Methodを開き、画面に表示される選択肢から方法を選んでから、Homeに戻ってConnectivity Testを実行してください。テスト先やタイムアウトなどの項目が表示される場合は、それらも記録します。複数のサーバーを比較するときは、テスト方法、接続先、ネットワーク環境、テスト時刻をできるだけそろえてください。
テスト結果は、選択した方法でその時点に確認した結果であり、継続的な通信速度と同じではありません。特定のテストに失敗しても、すべての実際のリクエストが失敗するとは限りません。逆に、テストに成功しても、すべてのウェブサイトにアクセスできるとは限りません。サーバーを選んだ後は、実際の接続先にアクセスし、ルールの一致状況も併せて確認してください。
Today Widget:アプリ側とシステム側の設定を確認
Today Widgetは、システムが対応する場所に情報を表示したり、操作を行ったりするための機能です。Settingsで関連項目を確認し、次にシステムのウィジェット編集画面で該当するウィジェットが追加されているか確認してください。利用できるウィジェットの種類、表示内容、操作方法はシステムの対応状況によって異なります。アプリ内で有効にしたことと、システム上にウィジェットを追加したことを混同しないでください。
ウィジェットが表示されない場合は、まずアプリに戻って設定を確認し、次にシステムのウィジェット一覧を確認してください。表示内容が直前の操作と異なる場合は、アプリを開いて現在の状態を確認します。画面を共有する前に、ウィジェットにサーバー名などの個人情報が表示されていないか確認してください。ウィジェットの状態表示だけで通信経路を判断しないでください。
iCloud:同期範囲を確認してから競合に対処
iCloud同期は、対応する条件のもとでアプリの情報を同期する機能で、すべての動作状態を復元するものではありません。まずシステム設定で、現在のApple AccountとiCloudが利用可能かを確認し、次にShadowrocketのSettingsで同期項目と説明を確認してください。同期対象や実行タイミングは、現在の画面に表示される内容に従ってください。すべての設定、統計、接続状態が同期されるとは限りません。
初めて同期を有効にするときや、複数の端末で情報が一致しないときは、各端末の重要な設定を保存してから同期結果を確認してください。2台の端末で同じ情報を同時に変更した後、同期を何度も切り替えるのは避けましょう。同期は購入履歴の代わりにはなりません。端末を変更してアプリを復元する場合は、App Storeで購入時に使用したアカウントから探してください。購入と復元の手順は購入済みアプリの復元方法をご覧ください。
Diagnostics · Log
診断とログ:失敗したリクエストを手掛かりに調査
Diagnosticsとログは問題の手掛かりを提供するもので、記録にある1つの表示だけで原因を断定しないでください。SettingsでDiagnosticsや関連するLog項目を探し、現在の画面で利用できる診断や記録の内容を確認します。記録が必要な場合だけ該当する項目を有効にし、問題を一度再現して記録した後、元の設定に戻してください。
- ネットワークを固定し、Global Routing、現在のConfig、選択中のサーバーを記録します。自動切り替えの条件は一時的に無効にします。
- Connectivity Testを実行してから、接続先を1つ指定してアクセスし、失敗した時刻と状況を記録します。
- 同じ時間帯の記録を確認し、ドメインの名前解決、ルールの一致、ポリシーの選択、接続の確立の順に確認します。
- 記録から判断できる項目を1つだけ変更し、同じ接続先でテストを繰り返します。改善しない場合は元の値に戻してください。
ログには、アクセスしたドメイン、サーバーアドレス、サブスクリプション情報、認証情報が含まれることがあります。保存や共有の前に内容を確認し、機密情報を隠してください。調査に必要な時刻、エラーの説明、関連する状況だけを残します。必要がないのにすべての通信を長期間記録したり、問題を覆い隠すために設定を何度もインポートしたりしないでください。
本ページでは、機能と操作の範囲を説明しています。Settingsの項目を順に確認する場合は設定ガイドをご覧ください。具体的な症状がある場合はよくある質問、または接続スイッチがオンなのにアクセスできない場合の確認手順をご覧ください。