Shadowrocket · 公式ガイド

Shadowrocket
機能と設定

まず通信の処理方法を決めてから、接続や診断に関する設定を調整します。このページでは、各機能の役割、操作方法、確認ポイントを画面ごとに解説します。iPhoneとiPadでの日常的な設定を対象としています。

初めて操作する場合は使い方ガイドをご覧ください。各設定項目の詳しい説明はSettings設定ガイドで確認できます。ShadowrocketはAppleプラットフォーム向けの有料アプリです。入手先はApp Storeのみです。購入時の確認事項はアプリの入手方法をご覧ください。

Global Routing

設定・プロキシ・直接接続モード

概要:Global Routingでは、リクエストを全体としてどの方式で処理するかを指定します。設定モードはConfig、プロキシモードはProxy、直接接続モードはDirectに対応します。サーバー一覧ではなく、サーバーの認証情報を補う機能でもありません。モードを選んだ後に接続できるかどうかは、ローカルネットワーク、接続先、選択したサーバーの状態によって異なります。

画面と設定方法:HomeでGlobal Routingを開き、使用するモードを選択します。通常のルール振り分けにはConfigを選び、Config画面で現在選択中の構成ファイルを確認します。プロキシ接続だけをテストする場合は一時的にProxyへ、直接接続を確認する場合は一時的にDirectへ切り替えます。切り替え後は同じ接続先へ新たにリクエストを送り、既存の接続を新しいモードでの結果と混同しないようにしてください。

モード処理方法使用する場面確認項目
設定 / Config現在の設定にあるルールとポリシーに従ってリクエストを処理します。ドメイン、アドレス、地域ごとに日常的な振り分けを行う場合。構成ファイル、ルールの順序、ポリシーの参照先。
プロキシ / Proxy全体のルーティング先としてプロキシを選択します。選択中のプロキシ経由の接続を一時的に確認する場合。デフォルトサーバー、認証情報、プロトコルの設定。
直接接続 / Direct全体のルーティング先として直接接続を選択します。ローカルネットワークと接続先への直接接続を確認する場合。ローカルネットワーク、DNS、接続先への到達性。

注意点:Directは接続スイッチをオフにすることではありません。また、システムにVPNの表示があっても、個々のリクエストが必ずプロキシを経由するとは限りません。Proxyを選んでも、システム上のすべての通信が対象になるわけではありません。リクエストの実際の経路は、リクエスト記録、適用されたポリシー、新しい接続でのテスト結果を合わせて確認してください。調査後は、通常使うモードに戻します。

Config / Rule

ルールの種類と処理ポリシー

概要:ルールは、照合条件と処理ポリシーを結び付けます。DOMAINは完全なドメイン名、DOMAIN-SUFFIXはドメイン名とそのサブドメイン、DOMAIN-KEYWORDはドメイン名に含まれるキーワードを照合します。アドレスに関する条件にはIP-CIDR、IP-CIDR6、GEOIPがあり、それぞれIPv4ネットワーク、IPv6ネットワーク、IPアドレスの地域判定に使います。GEOIPの結果はアドレスデータベースに基づくもので、Webサイトの言語とは関係ありません。

画面と設定方法:Configで有効な構成ファイルを確認し、その[Rule]セクションを編集します。一般に、より具体的な条件を先に並べ、前の条件に一致しなかった場合の最終ポリシーとしてFINALを末尾に置きます。編集前に複製を保存し、変更後は特定の接続先でテストしてください。別の構成ファイルを保存しただけでは、現在の接続で使われるルールは変わりません。

[Rule]
DOMAIN,example.org,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,ads,REJECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY

次の例は構文の説明用で、すべてのネットワークに適した完全な設定ではありません。PROXYはプロキシポリシーに渡すこと、DIRECTは直接接続、REJECTはリクエストを拒否することを示します。ルールから構成ファイル内で定義済みのポリシーグループを参照することもできます。参照名は実際の定義と一致させてください。一致しない場合は、参照関係を先に修正します。

