OFFICIAL MANUAL / REFERENCE

Shadowrocketの使い方完全ガイド

入手、権限、追加、ルーティング、接続確認、通信量、設定、メンテナンスを章ごとに解説します。iPhoneとiPadを対象とし、利用者がすでにサブスクリプションまたはサーバー情報を用意していることを前提としています。

初期設定では、まずクイックスタートに沿って接続を1つ設定します。このページでは各段階の操作範囲、パラメータの関係、失敗時の確認手順を説明します。設定前の確認や、問題発生時の切り分けに活用してください。画面上の項目名は、実際の端末に表示される英語表記に準じます。

  • App Storeで正規版を確認
  • Global Routingの3つのモード
  • Configのルール例
  • 段階別の確認と切り戻し

01 / APP STORE

入手:App Storeの掲載内容を確認して購入

唯一の入手先と3つの確認項目

ShadowrocketはApp Storeからのみ入手してください。操作前にダウンロードガイドのApp Storeへのリンクを開き、アプリ名を確認したうえで、デベロッパ名、公式アイコン、アプリIDを照合します。検索結果の先頭に表示された項目や、似た名前、スクリーンショットの配色だけで判断しないでください。検索結果はストアの地域、アカウント、端末の条件によって異なります。購入情報を確認するには、製品ページを参照してください。

デベロッパ名はShadow Launch Technology Limited、アプリIDは932747118です。App Store製品ページのURL末尾にはid932747118と表示されます。アイコンが当サイトの公式アイコンと一致することも確認してください。3項目をまとめて照合します。アプリ名が同じでもデベロッパが同じとは限らず、アイコンが似ていてもアプリIDが一致するとは限りません。確認後、ページに表示された価格、互換性、購入ボタンの状態を確認してください。

検索結果から開いたページで確認できない場合は、その掲載項目を閉じ、正規版の確認方法に戻って項目ごとに照合してください。アイコンは識別の目安であり、デベロッパ名やアプリIDの確認に代わるものではありません。確認手順の詳細はデベロッパ名・アイコン・アプリIDの確認方法をご覧ください。似た名前だけを根拠に購入を進めないでください。

価格、対応デバイス、購入対象

Shadowrocketは有料のクローズドソースアプリで、買い切り方式です。米国のApp Storeでは約2.99米ドルです。価格はストアごとに現地通貨で表示され、実際の金額はApp Storeの決済画面で確認してください。買い切りとはアプリの購入方式を指し、ネットワークサービスを一度の支払いで利用できるという意味ではありません。また、追加済みのすべてのサーバーが継続して利用できることを示すものでもありません。サーバーへの接続条件は、利用者が契約済みのサービスによって異なります。

このガイドでは主にiPhoneとiPadでの操作を説明します。Mac、Apple TV、Apple Visionとの互換性は同じApp Store製品ページで確認できます。システム要件、対応デバイス、ユニバーサル購入の可否は、App Storeページの記載に従ってください。あるデバイスで購入できるからといって、ほかのデバイスでも必ず使えるとは限りません。このページの記述から必要なシステムバージョンを推測せず、購入前に利用するデバイスで互換性欄を確認してください。

購入前に、Apple Accountへのサインインとアプリ内のサーバー認証を区別してください。前者は購入と復元に使い、後者は利用者が用意したサーバーへの接続に使います。これらは別々の認証情報です。アプリを購入しても、サーバーアドレス、パスワード、サブスクリプションURLが自動で作成されることはありません。まだ情報を用意できていない場合は、権限と画面の章を先に読めますが、購入完了だけで接続の準備が整ったとは判断できません。

検索できない場合、購入済みアプリの復元、入手後の確認

App Storeで見つからない場合は、まず入力した名前を確認し、次に現在のApple Accountのストア地域、端末の年齢制限、アカウントの決済状況を確認してください。似たアプリを次々に試すのは避けましょう。確認の順序はApp Storeで検索結果に表示されない場合の対処をご覧ください。ストアでの提供状況とアカウントの状態は別々に確認します。アプリの設定を変更しても、ストア検索の問題は解決しません。

購入済みの場合は、まずApp Storeで購入に使ったApple Accountを確認し、購入済みの項目からShadowrocketを探してください。再ダウンロードではなく価格が表示される場合は、いったん操作を止め、アカウントと購入履歴を確認してください。すぐに再購入しないでください。端末の買い替え後は、アプリの復元と設定の復元を別々に行います。アプリを再入手した後、保存済みの設定を復元するか、既存のサブスクリプションを再度追加してください。詳しくは購入済みアプリの復元をご覧ください。

