この記事は、iPhoneやiPadでShadowrocketを初めて設定する方向けです。利用者自身がサービスやサブスクリプションを用意していることを前提に、設定を順番に説明します。まず構成を読み込んで使用する項目を選び、Global Routingを確認してから接続を有効にし、システムによるVPN構成の追加を許可します。接続スイッチ、ルーティングモード、接続テスト、サーバー一覧の違いを把握し、Not Connectedやテストタイムアウト時に確認すべき箇所がわかります。
1. 初回設定の前に:アプリと接続設定を区別する
Shadowrocketをインストールしても、サーバーアドレスや認証情報、利用可能な接続先が自動で設定されるわけではありません。アプリは構成を読み込み、接続を確立してルールを適用します。サーバーアドレスやポート、パスワードなどは、利用者がすでに用意しているサービスから取得してください。HomeのSERVER一覧が空の場合は、接続スイッチを何度も押すのではなく、先に構成を読み込みます。
この記事ではiPhone、iPadの画面を基準に説明します。iPhone / iPad版はApp Storeで$2.99の買い切りです。開発元はShadow Launch Technology Limitedで、システム要件はApp Storeの掲載内容をご確認ください。Mac(Appleシリコン / Intel)、Windows、Android、Linux版は無料です。デバイスに合った入手方法は全プラットフォームのダウンロードページをご覧ください。ほかのプラットフォームでは画面構成が異なるため、この記事の手順をそのまま適用できない場合があります。
「構成」には2つの意味があるため、区別が必要です。システムのVPN構成は、アプリがネットワークトンネルを作成するためのシステム上の設定です。一方、Configの構成ファイルには、ルールやDNSなどの動作設定が含まれます。前者を許可しても、後者が準備されたことにはならず、SERVERに利用可能な項目が追加されるわけでもありません。
2. 初回接続:構成の読み込み、選択、VPNの許可
アプリの初回起動時にVPNの許可画面がすぐ表示されなくても、必ずしも異常ではありません。通常、アプリがVPN構成の作成を要求したときにシステムの確認画面が表示されます。初めて接続を有効にするときに表示されることが一般的です。サーバー情報がない状態で権限の問題を調べないよう、以下の手順を先に済ませてください。
-
ネットワークを確認
接続をオフにしたまま、Safariで普段そのまま開けるページにアクセスします。この時点でアクセスできない場合は、Wi-Fiのログイン、モバイルデータ通信、ルーターの接続を先に確認してください。
-
構成を読み込む
サブスクリプションをお持ちの場合は、Home → 右上の「+」→ Type → Subscribeと進み、URLにご自身のサブスクリプションURLを入力して保存します。サーバーの個別パラメーターだけがある場合は、指定されたプロトコルを選び、資料に記載されたアドレス、ポート、認証情報を入力してください。
-
項目を選択
Homeに戻り、SERVER一覧に項目が表示されていることを確認して、使用するサーバーを選びます。サブスクリプションのグループがあっても中身が空の場合は、更新結果を確認してください。グループ名を接続可能なサーバーと取り違えないようにします。
-
ルーティングを確認
Home → Global Routingを開きます。ルールを含む構成が準備済みの場合はConfigを選択します。ルールがまだなく、プロキシ接続を一時的に確認する場合はProxyを選択できます。Directを選んでも、プロキシ接続の成功確認にはなりません。
-
権限を許可
Home上部の接続スイッチをオンにします。システムからVPN構成の追加を求められたら、アプリの提供元を確認して許可し、必要に応じてデバイス認証を行います。その後Homeに戻り、接続状態を確認してから実際のアクセスをテストしてください。
3. Homeの各項目:スイッチ、一覧、テストの役割
Homeは日常的な接続操作の画面ですが、各項目で確認できる内容は異なります。Not Connectedは、現在接続状態が確立されていないことを示します。サブスクリプションが有効か、サーバーのパスワードが正しいかを示すものではありません。接続状態が変わった後も、必要なサイトやサービスにアクセスできるか、実際にリクエストを送って確認してください。
| 項目 | 役割 | これだけでは判断できないこと |
|---|---|---|
| Not Connected / 接続スイッチ | 現在の接続状態を確認し、トンネルを開始または停止する | すべての接続先へのリクエストがプロキシ経由になるとは限らない |
| Global Routing | 全体のルーティング方法を選択する | サーバー情報を補ったり、ルールファイルの代わりになったりはしない |
| Connectivity Test | 現在のテスト設定で接続性を確認する | 継続的な通信速度、動画の再生状況、すべてのサイトの利用可否を示すものではない |
| SERVER | 登録済みのサーバー項目を表示・選択する | 名前や地域表示だけでは、接続元の場所やサービス品質は判断できない |
SERVERの項目名は、手動入力またはサブスクリプションの内容に由来することが一般的です。名前を変更しても識別用の表示が変わるだけで、サーバーアドレスは変わりません。問題を調べる際は、名前だけで接続先を判断せず、編集画面に表示される実際のアドレスとポートを確認してください。
Connectivity Testの結果は、テスト方法、テスト対象、現在のネットワークに左右されます。遅延時間が表示された場合は、そのテスト条件で応答があったことを示しますが、大容量ファイルのダウンロードが安定するとは限りません。タイムアウトしても、すべてのプロトコル通信が失敗しているとは限りません。テスト結果だけでなく、実際のアクセス状況や接続ログも合わせて確認し、遅延が最小の項目だけで選ばないようにしてください。
4. Global Routing:Config、Proxy、Direct、Scene
Global Routingは、Shadowrocketの処理対象になったリクエストの経路を決めます。システムの接続許可やプロトコルの種類とは別の設定です。同じTrojanやHysteria2の項目でも、ルーティング方法によって処理するリクエストが変わることがあります。ルーティング方法を変更しても、項目のアドレスやパスワードは自動で修正されません。
Config
推奨現在有効な構成のルールに従い、DIRECT、PROXYなど、定義済みのポリシーを選択します。直接接続されるかどうかは一致したルールによって決まり、「一致しないリクエストはすべて直接接続」とは限りません。
適した用途:明確なルール構成があり、接続先ごとに経路を振り分ける日常利用。
Proxy
処理対象のリクエストをプロキシ経由で処理します。ルールが原因で接続先がプロキシを通らないのか、一時的に切り分ける際に利用できます。システム上のすべての通信を処理できるとは限らず、サーバーへの到達性も保証されません。
適した用途:同じサーバーを使い、プロキシ経路とルールの動作を比較する。
Direct
リクエストを直接接続で処理し、選択中のリモートプロキシを経由しません。接続スイッチをオフにする操作とは完全に同じではありません。システムのトンネル状態は別途確認してください。
適した用途:通常のネットワーク接続と比較し、問題がプロキシ経路に関係するかを調べる。
Scene
設定済みのSceneに基づいてルーティングを処理します。使用する前にSceneの条件と関連アクションを確認してください。必要なSceneを設定していない場合は、すべてを自動で判断する既定の選択肢として扱わないでください。
適した用途:Sceneの条件を理解して設定済みで、シーンごとに動作を切り替えたい場合。
初回の切り分けでは、サーバーとネットワークを固定し、変更する要素を1つに絞ります。同じ接続先がProxyでは開けてConfigでは失敗する場合、次に確認するのは対象に一致したルールとポリシーです。すぐにアプリを再インストールする必要はありません。どちらのモードでも失敗する場合は、サーバー情報、基本ネットワーク、サーバー側の状態を確認してください。
5. ConfigとSettings:ルールファイルがあっても自動接続されるとは限らない
Configでは構成ファイルを管理し、Settingsではアプリの設定を管理します。Settings → On Demandでは、システムのオンデマンド接続動作を設定できます。これは「いつ接続を開始するか」を決めるもので、「特定のドメインをどの経路にするか」は決めません。初回設定では、まず手動で接続を確認してから自動接続を設定すると、問題の切り分けが容易になります。
ルールと構成ファイル
- 設定項目
- Config
- 有効化の条件
- 該当する構成を有効にし、対応するルーティング方法を使用する
- 主な内容
- ルール、DNS、その他の構成項目
- 確認するポイント
- ルールの順序、ポリシー名、FINAL
ファイルを読み込んだ後、どの構成が実際に有効になっているか確認してください。
オンデマンド接続設定
- 設定項目
- Settings → On Demand
- 主な用途
- 設定した条件に応じてシステムの接続動作を開始する
- 確認するタイミング
- 手動接続の確認が済んだ後
- 問題の手がかり
- 手動で切断した後に再接続する場合は、オンデマンドルールを確認する
変更後は、実際のWi-Fiまたはモバイル通信環境で動作を確認してください。
以下はルールの最小限の説明用サンプルで、サーバー、認証情報、DNS設定を含む完全な構成ではありません。example.comとそのサブドメインをPROXYに、指定したプライベートアドレス範囲とGEOIPでCNと判定されるアドレスをDIRECTに振り分け、残りのリクエストはFINALで処理します。
[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はアドレス範囲に一致するルールです。例のno-resolveは、このルールのために追加のドメイン解決を行わないことを意味します。GEOIPは、接続先IPアドレスとローカルで使用する地理情報データに基づいて判定します。ドメイン末尾による判定ではありません。FINALは、それ以前のルールに一致しなかったリクエストを処理するため、ルール一覧の最後に配置します。この例の最終処理はPROXYであり、DIRECTではありません。
6. 手動入力とサブスクリプション:2つの準備方法
利用者が用意している情報は、個別のサーバーパラメーターの場合も、サブスクリプションURLの場合もあります。いずれも最終的には選択可能なサーバー項目になりますが、その後の管理方法は異なります。サブスクリプションURLにはアクセス認証情報が含まれることが多いため、画面の共有や問い合わせ、記録のコピー時にはURL全体と認証情報を隠してください。
構成の入手元:個別項目と既存のサブスクリプション
サーバー項目を手動で入力
- Home →「+」→ Typeを開き、資料で指定されたプロトコルを選択します。
- アドレス、ポート、パスワードなどの認証情報を1項目ずつ確認します。
- TLS、SNI、トランスポート方式などの項目は、元のパラメーターに従って入力します。
- サーバー側のパラメーターが変わった場合は、ローカルの項目も更新してください。
既存のサブスクリプションを読み込む
- Home →「+」→ Type → Subscribeを開き、ご自身のURLを入力します。
- 保存して更新が完了したら、グループ内にサーバー項目があるか確認します。
- 更新に失敗した場合は、基本ネットワーク、URLの完全性、認証情報の状態を確認してください。
- サブスクリプションの更新と、Config内のルールファイルの更新は、それぞれ個別に確認してください。
どちらの方法でも、VPN権限を許可しただけで接続可能にはなりません。完全なパラメーター、到達可能なサーバー、正しい項目の選択が必要です。
プロトコルは名称が似ているという理由だけで置き換えないでください。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは、認証方式や通信の構成が異なります。たとえば資料にポート443と記載されている場合は443を入力します。ただし、ポートが443だからといってプロトコルがTrojanであることや、TCPを使用することが決まるわけではありません。Hysteria2はQUICをベースとし、UDPを使用します。UDPが制限されるネットワークでは、同じ番号のTCPポートに変更するだけでなく、ネットワーク条件を確認してください。
7. Not Connectedと「接続中なのに開けない」場合の確認順
問題の切り分けは、システムの状態からアプリの設定へと順に進めます。Not Connected、テストのタイムアウト、接続先ページが開けないことは、それぞれ別の現象です。すべてをVPN権限の問題と決めつけないでください。次の順に確認すれば比較条件を保ち、まだ使える構成を誤って削除することも避けられます。
- 接続を切り、基本ネットワークを確認します。 Safariでも普段そのまま開けるページにアクセスできない場合は、Wi-Fiのポータル認証やモバイルデータ通信を確認してください。最初にルールを変更する必要はありません。
- システムの許可が完了しているか確認します。初回のシステム確認画面でキャンセルした場合は、接続を再度有効にしてみてください。構成が制限されているというメッセージが表示された場合は、デバイス管理の要件を確認します。ステータスバーにVPNと表示されるかどうかだけで、全体の状態を判断しないでください。
- SERVERで選択中の項目を確認します。一覧が空でないことと、検証したいサーバーが選択されていることを確認してください。読み込みが成功しても、正しい項目が自動で選択されるとは限りません。
- サーバー項目を固定してルーティングを確認します。Configで失敗する場合はProxyでの動作と比較してください。Directで通常のページにアクセスできても、その接続先への直接接続が使えることを示すだけで、プロキシが正常とは限りません。
- 次にプロトコルとサーバー情報を確認します。アドレス、ポート、認証情報、SNI、トランスポート方式のいずれかが一致しないと、トンネルが確立しているように見えてもリクエストが失敗する場合があります。
- 最後に自動接続を確認します。手動で切断した後に再接続する場合は、Settings → On Demandで条件を確認し、システム内にあるほかのVPN構成の状態も確認してください。設定同士が干渉することがあります。
正しく設定できたかどうかは、選択中のサーバー、Global Routingのモード、有効なConfigを説明でき、実際のリクエストが想定した経路を通っているかで判断します。接続状態が変化したり、遅延時間が表示されたりしただけでは、確認が完了したとは言えません。
VPN構成の追加を許可した後、サブスクリプションをもう一度読み込む必要がありますか?
VPN構成の許可とサブスクリプションは別のものです。SERVERに必要な項目がすでにあれば、システムの許可を理由に再読み込みする必要はありません。一覧が空でも、許可によって項目が補われるわけではありません。まず一覧を確認してから、読み込みや更新が必要か判断してください。
Connectivity Testの結果が出るのに、ページが開けないのはなぜですか?
テスト対象やリクエスト方法が、実際のページと異なる場合があります。ページによっては別のドメイン、DNS、通信方式も必要です。サーバーを固定し、ProxyとConfigで同じ接続先へのアクセスを比較してから、関連するルールと接続ログを確認してください。
Home画面を離れると、接続は必ず停止しますか?
画面を切り替えたり、システムのホーム画面に戻ったりしても、接続が切れるわけではありません。停止する場合は接続スイッチを使い、システム上の状態も確認してください。On Demandを有効にしている場合は、再接続を開始する条件も確認します。