この記事は、利用するサービスのサブスクリプションまたは接続情報をすでにお持ちの方を対象としています。まずHomeのサーバーサブスクリプションとConfigの構成サブスクリプションを区別し、URL、接続情報、QRコード、クリップボードのいずれか適切な方法で追加します。追加後は一覧、更新結果、Global Routingを確認してください。QRコードやクリップボードは情報を受け渡す手段であり、単一の接続情報が自動的に更新可能なサブスクリプションになるわけではありません。
追加前に確認すること:アプリと接続情報
ShadowrocketはAppleプラットフォーム向けのクローズドソースの有料アプリです。主にiPhoneとiPadで利用できます。入手先はApp Storeのみです。購入前に、製品名がShadowrocketであること、デベロッパがShadow Launch Technology Limitedであること、製品ページのアプリIDが932747118であることを確認してください。システム要件はApp Storeの製品ページをご確認ください。
アプリは買い切りです。アプリの購入と接続サービスの契約は別です。この記事は、ご自身で利用するサービスとサブスクリプションをすでにお持ちであることを前提としています。当サイトでは接続先やサブスクリプションの提供・販売・推奨は行っていません。アプリの購入後、ご自身に利用権限のある接続情報を追加してください。
- サブスクリプションURL:通常はHTTPSアドレスで、アクセスするとアカウント管理ページではなく、クライアントが読み込めるサーバー一覧が返されます。
- 単一の共有リンク:
ss://、vmess://、vless://、trojan://などで始まり、通常は1つの接続情報を表します。 - 手動設定に必要な情報:少なくともType、Address、Portと、該当する認証情報を確認します。TLS、SNI、トランスポート方式などもサーバー側の設定と一致させてください。
- 構成ファイルのURL:ルール、DNS、ポリシーなどの設定を読み込むためのものです。HTTPSで始まるという理由だけで、サーバーサブスクリプションと判断しないでください。
Subscribe:HomeとConfigの用途を区別する
混同しやすいのは、Subscribeが指す対象です。サーバー一覧をまとめて追加する場合は、Home → + → Add Server → Type → Subscribeを選択します。ConfigのSubscribeは、リモート構成を購読するための項目です。どちらもURLを入力できますが、取得する内容と保存先は異なります。
サーバーサブスクリプションを受け取った場合、ConfigにもSubscribeがあるからといって、そこへそのまま入力しないでください。反対に、[General]や[Rule]などのセクションを含む構成ファイル全体を、通常のサーバー一覧として追加することもできません。まず案内資料を確認してください。取得できる内容がわからない場合は、利用中のサービス提供元に問い合わせましょう。入口を何度も変えて推測するのは避けてください。
-
追加画面を開く
Homeを開き、右上の「+」をタップしてAdd Serverへ進みます。ここでは接続情報を管理します。Configでルールファイルを選ぶ画面ではありません。
-
種類を選択する
TypeをタップしてSubscribeを選び、ご自身のサブスクリプションURLを省略せずに入力します。クエリパラメータ、大文字・小文字、パーセントエンコードはそのまま保持してください。
-
名前を付けて保存する
見分けやすい名前を入力し、右上のDoneをタップします。Homeに戻り、サブスクリプションのグループと、展開後のサーバー一覧を確認してください。
-
更新する
Homeで下に引いて更新し、リクエストの完了を待ちます。グループは表示されるのに中身が空の場合は、すぐに同じURLを追加し直さず、まずリクエストと解析結果を確認してください。
ConfigのSubscribeを使うのはどんなとき?
資料にShadowrocket用のリモート構成と明記されている場合は、Configを開き、リモート構成を追加するメニューからSubscribeを選んでURLを入力します。保存後、Configの一覧に追加されていることを確認し、該当する構成を選択してください。画面のレイアウトによって追加メニューの位置は異なることがあります。HomeのTypeフォームを探すのではなく、Subscribeの表示を目印にしてください。
- Configに新しいファイルが追加され、Homeにサーバーが増えない場合でも、必ずしも失敗ではありません。読み込んだものがルールのみの構成である可能性があります。
- リモート構成にはDNS、ルール、ポリシー参照が含まれることがあります。適用前に提供元と内容を確認し、調整済みの設定が上書きされないようにしてください。
- サーバーサブスクリプションの更新とリモート構成の更新は別々の操作です。一方を完了しても、もう一方が更新されたことにはなりません。
Add Serverに手入力:接続情報から個別に登録する
Address、Port、Passwordなどの情報だけがあり、サブスクリプションURLがない場合は、Home → + → Add Serverで実際のプロトコルを選び、項目ごとに入力します。手動で追加した接続は単独のサーバー項目です。サーバー側の設定が変わった場合は通常、自分で修正する必要があり、サブスクリプション一覧のように自動同期されることはありません。
アドレスと認証情報
- Type
- 手元の情報に記載された実際のプロトコルを選択します。
- Address
- サーバーのドメイン名またはIPアドレスを入力します。https://やウェブページのパスは付けません。
- Port
- サーバー側で指定されたポートを入力します。たとえば、情報に443と明記されている場合に限り、443を入力してください。
- Password
- 記載どおりに入力し、前後の空白や改行が入らないようにしてください。
443は一般的なポートの例にすぎません。実際のサーバー情報の代わりにはなりません。
プロトコル固有の設定
- SNI
- サーバー側の指定に従い、TLSハンドシェイクで使用するドメイン名を入力します。
- UUID
- VMessやVLESSなどの認証情報です。共通のPasswordとして扱わないでください。
- Method
- Shadowsocksの暗号化方式を指定します。サーバー側の設定と一致させてください。
- Transport
- WebSocketなどが指定されている場合は、PathとHostも確認してください。
フォームの項目はTypeによって変わります。異なるプロトコルの設定一式を流用しないでください。
Trojanを例にすると、Addressが名前解決でき、Portで接続できても、認証とTLS検証に成功したとは限りません。資料でSNIが指定されている場合は、その値を入力してください。サブスクリプションURLのドメインをサーバーのAddressと取り違えないようにし、SNIや証明書の不一致を隠すために証明書検証を緩めることも避けてください。
- 必要な情報を入力して保存し、Homeで名前とTypeを確認します。
- 追加した項目を選択してから接続スイッチをオンにします。初回はシステムの案内に従い、VPN構成の追加を許可してください。
- 接続できない場合は、Address、Port、認証情報、TLS・トランスポート設定の順に確認します。原因を特定しやすくするため、一度に変更する項目は1つにしてください。
QRコードから追加:読み込む内容によって結果が変わる
QRコードはテキストを伝える手段であり、独立したプロトコルではありません。HomeでQRコードの読み取り画面を開き、ご自身の接続情報を含むQRコードを読み取ります。システムの案内が表示されたら、カメラへのアクセスを許可してください。読み取り後、解析されたTypeと名前を確認してから保存します。読み取り画面に写真から読み込む機能があれば、端末に保存済みのQRコード画像も利用できます。
- QRコードに
trojan://などの単一共有リンクが含まれている場合、通常はサーバー項目が1つ追加されます。更新可能なグループが自動で作成されるわけではありません。 - QRコードにサブスクリプションURLが含まれている場合は、サブスクリプションの追加画面に進んでいることを確認してください。通常のテキストアドレスとして認識された場合は、コピーしてHome → + → Type → Subscribeに入力します。
- QRコードにアカウントページ、決済ページ、その他の一般的なウェブページが含まれていても、サーバー情報は取得できません。元の資料に戻り、実際の接続情報を確認してください。
- 読み取り結果に項目が足りない、または認識できない場合は、QRコードが完全か、反射や切り抜きがないかを確認し、元のテキストも試してください。Password、UUID、SNIを推測して補わないでください。
自分の共有リンクを読み取った場合も、内容を確認してください。特に、写真から再保存したり、チャットアプリで圧縮されたりしたQRコードは注意が必要です。元の項目を残したまま新しい項目が正常に使えることを確認し、その後で重複を整理することをおすすめします。
クリップボードから追加:URLを完全にコピーし、入力欄を間違えない
クリップボードは、すでに入手した共有テキストを扱うのに便利です。コピーする際は、プロトコルの先頭からリンク末尾までを含め、説明文、引用符、箇条書き記号、コードフェンスは含めないでください。Homeに戻り、追加の確認が表示されたら読み取りを許可して確定します。何も表示されない場合は、Homeの追加画面を開き、現在の画面にクリップボードから追加する操作があるか確認してください。
-
元のテキストをコピー
共有リンクを最後までコピーします。複数のリンクが一括で認識されない場合は、まず1つだけコピーして確認し、説明文までまとめて追加しないようにしてください。
-
読み取りを許可
Shadowrocketに戻り、貼り付けを許可するかシステムから尋ねられたら許可を選びます。読み取りを拒否したため追加画面が表示されない場合でも、リンク形式が誤っているとは限りません。
-
追加結果を確認
追加された項目のプロトコル、Address、Portを確認します。HTTPSのサブスクリプションURLが自動認識されない場合は、Home → + → Type → Subscribe → URLから追加してください。
%2Fや%3Dなど、リンク内の文字を手動でデコードしたり書き換えたりしないでください。&以降のパラメータも削除しないでください。共有リンクでは、#以降が名前に使われることがありますが、形式によって解析ルールは異なります。元のテキストをそのまま保つのが最も確実です。
追加後の確認:一覧・選択中の項目・Global Routingを個別に確認
追加に成功したことからわかるのは、データが保存されたということだけです。サーバーに接続できることや、意図したルールで通信が振り分けられることまでは保証されません。まずHomeでサブスクリプショングループを展開し、サーバー項目が1つ以上あることを確認します。次に対象のサーバーを選択してConnectivity Testを実行してください。テスト結果はその時点の接続状況を確認するもので、すべてのウェブサイトやアプリが正常に使えることを示すものではありません。
Global Routing → Config
推奨現在選択中の構成に設定されたルールに従って通信を振り分けます。DIRECTに一致したリクエストは直接接続し、プロキシポリシーに一致したリクエストは該当する接続先を使用します。プロキシ経由になるかどうかはルールによって決まり、Homeで選択したサーバーだけでは決まりません。
適した用途:構成の内容を確認したうえで、ルールに基づいて通信を振り分ける日常利用
Global Routing → Proxy
クライアントが処理する通信をProxyとして扱います。ルール照合による影響を一時的に減らして確認する用途に使えます。ただし、端末上のすべての通信が必ず同じ経路を通るとは限りません。
適した用途:サーバー接続とルールによる振り分けの問題を短時間で比較・確認する
Global Routing → Direct
クライアントが処理する通信をDirectとして扱います。サーバーを追加して選択済みでも、現在のアクセスにそのサーバーが使われているとは限りません。
適した用途:直接接続時の状態と比較し、アクセス先ウェブサイト自体の問題かどうかを切り分ける
トラブルシューティングでは、Settings → On Demandも確認してください。On Demandは条件に応じて接続を開始する機能であり、サブスクリプションの追加や接続情報の補完には使いません。ネットワークの切り替え後に接続状態が自動で変わる場合は、まず条件を確認してから再追加が必要か判断してください。
- Homeにサーバーがあり、Configに新しいファイルがない:通常のサーバーサブスクリプションでは正常な場合があります。
- Configにファイルがあるのにルールが反映されない:その構成が選択されているか、Global RoutingがConfigになっているか確認してください。
- Sceneを使用している場合:該当するシーンの設定を確認してください。個別の原因を調べるときは、元の設定を記録したうえで、一時的に明確なモードへ切り替えてテストし、終了後に元へ戻します。
よくある問題:一覧に表示されない・サブスクリプションを更新できない
サブスクリプションを保存してもHomeが空のままですか?
まずConfigに誤って追加していないか確認します。次にHomeに展開できるサブスクリプショングループがあるかを確認し、画面を下に引いて更新してください。グループだけ表示されてサーバーがない場合は、URLが完全か、tokenが有効か、認識可能なサブスクリプション内容が返されているかを確認します。アカウントのログインページは、サブスクリプションの応答の代わりにはなりません。
サブスクリプションの更新が何度もタイムアウトします。再インストールが必要ですか?
まず、現在のネットワークからサブスクリプションURLにアクセスできるか確認してください。利用可能なプロキシ接続がある場合は、接続した状態でSettings → Subscribeを開き、Update via Proxyを確認してから更新を再試行できます。利用できるプロキシがない場合、この項目を有効にするだけでは解決しません。最後に残った利用可能な一覧を、先に削除しないでください。
更新後にサーバー名が変わりました。追加を間違えたのでしょうか?
サブスクリプションを更新すると、リモートから返された内容に合わせて一覧が更新されます。名前が変わっても、追加を間違えたとは限りません。グループに設定されているサブスクリプションURLを確認し、選択中の項目も見直してください。選択していた項目が削除されている場合は、現在の一覧から項目を選び直してテストします。手動で追加した単独の項目は、サブスクリプション更新に連動しないことがあります。
QRコードから追加できたのに、更新できないのはなぜですか?
項目を開き、単独のサーバーかSubscribeかを確認してください。QRコードに単一の共有リンクしか含まれていない場合、追加後に更新元となるサブスクリプションはありません。一覧を更新するには、同じ単一QRコードを何度も読み取るのではなく、ご自身がすでにお持ちのサブスクリプションURLからSubscribeを新規追加してください。
一覧には表示されるのに、接続後もウェブページを開けませんか?
まずHomeでConnectivity Testを実行し、Global Routingと現在選択中の構成を確認してください。サーバーテストは正常で一部のドメインだけに問題がある場合は、ルールとDNSを続けて確認します。サーバーテストも失敗する場合は、接続情報、サービスの有効状態、現在のネットワークを確認してください。すべての問題をサブスクリプションの追加失敗と決めつけないでください。
確認が終わったら、提供元が明確なサブスクリプショングループを1つ残し、同じURLの重複登録は避けてください。ルール、DNS、接続状態をさらに確認する場合はトラブルシューティングガイドを、用語の意味を調べる場合は用語ガイドをご覧ください。