インストール後に一度起動し、Shadowrocketが開くことを確認してから、Home、Config、Data、Settingsなどの主要な画面を確認します。この時点では接続しなくてもよく、すべての項目を設定する必要もありません。既存のサブスクリプションの提供元情報と必要なパラメータを控え、ガイドに沿って設定を進めてください。アプリのアップデートはApp Storeで管理します。更新前に有効な設定を保存し、更新後は同じ条件でテストして結果を確認しましょう。複数の項目を同時に変更しないでください。

02 / FIRST LAUNCH

初回起動:VPN構成と接続権限について

まず画面を確認し、システムの許可を行う

有効なサーバー情報を用意してから、接続開始時にシステムの許可を行います。Homeではサーバーと接続操作を確認し、Configではルールを管理し、Dataでは通信量に関する情報を確認できます。Settingsには主な設定項目がまとまっています。デバイスによって画面の配置は異なる場合があります。固定のボタン位置ではなく、項目名を目印にしてください。初回起動時に一覧が空でも、利用可能な接続情報がまだ追加されていないことを示すだけです。

初めて接続を有効にするとき、VPN構成の追加を許可するようシステムから求められ、端末のパスコードなどで認証する場合があります。これはアプリがネットワーク拡張機能を利用するためのシステム上の許可であり、サブスクリプションへのログイン画面やサービスのパスワード入力欄ではありません。現在の操作に伴って表示された画面であることと、アプリ名が正しいことを確認してから許可してください。キャンセルした場合は、アプリに戻ってサーバー情報を確認できます。

VPN構成の追加を許可しても、端末側の接続権限が設定されるだけで、接続先サーバーの利用可否は確認されません。許可後も、アドレス、ポート、認証情報、ネットワーク条件が合わないと接続できない場合があります。システムの許可が完了しただけで接続できたと判断しないでください。続けてサーバー接続、ドメイン名の名前解決、接続先へのアクセスをそれぞれ確認します。3つの結果は互いに代用できません。

権限不足の原因を確認する

以前に許可を拒否した場合は、次回の接続時にシステムの確認画面が再び表示されるかを見てください。画面が表示されず接続がすぐに失敗する場合は、システム設定でVPN構成を開き、Shadowrocketの項目があるか、端末に組織による管理制限がないかを確認します。設定画面の項目名や場所はシステムによって異なるため、端末に表示される内容を確認してください。決まった場所を探すために、無関係な権限を何度も変更しないでください。

端末にほかのVPN構成がある場合は、現在接続中の構成を確認してください。Shadowrocketをテストする前に、使用中の別のVPN接続を終了し、システムの接続先切り替えをサーバー障害と誤認しないようにします。構成を保存することと接続を維持することは別です。通常、テストのためにすべての構成を削除する必要はありません。まず切断し、状態を確認してから、接続を一度試してください。失敗した段階を特定しやすくなります。

カメラ権限が必要なのはQRコードの読み取り時だけです。Scan QR Codeで既存のサーバー情報を追加する場合は、システムの案内に従ってカメラへのアクセスを許可してください。QRコードを使わない場合は、アプリで利用できる別の追加方法を選べます。カメラ権限を拒否してもVPN権限を拒否したことにはならず、サーバーに接続できない原因とも限りません。それぞれの権限について、利用する機能に必要か確認してから許可してください。

初回接続の前に元に戻せる状態を保つ

本格的な設定の前に、端末からテスト対象の一般的なWebページにアクセスできることを確認してください。Wi-Fiとモバイル通信のどちらを使っているか、Web認証が必要なネットワークかどうかも記録します。Web認証が必要な場合は、先に認証を完了してからShadowrocketに接続します。基本ネットワークがまだ開放されていないと、アプリに権限があっても接続に失敗することがあります。プロトコルのパラメータを何度も変更すると、原因を見誤るおそれがあります。

初めて使うときは、まず手動接続を試し、複雑なOn Demand条件は設定しないでください。「サーバーを選ぶ、ルーティングモードを選ぶ、接続を有効にする、接続先にアクセスする、接続を切る」という一連の操作を行い、各段階の状態を確認します。自動接続は基本設定が正しいことを前提とします。先に有効にすると、手動で切断しても再接続されるなど、権限、条件の発動、サーバー接続の不安定さを切り分けにくくなる場合があります。

設定やトラブルの記録用にスクリーンショットを撮る場合は、パスワード、サブスクリプションURL、認証情報、復元につながるQRコードを先に隠してください。システムの確認画面やアプリの設定画面は操作段階の記録に使えますが、共有前に内容を一つずつ確認してください。権限の確認に必要なのは、許可画面が表示されたか、許可したか、どの段階で失敗したかです。サービスの認証情報を公開する必要はありません。準備ができたら、サーバーの追加に進みます。

03 / ADD SERVER & SUBSCRIBE

追加:単一サーバー、サブスクリプション、Configを区別

手元の情報に合った追加方法を選ぶ

