この記事は、Shadowrocketを使い始めたばかりで、利用するサービスとサブスクリプションをすでにお持ちの方を対象にしています。入手方法、Home / Config / Settings の役割、サブスクリプションの追加、接続の切り替え、Global Routing、ルールの確認、更新、トラブルの切り分け、On Demand、機種変更時の対応を順に説明します。操作例はiPhone / iPadの画面を基準にしています。ほかのプラットフォームでは項目の場所が異なる場合があるため、メニューの位置をそのまま当てはめないでください。
1. 入手先は?購入すると接続先も付いてきますか?
Shadowrocketはクローズドソースの商用アプリです。アプリと接続サービスは別のものです。iPhone / iPad版はApp Storeで2.99米ドルの買い切りです。Mac(Appleシリコン・Intel)、Windows、Android、Linux版は無料です。アプリの買い切り料金に接続サービスは含まれません。サブスクリプションや接続先は、ご利用のサービス提供元から入手してください。
- iPhone / iPad:App Storeの製品ページで、デベロッパがShadow Launch Technology Limitedであることを確認してください。システム要件はApp Storeの製品ページに記載された内容をご確認ください。
- Mac:「このMacについて」でチップを確認し、Appleシリコン版またはIntel版を選んでください。
- Windows、Android、Linux:当サイトのダウンロードページで各プラットフォームのインストール手順をご確認ください。インストーラーは当サイトの
/dl/shadowrocket/から提供しています。
デバイスに合った入手先は全プラットフォームのダウンロードページから選択できます。インストールが完了しても、準備ができたのはクライアントだけです。利用可能な構成を追加するまでは、接続スイッチをオンにしても接続先は自動で用意されません。
2. Home、Config、Settingsの役割は?
3つの項目はそれぞれ、接続先、ルーティング設定、アプリの設定を管理します。初心者が混同しやすいのは、「ノードを選ぶ」ことと「ルールを有効にする」ことです。ノードは接続先を決め、ルールはリクエストごとの処理方法を決めます。
| 項目 | 主な用途 | 操作後の確認 |
|---|---|---|
Home | サブスクリプションとノードの管理、ノードの選択、接続の切り替え | 選択中のノードが意図したものか |
Config | 構成ファイルの管理・選択、ルールとポリシーの確認 | 使用中の構成ファイルが正しいか |
Settings | On Demandやサブスクリプション関連など、アプリの動作を設定 | 自動接続や自動更新の条件が設定されているか |
トラブルの切り分けでは、まずこの3か所の状態を記録してから、項目ごとに変更してください。ノード、構成、DNSを一度に変更すると、復旧してもどれが効果をもたらしたのか判断できません。
3. サブスクリプションURLはどこから追加しますか?
サブスクリプションURLはご利用のサービス提供元から入手してください。追加するとノード一覧を読み込めますが、ルーティング設定全体が有効になるわけではなく、一覧内のすべてのノードに接続できるとも限りません。サブスクリプションURLを、個別ノードのサーバーアドレス欄に入力しないでください。
-
追加画面を開く
Homeを開き、右上の「+」をタップして追加画面を開きます。
-
サブスクリプションを選ぶ
TypeでSubscribeを選びます。ノードのプロトコルを手動で選択しないでください。
-
URLを入力する
サブスクリプションURL全体をURL欄に貼り付けます。先頭、クエリパラメータ、末尾の文字を確認し、余分な空白や改行が入らないようにしてください。
-
保存して読み込む
保存後、Homeに戻ってサブスクリプションのグループにノードが表示されるか確認します。読み込まれていない場合は、リストを下に引いて更新してください。
-
ノードを選ぶ
サブスクリプションのグループからノードを選び、接続テストを行います。グループ名だけが表示され、ノードがない場合は、まずサブスクリプションの読み込みを解決してください。
サブスクリプションURLにはアカウントのトークンが含まれることが多いため、認証情報として厳重に管理してください。画面を共有する場合は、URL全体、パスワード、QRコードを隠し、エラー表示と必要な設定項目だけを残してください。
4. 接続・切断の方法は?アプリを閉じれば切断されますか?
Homeでノードを選択し、接続スイッチをオンにします。初回接続時は、システムからVPN構成の追加を求められることがあります。アプリの入手元を確認したうえで許可してください。この権限はシステムのネットワークトンネルを確立するためのもので、サービス提供元の接続先が利用可能であることを保証するものではありません。
- 接続前に、Wi-Fiまたはモバイル通信で通常のウェブページにアクセスできることを確認してください。
- Homeでノードを選び、必要なGlobal Routingを設定してから、接続スイッチをオンにします。
- 接続状態が変わるまで待ち、その後、実際に対象のページを開いて確認してください。システムのVPNアイコンだけで判断しないでください。
- 切断するにはHomeに戻り、接続スイッチをオフにします。その後、自動で再接続する場合はSettings → On Demandを確認してください。
ホーム画面に戻る、画面をロックする、アプリの画面を閉じるだけでは、トンネルは明示的に停止されません。システムのVPNアイコンが示すのはトンネルの状態だけです。対象サーバーへの到達性、認証の成否、ルールの選択が正しいかどうかは確認できません。
5. Global RoutingではConfigとProxyのどちらを選ぶ?
Global Routingは全体のルーティング方式を決めます。Configでは現在の構成にあるルールに従い、最終的な処理は実際のルールとFINALによって決まります。「特定の種類のサイトはすべて直接接続」と固定されているわけではありません。Proxyはルールの影響を一時的に切り分ける際に使えますが、システムのネットワークやトンネルの処理範囲による制約は受けます。
Config
おすすめ現在の構成ファイルにあるルールに従って処理します。利用前に構成の入手元、ルールの順序、フォールバックのポリシーを確認してください。
適した用途:内容を把握している構成での日常的な振り分け
Proxy
このルーティングの処理対象となるリクエストをプロキシ経由にします。Configと比較し、問題がルールに関係するかを切り分ける際に役立ちます。
適した用途:ノードの一時的な検証、ルーティングのトラブルシューティング
Direct
直接接続し、選択中のプロキシノードを経由しません。「より速いノードを選ぶ」モードではありません。
適した用途:ローカルネットワークから直接アクセスした場合の確認
Scene
設定済みのシーン条件に応じてルーティングを切り替えます。事前にシーンの内容を把握して確認してください。自動で速度を測定して接続先を選ぶ機能ではありません。
適した用途:ネットワークごとに異なる接続条件を設定済みのユーザー
初回の切り分けでは同じノードを固定し、ConfigとProxyそれぞれで同じ対象を開いてください。Configだけで失敗する場合は、まずルールとポリシーを確認します。両方で失敗する場合は、ノード、サーバー、ローカルネットワークを確認してください。詳しくはプロキシモードをご覧ください。
6. ルールを追加したのに反映されないのはなぜ?
構成ファイルの保存、構成ファイルの選択、Global RoutingをConfigに設定することは、それぞれ別の操作です。まずConfigで現在使用中のファイルを確認し、次にGlobal Routingを確認してください。ルールは通常、上から順に照合されます。前方に広い条件のルールがあると、後方の詳細なルールに一致しないことがあります。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
これはルール構文の例であり、アプリのスクリーンショットでも、あらゆるネットワーク要件を満たす完成済みの構成でもありません。DOMAIN-SUFFIXはドメインのサフィックスで照合します。IP-CIDRはIPアドレスの範囲で照合します。GEOIPはIP地理情報データベースを参照します。FINALはそれ以前のルールに一致しなかったリクエストを処理します。この例では、一致しなかったリクエストは自動で直接接続されず、PROXYを使用します。
- 対象リクエストで実際に使われるドメイン名を確認してください。ページ上の画像やAPIは、別のドメインから読み込まれる場合があります。
- 対象のルールより前に一致するルールがないか、また対象のポリシーが残っているかを確認してください。
- 接続ログで実際に適用されたポリシーを確認します。変更後は新たにリクエストを行い、既存の接続が判断に影響しないようにしてください。
no-resolveは、そのIPルールとの照合だけを目的としたドメイン解決を避けるための指定です。アプリ全体のDNSを無効にするものではありません。
7. サブスクリプションはいつ更新しますか?失敗した場合は?
サブスクリプションを更新すると、サービス提供元からノード一覧を再取得します。ノードの追加・削除やパラメータの変更が反映されることがあります。クライアントアプリの更新とは別で、ローカルのルールが自動修復されるわけではありません。サービス提供元から接続先の変更が案内された場合や、ノード一覧が古い場合は、まずHomeでリストを下に引いて手動更新してください。更新後は、選択中のノードが引き続き一覧にあるか確認します。
更新がタイムアウトし続ける場合、まず何を確認すればよいですか?
まずローカルネットワークが正常か確認してから、Homeでリストを下に引いて再度更新します。サブスクリプションURLへのアクセスにプロキシが必要な場合は、先に利用可能な接続を確保し、Settings → Subscribe → Update via Proxyを確認してください。利用可能なノードがない状態では、この項目だけをオンにしても接続経路は確立できません。
401や403が表示されます。プロトコルの選択を間違えていますか?
この種のHTTPステータスは、通常、認証またはアクセス制限に関係します。URLが完全か、トークンがリセットされていないかを確認し、サブスクリプションの利用権限についてサービス提供元に問い合わせてください。サブスクリプションのリクエストエラーを解決するために、ノードのプロトコルを繰り返し変更しないでください。
更新後にノードがいくつか減りました。元に戻せますか?
まず、サブスクリプションから現在返されている一覧を確認してください。サービス提供元が古いノードを削除した可能性があります。更新しても利用できなくなった接続先は保持されません。古いパラメータを手動でコピーして使えると判断せず、変更内容をサービス提供元に確認してください。
自動更新する場合は、Settings → Subscribeで、アプリ起動時の更新に関する項目を確認してください。有効にしても、ネットワークの到達性、認証、サーバーからの応答に左右されるため、更新結果の確認は必要です。
接続済みなのにウェブページが開かない場合は?
「ローカルネットワーク → ノード → ルーティング → DNS」の順に確認し、1回に変更する項目は1つにしてください。遅延テストに応答があっても、ウェブページの表示に成功するとは限りません。ページの表示には、ドメイン解決、プロキシ認証、TLSハンドシェイク、コンテンツ転送が必要です。
- 接続を切り、通常は直接アクセスできるページをローカルネットワークから開けるか確認してください。ここでも失敗する場合は、Wi-Fi、モバイル通信、ネットワークのログインページを先に確認します。
- 再接続し、同じ対象を固定してProxyでテストします。次に、サブスクリプション内の別の既存ノードに切り替えて比較します。
- Proxyでは正常でConfigでは異常が起きる場合、Configに戻って一致したルールとポリシーを確認してください。すぐにアプリを再インストールする必要はありません。
- ドメイン解決エラーが発生した場合は、現在のDNS設定を記録してください。変更前にバックアップし、一度に1項目だけ調整してからリクエストを再実行します。
「同じノード、同じ対象、接続したネットワーク、Global Routingの設定、具体的なエラー」を記録すると、単に「使えない」と説明するより原因を特定しやすくなります。確認手順の全体像はトラブルシューティングガイドをご覧ください。
9. 切断後に再接続するのはなぜ?On Demandは有効にすべき?
On Demandは条件に応じて接続を開始する機能で、ノードを選別する機能でもルールに基づいて振り分ける機能でもありません。自動再接続を切り分けるには、まずSettings → On Demandを開き、自動接続の条件が有効か確認してください。システム側に別のVPN自動接続設定がないかも確認します。
- 初期設定中:まず手動で接続し、ノード、Global Routing、ルールが想定どおりか確認します。
- ネットワーク条件に応じて接続する場合:その後On Demandを設定し、対象のWi-Fi、ほかのWi-Fi、モバイル通信でそれぞれ動作を確認します。
- 完全に停止する場合:一時的にOn DemandをオフにしてからHomeに戻り、接続スイッチをオフにします。再接続されるか確認してください。
「自動接続できる」ことと「すべての接続先にアクセスできる」ことは別です。条件が正しくても、ノードの停止、サブスクリプションの期限切れ、ルールの不一致によってリクエストに影響が出る場合があります。自動化は手動での確認を終えてから設定してください。
10. 機種やプラットフォームを変えても、設定はそのまま使えますか?
アプリの入手資格、構成データ、サービス提供元が許可するデバイス数は、別々に考える必要があります。iPhone / iPadで購入したアプリは、App Storeアカウントの条件を満たすデバイスで再ダウンロードできます。ただし、サブスクリプションが自動で表示されるわけではなく、サービス提供元が無制限の同時接続を許可するわけでもありません。
移行手順:認証情報を準備してから接続を確認する
iPhoneとiPadの間で移行する場合
- App Storeで購入資格のあるアカウントを使用していることを確認します。
- サブスクリプションを再度追加するか、実際に利用できるバックアップと同期の結果を確認します。
- Configで構成を確認し、続けてGlobal RoutingとOn Demandを確認します。
ほかのプラットフォームへ移行する場合
- 当サイトのダウンロードページからMac、Windows、Android、Linux版を選択します。
- サブスクリプションの形式と構成項目が、移行先のプラットフォームでサポートされているか確認します。
- まず1つのノードで接続を確認し、その後ルールと自動接続の設定を1つずつ戻します。
移行後は必要なバックアップを保管し、新しいデバイスが正常に動作することを確認してから、古いデバイスにある機密性の高いサブスクリプション情報を削除してください。
同じサブスクリプションを複数のデバイスで使えるか、同時に接続できるかは、サービス提供元のアカウント規則によって異なります。構成をコピーしても、接続権限が増えるわけではありません。また、移行先のプラットフォームですべてのメニューの位置、システム権限、自動接続の動作が同じとは限りません。