この記事は、利用中のサービスとサブスクリプションをすでにお持ちで、Shadowrocketを初めて使う方向けです。インストール準備、接続スイッチ、ルーティングモード、設定ルール、サブスクリプションの管理、トラブルシューティングの順に説明します。Home、Config、Settingsの操作はiPhone / iPadの画面を例にしています。ほかのプラットフォームではメニューの配置が異なる場合があります。設定から実際の通信まで、順番に確認する方法を把握できます。
1. インストール後、初回接続までに何を準備すればよいですか?
アプリをインストールしただけでは、接続先のサーバーを利用できる状態にはなりません。Shadowrocketは、接続情報を読み込み、接続を確立してルーティングルールを適用するクローズドソースの商用アプリです。初回利用時には、お手元のサブスクリプションURLまたは個別の接続設定を用意し、利用期限内であることを確認してください。本サイトではノードやサブスクリプションの提供・販売・推奨はしていません。
入手方法は2種類です。iPhone / iPad版はApp Storeから2.99ドルの買い切りで入手できます。開発元はShadow Launch Technology Limitedです。システム要件はApp Storeの掲載内容をご確認ください。Mac(Appleシリコン / Intel)、Windows、Android、Linux版は無料です。各プラットフォームの入手方法はダウンロードページをご覧ください。アプリの料金に通信サービスの利用料は含まれません。
-
設定を準備する
利用中のサービスでサブスクリプションURL、有効期限、利用可能なデバイス数を確認してください。URLに含まれるtokenは認証情報です。公開の掲示板などに貼り付けないでください。
-
サブスクリプションを追加する
Home → 右上の「+」→ Type → Subscribeを開き、URLにお手元のサブスクリプションURLを入力して保存します。
-
接続先を選ぶ
Homeに戻り、サブスクリプションの読み込み後に項目が表示されていることを確認し、既存のノードを選択します。サブスクリプション名だけでノード一覧が表示されない場合は、取得結果を確認してください。
-
接続を許可する
Homeの接続スイッチをオンにします。iPhone / iPadで初めてVPN構成の追加を求められた場合は、内容を確認して許可し、システムの認証を完了してください。
2. Homeのスイッチがオンにならない、またはすぐオフになる場合は?
「システムが接続を許可していない状態」と「接続は確立したが通信に失敗している状態」を切り分けましょう。前者ではスイッチがオンのままにならないことが多く、後者ではVPN接続中と表示される場合があります。VPNの表示はシステム上の接続状態を示すもので、選択したリモートノードが利用可能であることを保証するものではありません。
- 選択できる項目がない:Homeに戻って読み込み結果を確認し、サブスクリプション名だけでなく、設定が最後まで追加されているか確認してください。
- 初回の許可をキャンセルした:接続スイッチをもう一度オンにして、システムの確認画面に対応してください。組織管理下のデバイスでは、管理ポリシーによってVPN構成が制限されていないか確認し、システム設定を何度も削除しないでください。
- 接続が競合している:システムのVPN接続を使用中のほかのアプリをいったん切断し、Shadowrocketだけでテストしてください。
- スイッチがオンのまま:ノードへの接続、Global Routing、DNSを確認してください。許可の問題として調べ続ける必要はありません。
3. Global RoutingのConfig、Proxy、Direct、Sceneはどう選ぶ?
Global Routingでは、現在のリクエストに適用するルーティング方式を選択します。有効なルール設定を使っている場合、通常はConfigを選びます。特定のリクエストがルールの影響を受けているか調べるときは、一時的にProxyへ切り替えて比較できます。切り替える前に元の設定を記録し、テスト後に戻してください。
Config
おすすめ現在有効なConfigとそのルールに従って、適用するポリシーを選びます。DIRECT、PROXY、その他の設定済みポリシーが適用されます。ルールに一致しないリクエストがすべて自動で直接接続されるわけではなく、最終的な動作はフォールバックルールによって決まります。
おすすめの用途:有効なルール設定を使った日常的な利用。
Proxy
クライアントが処理するリクエストを、まとめてプロキシ経由で転送します。Config内の通常の振り分けルールに従って経路を選ぶ方式ではありません。利用できないノードが復旧するわけではなく、サーバーがすべての通信に対応することを示すものでもありません。
おすすめの用途:ルールによる振り分けとプロキシ接続の結果を一時的に比較する場合。
Direct
クライアントが処理するリクエストを、選択したリモートプロキシを経由せず直接接続します。接続スイッチをオフにする操作とは異なり、クライアントは動作中のままの場合があります。
おすすめの用途:現在のネットワークで直接アクセスできるか確認する場合。
Scene
設定済みのシーン条件に応じて、対応するルーティング設定を適用します。あらかじめSceneを設定しておく必要があり、自動で最速のノードを選ぶモードではありません。
おすすめの用途:ネットワークごとに異なるSceneを設定済みの場合。
4. ConfigとRuleの違いは?どちらを編集すれば反映されますか?
Configは設定ファイルとその管理画面、RuleはConfig内に記述された照合ルールです。Homeに保存したノード情報は「どこに、どのプロトコルで接続するか」を決め、Config内のルールは「リクエストをどの経路に送るか」を決めます。サブスクリプションの追加に成功しても、ルーティング設定が揃っているとは限りません。
Global RoutingでConfigを選んでいる場合、Configで実際に有効になっているファイルを確認してから、そのルールを編集してください。無効なファイルを変更しても、現在のリクエストの経路は変わりません。ルールは通常、上から順に照合されるため、具体的な例外は範囲の広いルールより前に配置します。
[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX:指定したドメインのサフィックスに一致します。ここでのexample.comは構文の例であり、そのままインポートできるルールセットではありません。IP-CIDR:IPアドレスの範囲に一致します。例のno-resolveは、このIPルールのために追加のドメイン解決を行わないことを示します。GEOIP:IPアドレスの地理情報データベースに基づいて照合します。国コードをWebサイトの表示言語と同じ意味に捉えないでください。FINAL:それ以前のルールに一致しなかったリクエストを受け取ります。この例ではPROXYに送るため、「残りはすべて直接接続」とは限りません。
5. サブスクリプションURLと個別の共有リンクは、どう見分けて追加しますか?
個別の共有リンクは通常、ss://、vmess://、vless://、trojan://で始まり、1つの接続設定を表します。サブスクリプションURLは通常HTTPまたはHTTPSのURLで、取得すると複数の接続設定が返され、後から更新できます。URLが長いというだけでサブスクリプションと判断しないでください。
設定の入手元に合わせて追加方法を選ぶ
サブスクリプションURLがある場合
- Home →「+」→ Type → Subscribeを選びます。
- 完全なURLを入力し、クエリパラメーターもそのまま残してください。
- 保存後、ノードの項目が実際に追加されたことを確認します。
- 次回以降はこのサブスクリプションを更新し、接続情報を1件ずつ編集しないでください。
個別の共有リンクがある場合
- リンクから追加するか、お手元の設定用QRコードをスキャンします。
- 追加後、Type、サーバーアドレス、ポートを確認します。
- TLSやトランスポート方式などの設定が、入手元の情報と一致していることを確認します。
- 個別に追加した接続設定が、定期更新できるサブスクリプションに変わるわけではありません。
リンクには設定情報や認証情報が含まれる場合があります。追加前に入手元を確認し、トラブルシューティングで共有する際は機密情報を伏せてください。
6. サブスクリプションの更新方法と、失敗したときの確認事項
サブスクリプションの更新では、リモートから接続設定の一覧を再取得します。クライアントアプリの更新ではなく、現在のConfigのルールファイルも必ず更新されるわけではありません。Homeで更新したら、ノード一覧と結果メッセージを確認してください。更新に成功しても、すべてのノードに接続できるとは限りません。
- Homeに戻り、対象のサブスクリプションを更新します。下に引いて更新する場合は、現在の画面でどのサブスクリプションが更新されるのか、結果メッセージとあわせて確認してください。
- タイムアウトが表示された場合は、現在のネットワークからサブスクリプションURLにアクセスできるか確認してください。URLの期限切れ、tokenの失効、ネットワークのタイムアウトはそれぞれ異なる問題です。
- 利用可能なプロキシがあり、そのサブスクリプションの取得にプロキシが必要な場合に限り、Settings → SubscribeでUpdate via Proxyを確認してから再試行してください。
- 更新に成功したら、選択中のノードをもう一度確認してください。サーバー側で古い項目が削除されたり、名前が変更されたりする場合があります。以前の表示位置だけで選択結果を判断しないでください。
7. 遅延の数値が小さいのにWebページが開かないのはなぜ?
遅延テストの結果は、特定の測定方法、接続先、その時点のネットワーク状況を反映したものです。ダウンロード速度を示す数値ではなく、すべてのWebサイトにアクセスできる保証でもありません。たとえば80 msと表示されても、そのテスト時点の参考値にすぎません。ファイルのダウンロード速度に換算したり、実際のページ読み込みの代わりにしたりすることはできません。
- 条件を固定する:同じノード、同じWebページを使い、現在のGlobal Routingを記録してからモードを比較します。ノードとConfigを同時に変更しないでください。
- 実際に適用されたルールを確認する:利用可能なリクエスト履歴やログで対象ドメイン、適用ルール、最終ポリシーを確認し、リクエストが誤った経路に送られていないか調べます。
- 名前解決の失敗を切り分ける:ドメイン解決エラーが出る場合は、DNS設定と名前解決リクエストの到達性を確認してください。すべてのルールを先にPROXYへ変更するのは避けてください。
- 特定サイトだけの問題か確認する:1つのサイトだけ開けない場合は、対象サイトと認証状態を確認します。すべてのサイトで失敗する場合は、ノード、ネットワーク、ルーティングを調べてください。
「WebページのURL、エラーメッセージ、ネットワークの種類、モード、再現するかどうか」を記録すると、遅延の数値だけを記録するより原因を特定しやすくなります。詳しい確認手順は接続トラブルシューティングをご覧ください。
8. Settings → On Demandとは?オフにしたのに再接続するのはなぜ?
On Demandは、指定した条件に応じてシステムに接続の確立を要求する機能です。接続を開始する条件を設定します。一方、Global Routingは接続後の通信経路を決めるため、役割が異なります。On Demandを有効にしても、すべての通信がプロキシ経由になるわけではなく、サーバー側の有効期限も変わりません。
- Settings → On Demandを開き、有効になっているか確認してから、設定済みの接続条件を確認してください。
- 手動で切断した後に再接続する場合は、まずOn Demandを一時停止し、その後Homeのスイッチをオフにして再接続するか観察します。
- 特定のWi-Fiやネットワークの切り替え後に問題が起きる場合は、そのときのネットワーク状況を記録し、設定済みの接続条件と1つずつ照らし合わせてください。
- 手動接続が安定してから自動接続を再開してください。変更は一度に1項目ずつ行い、Wi-Fiとモバイル通信を別々にテストします。
一度切断しただけでOn Demand、Scene、Configを同時に変更しないでください。自動接続の条件とリクエストの経路を分けて確認すれば、どの設定が動作に影響したか把握できます。
9. Shadowsocks、VMess、VLESS、Trojanなどのプロトコルは自分で変更する必要がありますか?
プロトコルは、お手元のサーバー設定と一致させる必要があります。「速度を上げるため」にクライアントのTypeだけを変更しないでください。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは認証情報や通信方式が異なります。同じアドレスとポートでも、プロトコルを入れ替えて使えるとは限りません。
- Shadowsocks:暗号化方式とパスワードを確認してください。ほかのプロトコルのUUIDをそのまま入力しても、同じように接続できるわけではありません。
- VMess / VLESS:それぞれの認証情報に加え、設定の入手元で指定された通信方式、パス、TLS設定を確認してください。
- Trojan:パスワードとTLS関連の項目を確認してください。接続先アドレスと証明書検証に使う名前は異なる場合があるため、元の設定に従って入力します。
- Hysteria2:UDP通信が到達可能である必要があります。TCPでWebページを開けても、Hysteria2の通信経路が利用できるとは限りません。
- WireGuard:鍵、ピア、アドレスなどの設定が必要です。サーバー名を1つ入力するだけでは設定できません。
10. デバイスの変更、LAN接続、問い合わせの前に確認すること
再現可能な確認結果を記録してから、デバイスの移行や一部のネットワークアクセスの問題に対応しましょう。設定の同期、サーバー側のデバイス数制限、現在のネットワークのアクセス権はそれぞれ別の要素です。同じサブスクリプションを別のデバイスに追加しても、サーバー側で同時接続数が増えるとは限りません。
Macに移行するとき、どの設定をやり直せばよいですか?
まずダウンロードページでAppleシリコン版またはIntel版を選び、お手元の設定をインポートしてください。サーバーで許可されているデバイス数も確認しましょう。iPhoneのシステムVPN許可、On Demandの条件、ローカルファイルがMacへ自動的に移行するとは限りません。
接続後にプリンターやNASが見つからない場合は?
まず同じLANに接続されていることを確認し、Configで対象のネットワーク範囲が想定どおりDIRECTに設定されているか調べます。NASのLAN内IPアドレスで接続を試すと、IPアドレスへの到達性と名前によるデバイス検出の問題を切り分けられます。IPアドレスで接続できても、ブロードキャストによる検出が正常に動作するとは限りません。
問い合わせるとき、どの情報を伝えればよいですか?
OSのプラットフォーム、Homeのスイッチ状態、Global Routingの選択肢、エラーメッセージ、再現手順を伝えてください。ログを共有する場合は、サブスクリプションのtoken、パスワード、UUID、鍵を隠します。問題がサブスクリプションの取得、接続の確立、特定のWebページへのリクエストのどの段階で発生するかも説明してください。
初回のトラブルシューティングは「設定の有効性 → システムの許可 → ノードへの到達性 → ルールの適用 → DNSと接続先へのリクエスト」の順に進めます。一度に変更するのは1項目にし、結果を確認してから次に進んでください。