まず、手元の情報がサーバーのパラメータ、サーバー共有リンク、QRコード、サブスクリプションURLのどれにあたるかを確認し、それに応じた追加方法を選びます。単一サーバーは1つの接続先を示し、サブスクリプションはサーバー一覧の取得と更新に使います。Configはルールなどの設定を管理します。それぞれ併用できますが、互いに置き換えられるものではありません。サーバー一覧を追加できても、適切なルールによる振り分けが設定済みとは限りません。

Add Serverから手動で追加する場合は、まず正しいプロトコルを選び、サーバーアドレス、ポート、そのプロトコルに必要な認証情報を入力します。アドレス欄にはホスト名またはアドレスそのものを入力し、パスを含むWebページのURL全体は入力しないでください。ポートはサービス提供元の指定に合わせます。よく見かけるポート番号だからという理由で変更しないでください。プロトコルの選択ミスは、ポート番号の変更だけでは解決できません。

QRコードで情報を受け取った場合はScan QR Codeを使い、共有リンクの場合はアプリの対応する追加操作を使います。追加後は、一覧に名前が表示されたことだけで正しいと判断せず、項目を開いて種類、アドレス、ポートを確認してください。名前は識別のためのもので、情報の提供元が任意に設定できます。地域、プロトコルのパラメータ、実際の接続先が想定どおりであることの証明にはなりません。

プロトコルのパラメータはまとめて確認

Shadowsocksでは暗号化方式とパスワードを確認します。VMessとVLESSでは、それぞれの認証情報とトランスポート設定を確認してください。Trojanではパスワードと関連するTLSパラメータを確認します。Hysteria2では、サービス提供元の説明に従って認証、TLS、トランスポートの要件も確認してください。あるプロトコルのフィールドに関する知識を別のプロトコルにそのまま当てはめないでください。入力欄が表示されても、その項目を自分で入力する必要があるとは限りません。

情報の種類主な確認項目よくある間違い
基本接続プロトコル、サーバーアドレス、ポート管理画面のURLをサーバーアドレスとして入力する。
認証情報パスワード、またはプロトコルに応じた認証情報コピー時に空白や改行が入る、または文字が欠ける。
TLSサーバーが指定する名前と証明書の検証条件接続先アドレスと証明書名は必ず同じだと思い込む。
トランスポート設定種類、パス、サーバー指定の追加項目パスワードだけ確認し、トランスポート設定を見落とす。

TLSの証明書検証に使う名前は、実際の接続先アドレスと異なる場合があります。利用中のサービスの説明に従って入力してください。証明書エラーが発生した場合は、端末の時刻、名前、サーバー証明書の状態を確認します。検証を無効にすることを通常の対処方法にしないでください。トランスポートパスやリクエストヘッダーも、大文字・小文字やスラッシュを含めて正確に照合します。情報が足りない場合は、いろいろな組み合わせを試す前に確認してください。

Subscribeの更新と追加後の確認

サブスクリプションURLがある場合は、Subscribe対応の追加画面にURL全体を貼り付け、情報の説明に合った種類を選択します。URLには個人のアクセス情報が含まれる場合があるため、公開したり共有メモに貼り付けたりしないでください。保存後に更新し、サーバー一覧が表示されるか確認します。更新に失敗した場合は、URLにアクセスできない、取得した内容が想定と異なる、情報が無効になっている、のどれにあたるかを切り分けます。それぞれ対処方法が異なります。

サブスクリプションの更新後は、項目数に大きな変化がないか、以前選択していたサーバーが残っているかを確認します。更新で一覧が再構成されたり、項目名が変わったりすることがあり、以前の選択が有効とは限りません。重複がある場合は、名前だけで削除せず、どのサブスクリプションに属するか、サーバーのパラメータを比較してください。同じ名前でも別の情報から追加された場合があり、名前が異なっても同じサーバーを指すことがあります。

追加後は、サーバーを1つ選んで個別に接続テストを行ってから、ほかの項目を整理してください。Connectivity Testの結果は候補を絞る参考になりますが、応答があってもプロトコルの全パラメータや実際のアクセスが正しいとは限りません。選び方は遅延、地域、プロトコルの確認方法をご覧ください。この時点では元の情報と現在有効な項目を残し、使える唯一の比較対象を失わないようにしてください。

ConfigファイルはConfigで管理し、サーバーのサブスクリプションは該当するサーバー一覧で管理します。両方が提供されている場合は、それぞれを追加し、参照関係を確認してください。サブスクリプションの更新をルールの更新と同じものと考えたり、ルールファイルを追加できたからといってサーバー情報を削除したりしないでください。最短の手順を確認するには、クイックスタートに戻り、追加、選択、接続、確認の順に進めます。

04 / GLOBAL ROUTING

ルーティング:Config、Proxy、Directの役割を区別

まず3つのモードでリクエストの処理方向を決める