注意点:ルールは通常、記載順に照合されます。先に条件へ一致すると、後続のルールが適用されないことがあります。キーワードの照合範囲は想定より広い場合があるため、拒否ルールはできるだけ具体的に設定してください。ドメインルールとIPルールでは照合対象が異なり、DNSの解決結果もアドレスルールに影響します。ルールの記述だけを見て、特定の接続先に必ず一致すると判断しないでください。USER-AGENTはリクエストから確認できる該当フィールドに依存するため、暗号化されたすべてのリクエストに使える汎用的な分類方法ではありません。

構文を一つずつ確認するには、ルールキーワードと照合順序をご覧ください。問題を調べる際は、実際の接続先ドメインを特定し、最初に一致したルール、適用されたポリシーの順に確認します。同じ条件を繰り返し追加するのは避けてください。

Home / Add Server / Subscribe

サーバーとサブスクリプションの管理

概要:個々のサーバー項目には、プロトコル、アドレス、ポート、認証情報などの接続情報が保存されます。サブスクリプションを使うと、ご自身がお持ちのリンクからサーバー項目を取得し、更新できます。サブスクリプションを更新しても、ルール設定まで同時に更新されるわけではなく、更新後のすべてのサーバーへの接続が保証されるわけでもありません。

画面と設定方法:Homeから追加画面を開いてAdd Serverへ進み、お持ちの情報に合った種類を選んで各項目を入力します。Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2などでは入力項目が異なります。似た名称の別プロトコルのフォームを流用せず、元の接続情報に従って入力してください。QRコードをお持ちの場合はScan QR Codeから読み込めます。読み込み後もプロトコルとアドレスを確認してください。

サブスクリプションを追加するには、Add Serverで種類としてSubscribeを選び、ご自身のサブスクリプションリンクを入力して保存し、更新を実行します。Homeに戻って使用するサーバーを選び、選択状態を確認してください。デフォルトサーバーの設定と、構成ファイル内のポリシーグループの選択は別々の場合があります。ポリシーグループを使う構成では、グループ内で現在選択されている項目も確認してください。

注意点:サブスクリプションリンクにはアクセス認証情報が含まれる場合があります。画面のスクリーンショットを撮ったり、ログをコピーしたり、問い合わせ資料を送ったりする前に、リンク全体と認証情報を隠してください。サブスクリプションから作成された項目を手動で変更すると、次回の更新時に上書きされる場合があります。変更を残したいときは、更新時の動作を確認し、必要な記録を別に保存してください。手動更新に失敗した場合は、リンクが完全か、現在のネットワークからアクセスできるか、応答内容が対応形式かを個別に確認します。

サブスクリプションの削除とサーバー項目一つの削除では、対象範囲が異なる場合があります。実行前に確認メッセージを読んでください。名前が同じでも設定が同一とは限りません。アドレス、ポート、認証情報、TLS関連項目を一つずつ照合します。更新手順の詳細はサブスクリプションの更新と失敗時の対処をご覧ください。

On Demand

オンデマンド接続とトリガー条件

概要:On Demandは、設定したネットワーク条件に応じて接続を開始する機能です。「いつ接続するか」を決めるもので、「接続後にリクエストをどう処理するか」を決めるGlobal Routingとは役割が異なります。誤ったサーバー情報や無効なサブスクリプションを修正する機能ではありません。

画面と設定方法:SettingsでOn Demand関連の項目を開き、現在の画面で選べる条件を設定します。設定前に手動で接続し、Connectivity Testで基本の接続経路が正常か確認してください。その後は一度に一種類の条件だけ変更し、使用予定のWi-Fiまたはモバイル通信でそれぞれ動作を確認します。特定のWi-Fiを条件にする場合は、ネットワーク名をよく確認してください。

注意点:自動接続を有効にすると、手動で切断しても接続がオフのままになるとは限りません。条件に一致すると、システムが再び接続を開始することがあります。一時的に自動接続を止める場合は、On Demandの状態も確認してください。ネットワークの切り替えや省電力動作によって起動タイミングが変わることもあります。常時サーバーの状態を監視する機能ではありません。

