この記事は、利用中のサービス提供元からサブスクリプションや接続情報を入手済みの方向けです。まずノードサブスクリプション、リモート設定、個別の共有リンクを区別し、Subscribe、Add Server、QRコード、クリップボードのいずれかから読み込みます。最後に更新結果、接続テスト、Global Routingを確認し、実際に利用できる状態かを確かめます。以下ではiPhone / iPadのHome、Config、Settings画面を例に説明します。他のプラットフォームでは対応する入口を確認してください。
まず内容を確認:サブスクリプションURLと設定ファイルは別物
Shadowrocketの読み込み入口は、それぞれ扱う内容が異なります。ノードサブスクリプションはサーバー情報をまとめて取得・更新するもの、リモート設定は通常、ルールや全般的な設定を含むもの、個別の共有リンクは特定のサーバーを示すものです。どれも文字列に見えても、同じ入口で読み込めるとは限りません。
サブスクリプションリンクは利用中のサービス提供元から入手してください。アカウントのログインページ、購入履歴ページ、ウェブページの説明文をサブスクリプションURLとして使わないでください。HTTPやHTTPSは通信方式を示すだけで、応答内容が読み込み可能であることを保証しません。サービス提供元が案内するデータ形式も確認してください。
| 受け取った内容 | 使用する入口 | 読み込み後の内容 |
|---|---|---|
| サービス提供元が発行したノードサブスクリプションURL | Home → + → Type → Subscribe | サブスクリプショングループとサーバー情報 |
| リモート設定URL | Configの追加入口。Subscribeではリモート設定のサブスクリプションを管理 | Configで選択して使用できる設定 |
| サーバーアドレス、ポート、認証情報 | Home → + → Add Serverの編集画面 | 手動で追加したサーバー情報1件 |
| プロトコルの共有リンク1件またはQRコード | QRコード読み込み、またはクリップボードからの読み込み | リンクから解析されたサーバー情報 |
リンクがhttps://example.com/sub?token=xxxxの場合、疑問符以降のパラメーターも含め、行全体がURLです。このURLは形式の例であり、接続には使えません。実際のサブスクリプションに含まれるtokenはアクセス認証情報です。公開スクリーンショットやチャット、問い合わせ内容に載せないでください。
Subscribe:HomeとConfigで扱うサブスクリプションの違い
サーバーをまとめて追加するには、Homeの追加入口を使います。TypeでSubscribeを選び、サービス提供元から入手したサブスクリプションURLを入力してください。保存後、サブスクリプショングループが作成され、その中にサーバー情報が表示されるか確認します。グループ名だけが表示され、サーバー情報がない場合は、取得に失敗したか応答内容を解析できていない可能性があります。読み込みが完了したとは判断できません。
ConfigのSubscribeはリモート設定のサブスクリプション用です。Homeでサーバーを読み込むSubscribeとは、扱う内容が異なります。リモート設定を使う場合は、Configの追加入口で設定URLを入力してダウンロードし、該当する設定を選択します。Subscribeでは、この種の設定サブスクリプションを確認・管理できます。任意のノードサブスクリプションURLをConfigに入力しても、完全なルール設定が自動生成されるわけではありません。
-
URLを確認する
利用中のサービス提供元からノードサブスクリプションURLを入手し、ログインページではないことを確認します。コピー時は
?、&、=と、それ以降のパラメーターも含めてください。 -
種類を選ぶ
Home → +を開き、Add Serverの編集画面にあるTypeでSubscribeを選択します。前回の手動追加で選んだプロトコルのままにしないでください。
-
URLを入力する
URL欄に完全なアドレスを貼り付け、見分けやすいメモを入力して保存します。名前は画面上の表示だけに使われ、URLや認証情報は変更されません。
-
サーバー情報を確認する
Homeに戻り、初回の取得が終わるまで待ちます。必要に応じて下に引っ張って更新し、サブスクリプション内にサーバー情報が表示されるか、件数がサービス提供元の案内と一致するか確認してください。
-
サブスクリプションを維持する
以後は追加済みのサブスクリプショングループを更新し、同じURLを毎回登録し直さないでください。更新によってサーバー情報が置き換わる場合があり、個別に加えた一時的な変更は維持されないことがあります。
設定とサーバーは別々に確認してください。ノードサブスクリプションの取得に成功しても、Configに必要なルールがあるとは限りません。リモート設定をダウンロードできても、Homeに利用可能なサーバーがあるとは限りません。設定には[General]や[Rule]などのセクションが含まれることがあります。接続情報が含まれるかどうかは実際の内容で確認し、.confという拡張子だけで判断しないでください。
Add Server:プロトコルに合わせて接続情報を手動入力
サーバー情報はあるもののサブスクリプションURLがない場合は、Home → +からAdd Serverを開きます。最初にTypeを選び、アドレス、ポート、認証情報を順に入力してください。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは必要な項目が異なります。どれもプロキシ接続に使えるからといって、同じ情報を異なるTypeにそのまま入力しないでください。
たとえばVLESSではUUIDをユーザー識別子として使うことが多く、TrojanではPasswordを使います。TLSを有効にする場合は、サービス提供元が指定するサーバー名、証明書、トランスポート設定も確認してください。アドレスにはドメイン名を指定できます。ポートにはサービス提供元が指定した整数を入力します。例にある443はポート番号の一例で、すべてのプロトコルに共通する既定値ではありません。
接続情報を確認する
- Type
- サービス提供元が指定したプロトコルと一致
- Address
- server.example.com(例)
- Port
- 443(ポート番号の例)
- 認証
- プロトコルに応じてUUIDやPasswordなどを入力
Addressには通常、ウェブページのパスを入力しません。HTTPSのサブスクリプションURL全体をサーバーのドメインとして入力しないでください。
トランスポート設定を確認する
- TLS
- サービス提供元の指定に合わせて有効・無効を設定
- サーバー名
- サービス提供元が指定するTLS名と一致
- トランスポート方式
- サーバー側の設定と一致
- 追加パラメーター
- Path、Hostなどの項目を指定どおりに確認
画面には選択したプロトコルで必要な項目だけを入力してください。パラメーターの確認を省くために証明書の検証を無効にしないでください。
手動で追加した情報には、その時点の接続情報だけが保存され、サービス提供元による後日の変更は自動反映されません。サーバーのドメイン、ポート、認証情報が変わった場合は編集し直してください。同じサーバー情報を既存のサブスクリプションから取得できる場合は、サブスクリプションを更新し、内容の異なる情報を二重に管理しないようにしましょう。
QRコード:含まれる内容に応じて読み込まれる
QRコードの読み込み入口はHome上部のスキャンアイコンです。初回はカメラへのアクセスを許可してください。カメラを起動できない場合は、システム設定でShadowrocketのカメラ権限を確認します。読み取り時はQRコード全体が画面に収まるようにし、端を隠したり中央だけを切り取ったりしないでください。
QRコードは文字列を格納するもので、必ずしもサブスクリプションを表すわけではありません。ss://、vmess://、vless://、trojan://で始まる個別の共有リンクや、HTTPSのURLが含まれている場合があります。認識後は読み込み画面の案内を確認し、サーバー情報1件として読み込むのか、サブスクリプションURLとして扱うのかを判断してください。
- 読み取り結果が表示されない:画像の鮮明さ、反射、切り取り範囲を確認します。画面の明るさを上げて再度読み取るか、サービス提供元に元のテキストリンクを送ってもらってください。
- 通常のウェブページが認識された:QRコードには説明ページやアカウントページのURLが含まれている可能性があります。ノードサブスクリプションとして保存しないでください。
- サーバー情報は表示されるが項目が不足している:QRコード全体を読み取れているか、リンクが途中で切れていないか、プロトコル情報が正しく解析されたかを確認します。
- QRコードが同じ端末の画面に表示されている:スキャン画面に写真ライブラリから読み込む入口があれば利用してください。または元のリンクをコピーしてクリップボードから読み込めば、画面を撮影する必要はありません。
サービス提供元がQRコードを変更しても、すでに手動で読み込んだ情報は自動更新されません。サーバー一覧を継続して同期するには、サービス提供元のサブスクリプションURLを使います。一度のQRコード読み込みは、継続的な更新手段にはなりません。
クリップボード:説明文全体ではなく、リンクをコピー
プロトコルの共有リンクをコピーしてHomeに戻り、クリップボードから読み込む案内が表示されるか確認します。追加メニューにクリップボードから読み込む項目がある場合は、そちらも使えます。貼り付けの許可を求められたら、今回の読み取りを許可してください。案内が表示されない場合は、クリップボードにリンクのテキストが残っていることを確認してから、該当する読み込み入口を開き直します。
共有リンクは、ss://、vmess://、vless://、trojan://などのプロトコル名で始まります。エンコードされた内容、パーセントエンコード、クエリパラメーターもリンクの一部です。自分でデコードしたり、削除したり、日本語の句読点に置き換えたりしないでください。サーバーのドメイン名だけでは、完全な共有リンクになりません。
HTTPSのサブスクリプションURLをコピーした場合は、Home → + → Type → Subscribeから読み込むと、内容の種類を確認しやすくなります。共有リンクを複数コピーするときは、1行に1件ずつ記載し、箇条書き記号、引用符、説明文を取り除いてください。読み込み後は各項目の名前と接続情報を確認します。クリップボードの読み込み失敗は読み込み時の問題であり、プロキシ接続の成否とは関係ありません。
読み込み後の確認:更新、接続テスト、ルーティングの順に確認
読み込みに成功したという表示は、内容が保存または解析されたことを示すだけで、接続先のサーバーに到達できるとは限りません。Homeに戻ってサーバー情報を1件選び、Connectivity Testを実行してから接続を開始します。初回接続時は、システムの案内に従ってVPN構成の追加を許可してください。テストで応答があっても、そのテスト経路が使えることを示すだけです。接続先を使って実際に確認してください。
- 選択中の項目を確認:以前保存したサーバー情報ではなく、今回読み込んだグループ内の項目が選択されていることを確認してください。
- Global Routingを確認:Proxyは通信をプロキシ経由で処理し、Directは直接接続します。Configでは選択した設定に基づいてルーティングし、Sceneでは定義済みのシーン設定に従って動作します。Directでウェブページにアクセスできても、プロキシ接続が確認できたことにはなりません。
- Configを確認:Configでルーティングする場合は、想定した設定が選択されていることを確認します。ルールは上から順に評価されます。たとえば
DOMAIN-SUFFIX,example.com,DIRECTは該当ドメインをDIRECTに振り分け、FINALは他のルールに一致しない通信の処理に使われます。 - 自動接続を確認:Settings → On Demandでは、条件に応じて接続を開始する動作を管理します。サブスクリプションのダウンロードや、誤ったサーバー情報の修正は行いません。手動で問題を調べる間は、現在の接続状態を確認してください。
サブスクリプションの更新とサーバーへの接続は、それぞれ別のネットワークリクエストです。前者はサブスクリプションURLの期限切れ、後者は個々のサーバーに到達できないことが原因で失敗する場合があります。調査時には、エラーメッセージ、発生した手順、利用中のネットワーク種別を記録してください。「読み込みに失敗」「使えない」といった原因を特定できない記録だけでは不十分です。
よくあるエラー:失敗した段階に応じて対処
サブスクリプションの更新がタイムアウトしたら、まず何を確認する?
まず、現在のWi-Fiまたはモバイル通信でインターネットに接続できることを確認し、Homeでサブスクリプションを更新します。既存の利用可能なプロキシ経由でサブスクリプションURLにアクセスする必要がある場合は、利用可能なサーバーに接続してからSettings → SubscribeでUpdate via Proxyを確認してください。利用可能なプロキシがない状態でこの項目を有効にしても、接続は作成されません。URLへのアクセス条件をサービス提供元に確認してください。
リンクは開けるのに、解析できないと表示される
応答内容がログインページ、エラーページ、またはサービスの期限切れ通知ではないか確認します。HTTP 200でも、サブスクリプションデータではなくHTMLが返されることがあります。URL全体がコピーされ、tokenが欠けていないことを確認し、Shadowrocketで使えるサブスクリプション形式かサービス提供元に問い合わせてください。ウェブページを設定ファイルとして保存して読み込まないでください。
401または403が表示されたら、追加し直すべき?
この種のステータスコードは、認証やアクセス制限に関係していることがよくあります。まずURLのパラメーターがすべて含まれていることを確認し、サブスクリプションの有効性とアクセス条件に変更がないか調べてください。同じURLを追加し直しても認証の問題は解決しません。サブスクリプションの認証情報が変更された場合は、既存のURLを編集して更新し、新旧のグループが混在しないようにします。
サーバー一覧に表示されるのに、ウェブページが開かないのはなぜ?
Homeで正しいサーバー情報を選択して接続を開始してから、Connectivity Testを実行します。Global RoutingがDirectになっていないか確認してください。Configを使っている場合は、通信がDIRECTまたはREJECTに一致していないか確認します。すべてのサーバー情報で失敗する場合は、ネットワークと認証情報を調べます。1件だけ失敗する場合は、その項目のポート、TLS、トランスポート設定を個別に確認してください。
問い合わせる前に認証情報を隠してください。サブスクリプションURL、QRコード、UUID、Passwordには機密情報が含まれている可能性があります。エラーメッセージ、使用した入口、確認済みの項目だけを共有してください。完全な接続情報の確認が必要な場合は、サービス提供元の非公開サポート窓口を利用し、サブスクリプションの原文を公開しないでください。
Shadowrocketの入手と基本的な使い方
iPhone / iPad版はApp Storeで$2.99の買い切りです。システム要件はApp Storeの掲載内容をご確認ください。Mac(Appleシリコン / Intel)、Windows、Android、Linux版は無料です。ダウンロードページでプラットフォームを選び、クイックスタートガイドに沿って接続を確認してください。
アプリの買い切り料金と接続サービスの料金は別です。この記事では、利用者がサービス提供元とサブスクリプションをすでに用意していることを前提としています。サブスクリプションリンクは利用中のサービス提供元から入手してください。