日常的なルールによる振り分けにはConfigを使い、選択中のサーバーを確認するにはProxyを使い、端末から直接アクセスした場合と比較するにはDirectを使います。Global Routingはアプリ全体のルーティング方法を選ぶ項目で、サービスのプロトコルやシステムの許可スイッチではありません。リクエストがサーバー経由または直接接続になる理由を調べる前に、現在の設定を確認してください。サーバー名だけを見ても、実際の経路は判断できません。

モード主な用途確認する点
Config現在のConfigに設定されたルールに従って振り分ける。正しいConfigが選択されているか、ルールの順序、最後に適用されるポリシー。
Proxy選択したProxy経由の経路を全体の比較テストに使う。現在のサーバー、認証情報、接続先への実際のアクセス。
Direct直接接続の経路を比較テストする。ローカルネットワークと接続先に到達できるか。

Configでは通常、ルールが順に確認され、最初に一致したルールの処理ポリシーが適用されます。より具体的な例外は、それを上書きする可能性がある広範なルールより前に置きます。FINALは、それ以前のルールに一致しなかった場合の最終処理です。以下の例はマッチングの仕組みを説明するもので、既存の設定すべてにそのまま適用できる完全なConfigではありません。変更前に現在有効なファイルをコピーし、既存のサーバーとポリシーの定義を残してください。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,REJECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

ルールの種類、ポリシー、順序を分けて理解する

DOMAINは完全なドメイン名に一致し、DOMAIN-SUFFIXはドメインのサフィックスに一致し、DOMAIN-KEYWORDはドメイン名に含まれるキーワードに一致します。サフィックスルールは、ドメインとそのサブドメインに共通のポリシーを適用するのに適しています。キーワードルールは範囲が広く、同じ文字列を含む別のドメインにも一致することがあります。ルールを追加する前に、対象範囲を明確にしてください。対象ドメインの確認を省き、広すぎるルールで代用しないでください。

IP-CIDRとIP-CIDR6はそれぞれ対応するアドレス範囲に使い、GEOIPはアドレスデータベース上の所属情報に基づいて判定します。ドメインへのリクエストには名前解決が関わる場合があり、IPルールの適用も名前解決の動作に影響される場合があります。例にあるno-resolveは、そのルールが追加の名前解決を引き起こさないようにする指定であり、接続速度を上げる汎用スイッチではありません。ルールに一致するかどうかは実際のリクエスト情報によって決まるため、Webページに表示された名前だけから推測できません。

PROXY、DIRECT、REJECTはそれぞれ異なる処理ポリシーを表し、Global Routingで選ぶ画面上のモードとは別のものです。ConfigのルールがDIRECTに一致しても、アプリ全体がDirectに切り替わるわけではありません。PROXYに一致した場合も、現在のConfigでのポリシー参照先とサーバーの選択を確認してください。ファイルで独自のポリシーグループ名を使う場合、ルールの末尾には実在し、表記が一致する名前を指定する必要があります。

変更を最小限にしてルールの有効性を確認

Configを編集するときは、同名のコピーではなく、現在選択されているファイルを変更しているか確認してください。保存後、アプリの案内に従って再接続またはConfigの再読み込みを行い、新しいリクエストを送信します。既存の長時間接続、Webページのキャッシュ、アプリのキャッシュにより、以前の動作が続く場合があります。すでに開いているページだけを確認せず、明確に新しいリクエストを行い、リクエスト記録で一致したポリシーを確認してください。

Proxyでは接続できるのにConfigで接続できない場合は、ルールへの一致、ポリシーグループの参照、DNSの結果を優先して比較し、すぐにサーバーを作り直さないでください。Directでは正常でProxyでは異常がある場合は、サーバーとプロトコルを確認します。3つのモードは原因を絞り込むための比較手段であり、互いに代用できる修復スイッチではありません。テスト後は本来使うモードに戻し、一時的なテスト設定をそのまま使い続けないようにしてください。

ConfigにはDNS、ポリシーグループ、リモートルールへの参照が含まれる場合もあります。FINALの1行だけを見て全体の動作を判断しないでください。まず、検証しやすい少数の明確なルールで基準を作り、例外を少しずつ追加します。ルールを追加するたび、対象、想定するポリシー、実際に一致した内容を記録してください。引き続き確認する場合は、この3点を添えてよくある質問とトラブル対処を参照すると、「振り分けがおかしい」とだけ伝えるより原因を絞りやすくなります。

05 / CONNECTION CHECK

接続:スイッチ、サーバー、接続先へのアクセスを個別に確認

接続を完全に確認するには3つの段階が必要

接続スイッチをオンにした後、選択中のサーバーと実際の接続先も確認してください。まずHomeで正しい項目が選択されているか、Global Routingがどう設定されているかを確認してから接続します。システムの許可を完了した後、アプリが接続状態を維持しているか確認してください。スイッチがすぐにオフになる場合は、まず権限と設定のエラーを確認します。オンのままアクセスできない場合は、サーバー、名前解決、ルーティングの順に調べ、別々の問題を混同しないでください。