「切断してもすぐ再接続する」場合は、まず発生時のネットワーク種別を記録し、トリガー条件を確認してください。すぐに構成を削除する必要はありません。反対に、ネットワークを切り替えても想定どおり接続しない場合は、条件に一致しているかを確認してから、システムのVPN設定と手動接続の状態を確認します。

Data

通信量とリクエスト記録

概要:Dataでは、アプリが記録した通信量や関連リクエストを確認できます。接続中のデータの変化やアクセス先を把握し、記録をもとに適用されたポリシーを確認するのに役立ちます。アプリ内の統計には独自の集計範囲と計測タイミングがあるため、モバイル通信の請求額やリモートアカウントの使用量と同一視しないでください。

画面と設定方法:Dataを開き、どの種類の統計または記録を表示しているか、集計範囲がどこまでかを確認します。特定の操作を調べる場合は、最初に現在の数値を記録し、対象のページを一つだけ開いてから戻り、記録の追加と通信量の変化を確認してください。画面にフィルター、消去、リセットの項目がある場合は、対象範囲を確認してから実行します。

注意点:キャッシュ、バックグラウンド接続、プロトコルのカプセル化、統計範囲の違いなどにより、数値が予想と一致しないことがあります。通信量が増えても処理が完了したとは限らず、記録がすぐ表示されない場合も、既存接続の再利用や記録設定が原因の可能性があります。テスト結果を比較する際は、ネットワーク、接続先、操作をできるだけ同じ条件にしてください。

リクエスト記録に含まれるドメイン、IPアドレス、時刻は問題の特定に役立つ一方、個人のアクセス傾向がわかる場合もあります。共有する資料には、障害の確認に必要な項目だけを残してください。記録を消去する場合は、先に必要な調査情報を保存します。消去後の一覧から以前のテスト過程を復元することはできません。

Settings

DNS・テスト・補助機能の設定

Settingsでは、名前解決、テスト、補助機能をまとめて管理します。以下では、すべてのデバイスに共通する固定値ではなく、用途ごとに基本項目を説明します。既存の構成に関連する設定が含まれている場合があるため、編集前にどの設定が有効か確認してください。初期値やスイッチの状態は、アプリに現在表示されている内容を基準にします。

DNS:名前解決と接続を切り分ける

概要と場所:DNSはドメイン名をアドレスに変換します。関連項目は、SettingsのDNS設定と、現在の構成内の関連項目で確認できます。ドメインを解決できない問題、不適切なアドレスに解決される問題、プロキシ認証の失敗は、それぞれ発生する段階が異なります。

設定方法と注意点:まず現在の設定を記録し、構成でDNSサーバーや名前解決の動作が指定されているか確認してから、対象の項目を変更します。同じドメインを使って変更前後の解決結果を確認し、一度に変更する要因は一つにしてください。カスタムDNSアドレス自体にも到達できる必要があります。アドレスを入力しただけで、動作確認の代わりにはなりません。TLS関連の問題ではドメイン名と証明書の一致も確認し、証明書検証の無効化を通常のDNS対処として使わないでください。

Test Method:テスト方式と数値の見方

概要と場所:Test Methodでは、遅延テストの方式を指定します。Settingsで確認・変更できます。テスト方式によって確認する接続段階が異なるため、同じサーバーでも方式の異なる結果をそのまま比較しないでください。

設定方法と注意点:テスト方式を一つ選んでから、比較する項目のテストを実行します。現在の方式でテスト用アドレスを使う場合は、そのアドレスにアクセスできることも確認してください。テストの成功が示すのは、そのテスト手順が完了したことだけです。すべてのWebサイトで利用できることを保証するものではなく、遅延の数値は継続的なダウンロード速度でもありません。実際のサービスの動作を確かめるには、対象サービスを開いてリクエスト記録を確認します。

Today Widget:ウィジェットの追加と表示

