Shadowrocket
機能と基本設定
まず、通信がどのモードで処理されるかを確認してから、設定や接続条件を調整します。このページでは、iPhoneとiPadでよく使う機能を「概要・場所・設定方法・注意点」の順に説明します。具体的な項目や利用できる選択肢はアプリ内の表示を、システム要件はApp Storeの記載をご確認ください。
Global Routing:Config / Proxy / Direct
Global Routingでは、現在の接続に適用する全体的な処理方式を選択します。HomeでGlobal Routingを開き、Config、Proxy、Directから選びます。これはサーバーのプロトコルや接続スイッチではありません。モードを選んだ後も、サーバーと設定、メインの接続スイッチの状態を確認してください。通常、ドメインやアドレスごとに通信を振り分ける場合はConfigを使います。確認作業では一時的にほかのモードへ切り替えてもかまいませんが、終了後は元の設定に戻してください。
| 画面上の選択肢 | 処理方法 | 利用する場面 | 最初に確認する項目 |
|---|---|---|---|
Config(設定) |
現在有効な設定内のルールとポリシーに従って通信を処理します。 | 通常の振り分け。プロキシ経由にするリクエストと直接接続するリクエストを分けます。 | 有効な設定、ルールの順序、ポリシーの割り当て、最後のルール。 |
Proxy(プロキシ) |
クライアントが処理する接続を、通常のルール振り分けではなくプロキシ経由で処理します。 | 選択したサーバーで対象のリクエストを処理できるか、一時的に確認します。 | 現在のサーバーが利用可能か、認証と通信の設定が正しいか。 |
Direct(直接接続) |
クライアントが処理する接続を、直接接続で処理します。 | 同じ宛先にローカルネットワークから直接アクセスできるか確認します。 | ローカルネットワーク、ドメインの名前解決、接続先への到達性。 |
操作前に元のモードを記録し、同じネットワークで同じ宛先を使って各モードをテストしてください。ネットワークを切り替えたり、複数の設定を同時に変更したりしないようにします。ProxyではアクセスできるのにConfigではできない場合は、ルールの一致状況やポリシーのサーバー指定を確認します。Directでは正常でProxyでは失敗する場合は、サーバー情報と接続ログを確認してください。これらは確認範囲を絞るための手がかりであり、単独の結果だけで原因を断定することはできません。
Directにしても、システムのVPN設定が無効になるわけではありません。また、Proxyを選んでも、すべてのデバイス通信が必ずプロキシ経由になるとは限りません。モードのテストでは、実際のリクエスト記録も確認してください。Configに戻した後は有効な設定を再確認し、一時的なテスト用モードを普段使いの設定として残さないようにします。
Rules:一致条件と処理結果
ルールによる振り分けでは、「どのリクエストに一致するか」と「一致したリクエストをどう処理するか」を分けて指定します。Configを開いて現在有効な設定を確認し、該当する設定の編集画面でルールを確認してください。ルールは通常、上から順に照合されます。具体的な条件を広い条件より前に置きます。Global RoutingがConfigの場合は、現在の設定内のルールが通常の振り分けを確認するポイントです。
ルールの種類を選び、ポリシーを確認
DOMAINはドメインの完全一致、DOMAIN-SUFFIXはドメインとそのサブドメイン、DOMAIN-KEYWORDはドメイン内のキーワードによる照合に使います。IP-CIDRとIP-CIDR6はIPアドレスの範囲を表し、GEOIPはIPアドレスの地域分類を使います。ドメインによる判定とIPアドレスによる判定では前提が異なり、名前解決の結果もIPアドレス関連ルールの判定に影響します。ルール名だけで一致するかどうかを判断しないでください。
ルール末尾のポリシーで処理方法を指定します。DIRECTは直接接続、REJECTは拒否を表します。PROXYは、現在の設定で利用できるプロキシポリシーまたはポリシーグループに対応させます。ポリシーグループに選択肢がある場合は、現在選択されている項目も確認してください。PROXYという名前を記述しただけでは、利用可能なサーバー接続の代わりにはなりません。
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
この例では、example.comとそのサブドメインにPROXYを適用し、それ以前のルールに一致しなかったリクエストをFINALからDIRECTへ渡します。example.comは説明用のドメインであり、あらゆるネットワークに適した完全な設定例ではありません。FINALは最後の処理ルールとして置き、後続の照合が必要なルールより前に配置しないでください。
変更後は実際のリクエストで確認
編集前に復元できる設定のコピーを残し、一度に変更する条件やポリシーは1つにしてください。保存後、変更した設定が現在有効なものか確認し、新しいリクエストを送信して、利用可能な接続記録から一致したルールとポリシーを確認します。既存の接続は変更前の処理結果を引き継ぐ場合があるため、比較には新たに接続を開始してください。USER-AGENTなどのルールタイプでは、実際のリクエストに適用される条件も確認します。アプリを汎用的に識別するルールとして扱わないでください。
- 具体的なルールを先に置く
- 有効なポリシー名を指定する
- FINALを最後に置く
SubscribeとAdd Server
サーバー項目には、接続に必要なアドレス、ポート、認証情報、プロトコルのパラメーターを保存します。Subscribeでは、ユーザーが用意したサブスクリプションURLから複数のサーバー情報を取得します。両方を併用できますが、情報の入手元と管理方法は異なります。HomeでAdd Serverを選び、手元の情報に記載されたタイプに合わせてプロトコルを選択します。サブスクリプションを追加する場合はSubscribeを選び、既存のサブスクリプションURLを入力してください。サブスクリプションURLを個別サーバーのアドレス欄に入力しないでください。
手動追加:各項目を情報に合わせる
Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2では、認証や通信の設定項目が異なります。プロトコル名から推測せず、手元の接続情報に従って入力してください。特にサーバーアドレスとポート、パスワードまたはUUIDに加え、指定がある場合はTLS、通信方式、Host、SNIなどを確認します。画面に表示され、接続情報で必要とされている項目だけを設定してください。
Scan QR Codeやリンクの読み込み後も、サーバー項目を開いて解析結果を確認してください。QRコードを読み取れたことは、内容が認識されたことを示すだけで、サーバーに接続できることを保証しません。メモは項目を識別するためのもので、認証には使われません。用途に応じて名前を付けられますが、パスワードやサブスクリプションの認証情報全体をメモに記載しないでください。
サブスクリプションの更新:配信元とローカルの変更を分けて管理
Subscribeを追加したら更新を実行し、サーバー項目が表示されることを確認してから、使用するサーバーを選びます。更新に失敗した場合は、URLが完全か、認証情報が有効か、現在のネットワークでサブスクリプション内容を取得できるかを確認してください。更新成功は内容の取得と解析ができたことを示すだけです。接続テストも行ってください。
サブスクリプション内の項目は更新によって変わることがあり、ローカルでの変更が新しい内容で上書きされる場合もあります。サブスクリプションを削除する前に、関連項目と予備の設定を確認してください。更新後は選択中のサーバーとポリシーグループを再確認します。サブスクリプションURL内のtokenはアクセス認証情報です。問題の調査情報を共有する際は必ず隠してください。マニュアルの例は実際の接続情報として使用できません。
On Demand:条件に応じて接続
On Demandは、システムが対応するオンデマンド機能を使い、設定した条件に合致したときに接続を開始します。接続するタイミングを決めるOn Demandと、接続中の通信処理を決めるGlobal Routingは役割が異なります。SettingsでOn Demand関連の項目を探し、条件やスイッチはアプリ内の表示に従ってください。設定を変更する前に手動で接続し、サーバーと設定が正常に使えることを確認します。
設定する際は、まず接続を開始するネットワーク条件を決め、該当する項目を有効にします。ネットワークの種類やWi-Fi条件が表示される場合は、対象に含める条件、除外条件、切断時の動作を一つずつ確認してください。項目名だけを見て、すべてのネットワークで自動接続すると判断しないでください。保存後は条件に合う環境と合わない環境の両方で接続状態を確認し、実際のリクエストもテストします。
オンデマンド接続は、接続が常に利用可能であることを保証するものではありません。システムの状態、ネットワークの切り替え、サーバーへの到達性が結果に影響します。トリガー機能で誤ったパスワードや利用できないサーバーを修正することはできません。切断後すぐに再接続する場合は、まずOn Demandの条件が引き続き成立しているか確認し、そのうえでメインの接続スイッチを操作してください。トリガー条件を残したまま何度も操作するのは避けます。
接続の問題を調べるときは、On Demandを一時的にオフにして、同じネットワークで手動接続を比較テストできます。原因を確認したら、必要な条件を再設定してください。普段の利用では、ほかに有効なVPN設定がないかにも注意し、システムに表示される接続状態とShadowrocket内の状態が一致しているか確認します。
Data:アップロード・ダウンロードと通信量の内訳
Dataではクライアントに記録された通信量を確認できます。Dataを開き、まず集計範囲と内訳を確認してから、アップロードとダウンロードの値を見ます。アップロードはデバイスから送信したデータ、ダウンロードはデバイスが受信したデータです。画面上の累計量と現在の速度は別の指標です。数値を比較する前に、単位と期間、以前に統計をリセットしたかどうかを確認してください。
画面にサーバー別やアプリ別の内訳が表示される場合、サーバー別表示は通信に使われたサーバーの確認に、アプリ別表示は通信元の傾向把握に役立ちます。アプリの識別や集計範囲には条件があるため、内訳の名称だけで特定のルールが適用されたとは判断できません。振り分けを確認するには、リクエスト記録、有効な設定、ポリシーの選択も併せて確認してください。
同じ操作を繰り返して数値を比較
まず現在の数値を記録し、同じページを再読み込みするなど、内容が明確な操作を1つ行います。その後、アップロードとダウンロードの増加量を確認してください。バックグラウンド同期、メディアの先読み、システム通信でも通信量が発生する場合があります。キャッシュ済みの内容を再度開くと、増加量が小さくなることもあります。比較中はネットワークとサーバーをできるだけ変えず、ネットワークの切り替えや通常のバックグラウンド通信が混ざらないようにしてください。
クライアントの数値を、接続サービス提供元の請求額やデバイス全体の通信量とそのまま見なさないでください。接続の対象範囲、集計期間、プロトコルのオーバーヘッド、提供元の課金基準は異なる場合があります。比較する際は期間と単位をそろえ、既存のサービス提供元に集計方法を確認してください。2つの画面の数値が完全に一致するとは限りません。
統計をリセットする必要がある場合は、調査に必要な数値を保存してから、現在の画面にあるリセット項目を使ってください。統計のリセットは、サブスクリプションの更新、サーバーの切り替え、設定の修復とは別の操作です。問題を記録する際は、累計通信量の画像だけでなく「リセット前後」と「テスト内容」も記載すると、再現しやすくなります。
Settings:DNS、テスト、ウィジェット、同期
Settingsには接続関連の設定や補助ツールがまとまっています。一部の設定は有効なConfigで指定されている場合もあります。変更前に元の値を記録し、全体設定か現在の設定固有の項目かを確認して、複数箇所で同じ設定を上書きしないようにしてください。以下の項目はアプリ内の表示に従ってください。ウィジェットや同期の利用可否は、デバイスとシステムの対応状況にも左右されます。
DNS:名前解決と設定の連携
DNSはドメイン名を接続に必要なIPアドレスへ変換します。Settingsと有効なConfigにあるDNS関連項目を確認し、どちらの設定が現在の名前解決を制御しているか把握してから該当項目を変更してください。既存の設定にDNSサーバーやドメイン専用ルールが含まれている場合は、まずその役割を理解します。特定のドメインにアクセスできないからといって、すべてのDNS項目を一度に変更しないでください。
設定後は、ドメインの名前解決と接続先への接続をそれぞれテストしてください。名前解決に成功しても、接続が成功するとは限りません。IPアドレスを使うルールは、名前解決の結果にも影響されることがあります。変更後に問題が起きた場合は、元の値に戻して比較し、リクエスト記録にあるアドレスとポリシーを確認してください。診断情報を共有する際は、必要なドメインとエラー情報だけを残し、個人の閲覧履歴に関わる内容は隠してください。
Test MethodとConnectivity Test
Test Methodでは接続テストの方法を選びます。Settingsで該当項目を開き、画面で選べる方法を設定してから、サーバーリストに戻ってConnectivity Testを実行してください。方法によって測定する段階が異なります。表示される数値は接続の確立時間や指定先へのリクエスト時間を示す場合があり、実際のダウンロード速度とは限りません。
サーバーを比較する際は、テスト方法、テスト先、ネットワークをそろえてください。テスト先に到達できない場合や、一時的なネットワークの変動でもテストに失敗することがあります。結果だけで、すべてのリクエストが失敗すると判断しないでください。サーバーを選択した後は、実際にアクセスする必要のある接続先で、認証、通信方式、ルーティングが正常に機能するかも確認します。
Today Widget:システムウィジェットからの操作
Today Widgetを使うと、システムウィジェットから情報を確認したり操作したりできます。Settingsで関連項目を確認し、デバイスのシステムが対応するウィジェットの追加手順に従って、アプリが提供するウィジェットを利用可能な領域に追加してください。ウィジェットの形式と対応範囲は、現在のシステムとアプリの表示に従います。名前が似ている別のシステムウィジェットを同じ機能と見なさないでください。
ウィジェットはアプリを何度も開く手間を減らせますが、初回の設定や許可に代わるものではありません。サーバーや設定を変更した後は、アプリに戻って現在の選択を確認してください。ウィジェットの数値や状態がすぐに更新されない場合は、アプリ内の実際の状態と接続テストを基準にしてください。
iCloud:デバイス間の同期条件
iCloud関連の設定では、アプリが対応するデータを同期できます。Settingsで同期項目を確認し、システム上でShadowrocketによるiCloudの利用が許可されているか確認してください。まず現在のデバイスのデータが正しいことを確かめてから同期を有効にします。もう一方のデバイスでも、対応するアカウント、システム権限、ネットワークの条件を満たす必要があります。
同期の対象はアプリに表示される項目を基準としてください。すべてのパスワード、統計、ログ、システムのVPN許可が一緒に移行するとは限りません。操作前に重要な設定の復元可能なコピーを保存し、操作後はサーバー、設定、現在の選択を一つずつ確認してください。iCloud同期とApp Storeでの購入済みアイテムの復元は別の手順です。同期データはアプリの購入記録の代わりにはなりません。
Diagnostics:接続に失敗した段階を特定
Diagnosticsでは診断情報を収集または確認できます。Settingsで該当項目を探し、画面の案内に従って必要な診断を実行してください。問題が起きたネットワーク、Global Routingのモード、選択したサーバー、具体的な操作を先に記録してから、問題を再現します。そうすることで、ログの時刻と実際の操作を照合できます。
結果を読むときは、サブスクリプションの取得、ドメインの名前解決、サーバー接続、認証、接続先へのリクエストなど、どの段階かをまず区別してください。単独のエラーが最終的な原因とは限らないため、前後の記録も併せて確認します。診断結果を共有する前に、サブスクリプションのtoken、パスワード、UUID、個人のアドレス、不要なアクセス記録を隠し、問題の再現に必要な情報だけを残してください。
接続情報から実際のリクエストまでの確認順序
各機能は関連していますが、問題の調査では段階ごとに確認します。まず接続情報、次に接続、最後にルールと補助設定を確認してください。一度に変更する項目を1つにすれば、どの変更が結果に影響したか把握できます。以下の手順は、既存のサブスクリプションまたはサーバー情報をお持ちの方向けです。すべての機能を先に有効にする必要はありません。
- 接続情報を確認。Subscribeの更新結果を確認するか、Add Serverのプロトコル、アドレス、ポート、認証項目を確認し、現在選択中のサーバーを記録します。
- 設定を確認。Configで有効な設定を確認します。Configモードを使う場合は、Rulesの順序、ポリシーグループの選択、FINALを確認してください。
- 手動接続を実行。システムの許可を確認して接続を有効にし、実際のリクエストを送信します。必要に応じて一時的にProxyとDirectを比較し、テスト後は元のモードに戻してください。
- 名前解決とログを確認。DNSやテスト設定の変更は、該当する症状がある場合に限ります。Diagnosticsも併用し、失敗した段階を特定してください。
- 便利な機能を追加。接続が安定してからOn Demand、Today Widget、iCloudを設定し、Dataで同じ操作を行った際の通信量の変化を記録します。
購入と初回の許可設定から確認する場合は購入ガイドをご覧ください。接続情報は用意できているものの、初回接続がまだの場合は使い方ガイドをご覧ください。ルールのキーワードが分からない場合は、先に用語解説を確認してから、現在の設定で該当する条件を確認してください。