Connectivity Testは各項目がテストに応答するかを初めに確認するもので、実際のアクセス確認に代わるものではありません。テスト方法によって確認できる段階が異なるため、結果は現在の方法に応じて解釈してください。応答が速くてもダウンロードが速いとは限らず、1回のタイムアウトであらゆるアクセスが失敗すると決まるわけでもありません。実際に利用する接続先を選び、同じ条件で少数回テストしてください。単一の数値で並べて、すぐにほかの項目を削除しないでください。

実際のアクセスをテストするときは、接続先、ネットワーク、操作をできるだけそろえます。たとえば現在のWi-Fiで新しいリクエストを1回送り、完了するかを記録した後、サーバーだけを変更して繰り返します。モバイル通信への切り替え、ルーティングモード、プロトコルのパラメータを同時に変更しないでください。結果が改善しても、どの変更が効果をもたらしたのか分からなくなります。変更する条件を1つに絞ることが、偶然の結果を再確認できる結論にする鍵です。

失敗した段階に応じて対処

すべての項目でテストに失敗する場合は、まず端末の基本的なネットワーク接続とサブスクリプションの更新結果を確認してください。1つの項目だけ異常がある場合は、その項目のアドレス、ポート、認証情報、トランスポート設定を比較します。サーバーにドメイン名を使っている場合は、名前解決も確認してください。情報の提供元がアドレスや認証情報を変更している場合、古い項目をテストし続けても意味がありません。現在の情報が有効かを先に確認してください。

認証エラーが表示された場合は、認証情報全体とプロトコルの種類を確認します。TLS関連のエラーでは、端末の時刻、証明書名、サーバー証明書の条件を確認してください。接続がタイムアウトする場合は、アドレス、ポート、現在のネットワークがそのトランスポートに対応しているかを確認します。すべての失敗をパスワードの問題と決めつけたり、証明書の検証要件を緩めて名前の誤りを隠したりしないでください。エラーメッセージは実際の文面を記録し、記憶だけで要約しないようにします。

Hysteria2はQUICベースのトランスポートを使用するため、ネットワークでのUDPの扱いが結果に影響する場合があります。あるネットワークでは失敗し、別のネットワークでは正常な場合は、追加操作の誤りと決めつけず、まずネットワークの違いを確認してください。プロトコルの仕組みとパラメータの範囲はHysteria2とQUICの解説をご覧ください。プロトコルが利用環境に適しているかは実際のテストで確認する必要があり、名前だけで速度が保証されるわけではありません。

接続後にアクセスできない、または速度に問題がある場合

アプリが接続状態を保ち、特定の接続先だけにアクセスできない場合は、まず接続先自体に問題がないかを確認し、ProxyとConfigでの結果を比較します。Webページは複数のドメインにリクエストするため、一部が読み込まれない場合、ページ全体の接続ではなく、リソースのドメインに別のポリシーが適用されている可能性があります。リクエスト記録で失敗したリソース、一致したルール、エラーを確認してから該当ルールを調整してください。ページのタイトルだけを見て広範なルールを追加しないでください。

速度が遅い場合は、サーバーの負荷や接続先までの経路、プロトコル設定、Wi-Fiとモバイル通信の状態、接続先自体の応答をそれぞれ確認します。遅延テストで測る待ち時間と、連続してデータを転送する能力は異なります。遅延が小さくても、継続的なダウンロードが速いとは限りません。同じ接続先を使い、できるだけ近い時間帯に比較してください。段階別の確認方法は接続できるのに速度が遅い場合の対処をご覧ください。

テスト後は、長期利用するルーティングモードに戻し、一時的なテスト条件を解除してください。問題が解決しない場合は、端末のネットワークの種類、プロトコル、Global Routing、エラーが発生した段階、比較確認の結果を記録します。サブスクリプションURL全体を公開する必要はありません。有効な記録では「何を想定していたか」「実際に何が起きたか」「どの項目を変えると結果が変わったか」を確認できます。そうすれば同じ手順に沿って続けて調べられます。

06 / DATA

Data:通信量の統計、リクエスト記録、サービスの使用量を区別

数値はまず集計範囲を確認し、その後に大きさを見る

Dataの通信量情報は、クライアント側の処理状況を確認するためのもので、利用中のサービスの最終的な課金量と同じとは限りません。数値を見る前に、項目名、集計期間、現在の接続状態を確認し、アップロード、ダウンロード、現在の接続、累計記録のどれを表しているかを把握してください。集計範囲が異なる数値をそのまま差し引いて比べたり、2か所の数値が違うだけでクライアント側またはサーバー側の集計ミスと判断したりしないでください。