概要と場所:Today Widgetでは、ウィジェットを使った情報の確認や操作を利用できます。まずSettingsでアプリが提供するウィジェット設定を確認し、次にシステムのウィジェット編集画面から利用可能なウィジェットを追加します。具体的な形式は、現在のシステムとアプリの対応状況によって異なります。

設定方法と注意点:必要に応じて表示内容や操作を選択し、追加後にアプリで接続状態を確認してください。ウィジェットの表示には更新間隔があるため、リクエストが成功したことを示す唯一の証拠にはなりません。ウィジェットとアプリの状態が異なる場合は、まずアプリを開いて更新し、状態を確認してから接続の異常を判断します。ウィジェットからの操作も、システムの権限やオンデマンド接続の条件に左右されます。

iCloud:同期範囲と復元の確認

概要と場所:iCloud関連の項目では、アプリが対応するデータ同期やクラウド保存を設定します。Settingsで関連するスイッチを確認し、システム設定でこのアプリにiCloudのアクセスが許可されているか確認してください。同期対象として想定できるのは、現在の画面で明示的に対応しているデータだけです。

設定方法と注意点:デバイス間で作業する前に、現在の構成の複製を保存し、両方のデバイスでアカウントと同期状態を確認してください。同期は完全なバックアップではなく、アプリを再インストールすればすべてのデータが自動で復元されるという意味でもありません。復元後はサーバー一覧、現在の構成、ポリシーの選択を一つずつ確認します。ファイル名だけで内容が一致すると判断せず、機密性のあるサブスクリプションリンクも個人の認証情報として管理してください。

設定項目の詳しい説明はSettings設定項目リファレンスをご覧ください。DNS、テスト方式、自動接続条件を一度に変更すると、問題が解消しても、どの変更が有効だったのか判断しにくくなります。

Diagnostics / Connectivity Test

診断の手順と結果の確認

概要:Diagnostics、ログ、Connectivity Testでは、接続の各段階の状態を確認できます。接続確認のテスト結果だけでは、DNS、ルール、実際の接続先へのアクセスをすべて検証できません。診断では、問題を再現可能な一つの手順に絞り込みます。

画面と設定方法:まずHomeでサーバーの選択、接続スイッチ、Global Routingを確認し、Connectivity Testを実行します。さらに調べる場合は、Settingsで現在利用できるDiagnosticsまたはLog関連の項目を確認し、必要に応じて障害発生時の状態を記録します。各項目の場所は現在の画面で確認してください。記録後はログ設定を元に戻します。

  1. ローカルネットワークを確認する。まずネットワーク自体が利用できることを確認し、ログインが必要なWi-Fiではないかも確認します。同じネットワークでテストをもう一度行い、問題が再現するか記録してください。
  2. サーバー設定を確認する。お持ちの情報と照らし合わせて、プロトコル、アドレス、ポート、認証項目を確認します。サブスクリプションを更新できても接続できない場合は、実際に選択中のサーバーを個別にテストしてください。
  3. ルーティングの影響を切り分ける。同じ接続先に対する結果を、ProxyとConfigで一時的に比較します。前者では正常で後者では問題がある場合は、現在の構成、一致したルール、ポリシーグループの選択を優先して確認してください。
  4. 名前解決とリクエストを確認する。接続先の名前解決に成功しているか、どのアドレスに解決されたか、リクエストに最終的にどのポリシーが適用されたかを確認します。一部の接続先だけに問題がある場合は、まずその接続先に絞って調べてください。すぐに構成全体を作り直す必要はありません。
  5. 設定を戻して再テストする。有効と確認できた変更は残し、一時的なテスト設定は取り消します。通常使用するルーティングモードとオンデマンド接続条件に戻してから、実際のアクセスをもう一度確認してください。

注意点:ログにはサーバーアドレス、認証情報、サブスクリプションリンク、アクセス記録が含まれる場合があります。外部に共有する前に各項目を確認し、機密情報を隠してください。認証情報をそのまま調査資料として公開しないでください。システム上のVPN表示、サーバーテストの成功、接続先ページの読み込み成功は、それぞれ異なる段階を示す情報です。個別に確認してください。