アップロードとダウンロードは、端末から見たデータの方向を表します。ページを開くときにもアップロードのリクエストが発生する場合があり、コンテンツのダウンロード中にもプロトコルの通信が行われます。そのため、アップロードをファイルの送信だけと考えることはできません。通信量の数値はデータの転送量を示すもので、すべての内容が正常に表示されたことを意味しません。再接続、バックグラウンド更新、失敗したリクエストでも通信量が発生する場合があります。実際の操作と照らし合わせて判断してください。

端末側の統計とサーバー側の記録には、集計時間、プロトコルのオーバーヘッド、リトライの扱い、サーバー独自の計算方法などによって差が生じる場合があります。また、ルールによって直接接続されたリクエストは、サーバー側では一部しか確認できない場合があります。使用量を照合する場合は、まず確認する時間と接続範囲をそろえ、利用中のサービスの説明を確認してください。Dataを請求額の確定記録として扱わないでください。

リクエスト情報からルールと名前解決の問題を確認

リクエスト記録では、まず自分で直前に行った操作を探し、時刻、接続先、適用されたポリシーを確認します。端末はバックグラウンドでほかの通信を行うため、一覧の先頭が調査中のWebページとは限りません。無関係な操作をいったん止め、明確なテストを1回実行すると、対象を絞りやすくなります。再確認するときは接続先を変えず、異なるリクエストの結果を同じリクエストの変化と誤認しないようにしてください。

記録にルールの一致情報がある場合は、ルールの種類と最終ポリシーを合わせて確認します。ドメインルールへの一致は、そのルールがマッチングされたことを示すだけです。ルールが参照するポリシーが想定どおりかも確認してください。DIRECTの記録はサーバーの障害を意味せず、REJECTの記録も必ずしも接続エラーではありません。Configで指定された処理である可能性があります。まず想定と比較し、異常かどうかを判断します。

ドメイン名の記録とアドレスの記録は分けて考える必要があります。同じWebページでも複数のドメインにアクセスすることがあり、同じドメインでも異なるアドレスに名前解決される場合があります。ネットワークを切り替えた後に結果が変わることもあります。1つのアドレスの所属情報だけでは、Webページ全体にどのルールを適用すべきか判断できません。DNSを調べるときは、名前解決の結果、一致したポリシー、接続先へのアクセスをまとめて確認し、1つのアドレスだけを根拠に広範なGEOIPやIP-CIDRルールを変更しないでください。

通信量の急増、記録の削除、プライバシーへの配慮

端末で操作していないのに通信量が増える場合は、バックグラウンド同期、メディア再生、システムアップデート、ほかの実行中の通信を先に確認し、現在のテストと関係があるかを判断します。一定時間バックグラウンドの動作を減らし、接続を有効にする前後や異なるルーティングモードで比較できます。数値が増えただけでサブスクリプションに問題があると決めつけないでください。クライアントが処理するバックグラウンドのリクエストも統計に反映される場合があります。

アプリに統計や記録を消去する機能がある場合、実行前にトラブル対処に必要な集計範囲と重要な状態を保存してください。端末上の表示を消去しても、サーバー側の使用量が消えるわけでも、サーバーの接続状態が変わるわけでもありません。数値の消去をサービスの利用量回復に使わないでください。リセット後の短時間テストは条件をそろえて変化を見るのに役立ちますが、新しい測定開始点を記録し、以前の累計値と直接比較しないようにしてください。

リクエスト記録には、アクセス先のドメイン、サーバーアドレス、時刻、その他の機密情報が含まれる場合があります。エクスポートやスクリーンショットの共有前に、項目ごとに確認してください。問題を共有するときは、ルールの種類、ポリシー名、エラーが発生した段階を残し、個人の認証情報や問題に関係のないアクセス内容を隠せます。サブスクリプションURLは一部だけ表示されていても認証情報を含む可能性があります。先頭を切り取れば安全だと思わず、共有前に表示範囲全体を確認してください。

Dataは単独で結論を出すものではなく、判断の根拠を得るために使います。1回のアクセスについて、ネットワーク環境、ルーティングモード、一致したポリシー、結果を合わせて記録すると、大量のスクリーンショットを集めるより効果的です。記録と観察結果が一致しない場合は、同じリクエストの記録かを確認してから、キャッシュや長時間接続を調べてください。根拠を整理したうえでSettingsを調整し、統計の変化だけを理由に広範な設定を変更しないようにします。

07 / SETTINGS

Settings:項目を順にオンにせず、接続条件に合わせて調整

On Demandは手動接続が正常に動作してから設定

Settingsの項目は実際の必要性に応じて個別に調整してください。すべての項目をオンにすることが、設定完了を意味するわけではありません。自動化の条件を設定する前に、手動接続、ルーティング、接続先へのアクセスが正常に動作することを確認します。項目の利用可否や場所はアプリの表示に従ってください。見つからない項目を名前の似た別の項目で代用したり、ほかのデバイスの設定をすべてそのまま使ったりしないでください。

On Demandは、設定した接続条件に応じて接続動作を開始する機能であり、サーバー認証やプロトコルのパラメータを修正するものではありません。有効にする前に、どのネットワーク条件で接続し、どの条件では接続しないのか、手動で切断した後にどう動作するのかを明確にします。条件の境界をはっきりさせてください。複数の条件が重なると、ネットワーク切り替え後に予想と異なる動作になる場合があるため、実際に条件が発動するかを個別に確認します。

On Demandをテストするときは、再現しやすいネットワーク条件を1つ選び、条件に入るとき、条件から出るとき、再び条件に入るときの3回を確認します。手動で切断した後すぐに再接続する場合は、条件がまだ満たされているかを先に確認し、スイッチの故障と決めつけないでください。自動接続を一時的に止める場合は、まずOn Demandの状態を確認してから接続スイッチを操作し、自動動作が後の確認を妨げないようにします。

DNS、IPv6、トランスポート設定は組み合わせて確認

DNS関連の設定では、まず名前解決をどこで行うか、現在のConfigに必要な設定が含まれているかを確認します。ドメイン名の名前解決失敗とサーバー認証の失敗は別の段階の問題です。DNSを変更しても、パスワードの誤りは解決しません。変更前に元の値を記録し、変更後は新しいリクエストで確認してください。既存の接続やキャッシュがあると変更がすぐに反映されない場合があるため、名前解決と実際のアクセスを合わせて確認します。

IPv6関連の設定では、ローカルネットワークが対応する接続を提供しているか、DNSが返すアドレス、ルールが接続先をカバーしているかを合わせて確認します。どのネットワークでも設定をオンまたはオフにすべきだという一律の推奨はできません。ネットワークを切り替えたときだけ問題が発生する場合は、まず両方のネットワークのアドレスと名前解決の条件を比較し、その後に設定変更を検討してください。単一のスイッチをやみくもに探すより、問題を再現できるテスト対象を保つことが重要です。

UDP関連のオプションは、プロトコルとサーバー側の対応状況に照らして判断します。オプションを許可しても、現在のネットワークでその通信が必ず通るわけではなく、サーバー側で機能が設定済みとも限りません。Hysteria2などのトランスポートには、基盤となるネットワークに固有の要件があります。問題が発生した場合は、まずプロトコルの資料を確認してください。トランスポート設定を一律の高速化オプションと考えたり、DNS、プロトコル、ルーティングを同時に変更して1回だけ結果を確認したりしないでください。

証明書、記録、設定の優先順位

証明書関連の機能と、初回接続時のVPN構成の許可は別のものです。通常のサーバー追加や日常的なルール振り分けで、「設定を完成させる」ために不明な証明書を追加する必要はありません。証明書処理を伴う高度な設定では、影響するリクエスト、信頼範囲、元に戻す方法を理解してから使用してください。入手元や用途が不明な設定は適用を中断し、警告を消すために検証条件を緩めないでください。

ログや詳細な記録は、トラブル対処中に一時的に使うのが適切です。有効にする前に記録内容を確認し、問題を1回再現して必要な情報を整理した後、必要に応じて元の設定に戻してください。大量の記録を長期間残すと、整理の負担が増えるだけでなく、機密情報を保管する範囲も広がります。ログを有効にしても、アプリが原因を自動で特定するわけではありません。エラーが発生した段階、サーバーのパラメータ、一致したポリシーを合わせて確認し、エラーの単語だけを検索しないでください。

動作によってはSettingsと現在のConfigの両方が影響する場合があります。変更しても結果が変わらない場合は、スイッチを何度も押す前に、Configファイルに対応する設定がないかを確認してください。アプリ内の説明を読み、適用範囲と優先順位を確認します。明確な根拠がない場合は、Configをコピーしてから最小限のテストで検証してください。優先順位を推測するために、有効なConfigから大量の内容を直接削除しないでください。

設定を1つ変更したら、変更の目的、変更前の値、結果、設定を維持する必要があるかを記録します。改善しなければ、次の段階を調べる前に元に戻してください。引き続き確認が必要な場合は、設定の適用範囲と再現手順をまとめてよくある質問とトラブル対処をご覧ください。良い設定とは、項目を多く選ぶことではありません。それぞれの変更の目的を説明でき、必要なときに既知の有効な状態へ戻せることが大切です。

08 / MAINTENANCE

メンテナンス:有効な設定を保ち、更新と復元を分けて管理

アプリ、サブスクリプション、ルールを個別にメンテナンス

App Storeのアプリ更新、Subscribeの一覧更新、Configのルール管理は別々に行います。アプリの更新はクライアント自体を変更し、サブスクリプションの更新はサーバー情報を変更し、ルールの更新はリクエストの振り分け条件を変更します。それぞれ異なるタイミングで行われるため、変化があったら最近どの部分を変更したかをまず確認してください。サブスクリプションの更新に成功してもアプリが更新されたとは限らず、アプリの更新で無効な情報を確認することもできません。

App Storeで更新する前に、現在有効な設定を保存し、サブスクリプション情報を再取得できることを確認します。更新後は、元のサーバー、ルーティングモード、テスト対象を使って結果を確認してください。新しいルールをすぐに同時追加しないでください。結果に変化があった場合は、具体的な機能と失敗した段階を記録し、Configとの互換性、ネットワーク環境、サーバーの状態のどれに関係するかを確認します。アプリの更新履歴はApp Storeで確認できるため、自分でバージョン一覧を管理する必要はありません。

サブスクリプションの更新後は、一覧の項目の追加・削除、名前の変更、現在の選択が引き続き有効かに注意してください。更新完了後は、少なくとも現在使っているサーバーを1つ確認します。「成功」という表示だけで判断しないでください。一覧が突然空になった場合は、手元の情報を残してリンクの状態を確認し、削除と再追加を繰り返さないでください。利用中のサービスの利用期限と権限は、利用者自身が契約したサービスによって決まり、クライアントの更新では延長も変更もされません。

バックアップはファイルを1つ保存するだけではない

バックアップでは、ルールファイル、手動で追加したサーバーのパラメータ、サブスクリプションURLを区別してください。Configファイルにすべてのサーバー情報が含まれているとは限らず、一覧のスクリーンショットでは認証情報を復元できません。アプリのエクスポートやバックアップ機能を使う前に、実際にどの情報が含まれるかを確認し、必要なデータを自分で管理できる場所に保存してください。バックアップファイルに認証情報が含まれる場合があるため、公開URL、共有フォルダ、内容を確認していないチャットには保存しないでください。

バックアップを検証するには、ファイルが存在するかではなく、復元できるかを確認します。現在有効な設定を壊さないように、エクスポート内容と復元手順を確認し、ファイルが読み取れること、ルールがそろっていること、ポリシー参照先が存在することを確かめてください。バックアップの確認のために、すべての設定を消去する必要はありません。元の設定を残してコピーを確認すれば、バックアップ作業がすべての接続を再調査する作業に変わるのを防げます。

機種変更後は、まずApp StoreからShadowrocketを復元し、続いてサーバー情報とConfigを復元します。購入権の復元と端末上のデータの復元は別々に確認してください。同じアカウントでアプリを入手できても、すべての設定が自動で表示されるとは限りません。ファミリー共有、複数デバイスでの利用、互換性の条件はApp Storeページの記載に従ってください。復元後はまず手動接続を確認し、利用できることを確かめてからOn Demandなどの自動動作を再び有効にします。

不要な項目を整理し、再利用できる記録を作る

サーバー一覧を整理するときは、一時的なテスト失敗と、今後使わないことが確認済みの項目を区別します。ネットワークの一時的な不安定さによるタイムアウトが1回あっただけでは、削除すべきとは判断できません。サブスクリプションを更新し、パラメータを確認してから、同じ条件で再テストしてください。手動追加した項目には情報の提供元を記録し、サブスクリプションから追加された項目は次回更新時に再構成される可能性に注意します。名前や1回のテスト結果だけでまとめて削除するより、追加元に沿って整理するほうが安全です。

Configにも、明確な有効状態を1つ残してください。変更前にコピーを作成し、ドメインの例外を1つ追加する、最終ポリシーを変更するなど、変更の目的を記録します。結果を確認してから元のファイルを置き換えるか判断してください。同じ名前のコピーを複数作り、それらをすべて「現在のConfig」として使わないでください。次回の接続時に選択を誤る可能性があります。例にある予約済みアドレスやドメインは説明用であり、実際のサーバー接続情報として使うことはできません。

トラブルの記録は簡潔で構いませんが、ネットワークの種類、選択したサーバーの情報元、Global Routing、問題が起きた時間帯、エラーの段階、直近の変更を含めてください。パスワードやサブスクリプションの認証情報全体を記録する必要はありません。同様の問題が再発したら、前回の有効な状態と比較し、最近の変更を確認してから、権限、サーバー、名前解決、ルール、接続先へのアクセスの順に検証します。毎回すべてを最初から設定し直す必要はありません。

長期利用時の確認順序は、基本ネットワークが正常、情報が有効、正しいConfigが選択済み、想定どおりのルーティングが適用される、接続先にアクセスできる、の順です。この流れを確認してから、自動接続や複雑なルールを追加してください。最短の手順をもう一度確認するにはクイックスタートをご覧ください。購入と復元についてはダウンロードガイドを、具体的な症状についてはよくある質問とトラブル対処を参照してください。