Shadowrocketのサブスクリプション追加方法4選:Subscribe、Add Server、QRコード、クリップボード

ConfigのSubscribeにURLを貼り付ける方法、Add Serverでの手動入力、QRコード・クリップボードからの追加を、入口ごとに解説します。各方法の対応形式とサブスクリプションの更新場所も紹介します。

この記事の概要

この記事は、利用中のサービス提供元からサブスクリプションまたは接続情報を入手している方向けです。まずSubscribeで追加するサーバーのサブスクリプションと、Configで管理するルール設定を区別しましょう。そのうえで、URLの貼り付け、Add Serverへの手動入力、QRコードの読み取り、クリップボードからの追加を選び、更新結果とGlobal Routingを確認します。QRコードとクリップボードは入力方法にすぎず、追加できるかどうかは内容の形式によります。

追加する前に:サーバーのサブスクリプションとConfig設定を区別する

Shadowrocketを開いたら、まずHomeで登録済みサーバーを確認し、次にConfigで現在のルール設定を確認します。Homeでは接続先サーバーやサブスクリプショングループを管理し、Configではルール設定ファイルを管理します。どちらもURLから内容を取得する場合がありますが、URLがhttps://で始まるというだけで用途を判断することはできません。

「ConfigのSubscribe」を探す前に、手元のリンクから実際に何が取得できるかを確認しましょう。サーバー一覧はSubscribeから追加し、ルールを含む設定ファイルはConfigで管理します。サーバーのサブスクリプションを追加するには、通常Home右上の「+」からAdd Serverを開き、TypeをSubscribeに設定します。Configのリモート設定追加を、サーバーのサブスクリプション追加と混同しないでください。

手元にある情報使用する入口追加後の確認
サーバーのサブスクリプションURLHome → + → Type → SubscribeHomeにサブスクリプショングループとサーバーが表示される
サーバー1台分の接続情報Home → + → Add ServerHomeに手動追加した項目が表示される
プロトコル共有用QRコードHome → QRコード読み取り解析後、該当する種類と接続情報が表示される
プロトコル共有用テキストコピーしてクリップボードから追加追加の確認が表示されるか、解析結果が表示される
ルール設定ファイルのURLConfigのリモート設定追加Configに設定ファイルが表示される。サーバーのサブスクリプションとは別物

追加する前に、情報が自分のサービス提供元から入手したものか確認してください。ShadowrocketはiPhone・iPad向けのクローズドソースの商用アプリで、入手先はApp Storeのみです。アプリの買い切り購入に回線サービスは含まれず、購入しても接続情報は自動で作成されません。システム要件はApp Storeの記載をご確認ください。

方法1:Subscribeでサブスクリプションを保存・更新する

Homeで追加フォームを開き、TypeをSubscribeに設定します。サブスクリプションURLをすべてURL欄に貼り付け、見分けやすい名前を入力してください。保存したサブスクリプションには取得元のURLが保持され、更新時にはそのURLからサーバー一覧を再取得します。サービス提供元がサーバー情報を変更する場合に適した方法です。

  1. URL全体をコピーする

    自分のサービス提供元のページからサブスクリプションURLをコピーし、?以降のクエリパラメーターも残してください。先頭や末尾に空白、改行、日本語の句読点が入っていないことを確認します。

  2. サブスクリプションを選択する

    Home → + の順に開き、Add ServerフォームのTypeからSubscribeを選びます。フォームに前回選択した別のプロトコルが残っていても、そのまま使わないでください。

  3. 貼り付けて保存する

    URL欄にURL全体を貼り付け、識別しやすい名前を入力して保存します。初回の取得が終わったらHomeに戻り、サブスクリプショングループ内にサーバーが表示されているか確認してください。

  4. 更新結果を確認する

    Homeのサブスクリプション一覧を下に引っ張って更新し、更新が完了するか確認します。エラーが出た場合は元の項目を残し、まずURL、ネットワーク、サービス提供元の状態を確認してください。何度も削除して追加し直す必要はありません。

サブスクリプションURLはhttps://example.com/sub?token=xxxxのような形式です。これは接続には使えない例です。実際のURLに含まれるtokenは、サブスクリプションの利用権限を識別するために使われることがあります。エラー画面を共有する際は、名前だけでなくURL全体を隠してください。

方法2:Add Serverに接続情報を手動入力する

Home → + からAdd Serverを開き、まずTypeを選択してから、サービス提供元の案内に従って各項目を入力します。必要な項目はTypeによって異なります。Shadowsocksのパスワードと暗号化方式、VMessやVLESSの識別情報、TrojanのパスワードとTLS設定は、それぞれ別の情報です。必要な情報が明示されていない場合、プロトコル名から他の項目を推測して入力しないでください。

基本的な接続情報

Type
手元の情報に記載されたプロトコルと一致させる
Address
サーバーのドメイン名またはIPアドレスを入力する。ウェブページのパスは含めない
Port
指定されたポートを入力する。例:443。すべてのサービスが443を使うわけではない
Password
選択したプロトコルで必要な場合のみ、該当するパスワードを入力する

AddressにサブスクリプションURL全体を入力しないでください。PortもURLの見た目から推測できません。

追加パラメーターを確認する

TLS
サーバー側の要件に従って有効にする。ポート番号だけでは判断できない
SNI
サービス提供元が指定したTLSサーバー名を使用する
Host
該当するトランスポート設定で必要な場合のみ入力する
Path
サービス提供元が指定したパスと大文字・小文字をそのまま保つ

Address、SNI、Hostはそれぞれ役割が異なります。内容が似ていても、任意に置き換えないでください。

保存後、Homeで登録した項目を選んで接続を試します。基本項目が正しくてもTLSハンドシェイクに失敗する場合は、サーバー名、証明書、端末の時刻を確認してください。証明書の検証を無効にする方法を、一般的な解決策として使わないでください。WireGuardでは鍵やPeerの設定も必要で、一般的なパスワード入力欄の項目をそのまま当てはめることはできません。Hysteria2なども、各プロトコルに対応する完全な情報が必要です。

方法3・4:QRコードとクリップボードから追加する

HomeからQRコード読み取りを開き、手元にあるプロトコル共有用QRコードをカメラに映します。必要な場合はカメラへのアクセスを許可してください。読み取り後、Type、Address、Portを確認してから保存します。QRコードにはサーバー1台分の共有情報が含まれる場合も、ウェブページのURLだけが含まれる場合もあります。ウェブページを読み取っただけで、接続可能なサーバー設定を取得できるとは限りません。

共有元のページで共有テキスト全体をコピーしてからShadowrocketに戻り、表示されたクリップボードからの読み込みや追加の案内に従います。ペーストの許可を求められた場合は、コピー元を確認してから今回の操作を許可してください。案内が出ない場合は、画像やタイトル、チャットアプリで途中が切れた内容ではなく、テキスト形式のリンクをコピーしたか確認します。

内容の先頭または形式示す内容追加時の注意
ss://Shadowsocksの共有リンクエンコードされた内容、ポート、追加パラメーターをすべて保持する
vmess://VMessの共有リンクエンコード部分を省略したり、途中に空白を入れたりしない
vless://VLESSの共有リンク識別情報とクエリパラメーターをすべて保持する
trojan://Trojanの共有リンクパスワード、TLSサーバー名、トランスポート設定を確認する
https://のURLサブスクリプション、設定ファイル、一般のウェブページの場合がある用途を確認してからSubscribeまたはConfigを選ぶ

上記の形式は識別の目安であり、接続用の実例ではありません。QRコードやクリップボードから、どんなテキストでも有効な設定に変換できるわけではありません。リンクに含まれるトランスポート拡張が完全に読み込めるかどうかは、実際にフォームに表示された項目で確認してください。項目が不足している場合は情報元に確認し、推測で補わないでください。

  1. QRコードを読み取れない場合は、カメラのアクセス許可、コードが欠けていないか、画面の反射、画像の鮮明さを確認してください。
  2. クリップボードから追加できない場合は、元の共有テキストをもう一度コピーし、リンクを囲む説明文を取り除いてください。リンク自体の内容は変更しないでください。
  3. 追加候補が複数表示された場合は、名前とサーバーアドレスを1件ずつ確認し、同じ情報を重複して追加していないか確かめてください。

追加後:Global Routingを選んで接続を確認する

Homeで追加したサーバーを選び、Global Routingを開いて現在の設定を確認します。サーバーの追加で決まるのは「どこに接続するか」で、Global RoutingではShadowrocketに届くリクエストの処理方法を決めます。有効なルール設定がある場合はConfigを選択できます。ルールが存在しないポリシー名を参照している場合は、サブスクリプションを何度も追加し直すのではなく、Configの設定を確認してください。

Config

推奨

現在有効な設定のルールに従ってリクエストを処理します。実際の経路は一致するルールとそのポリシーで決まり、特定のドメインは常にプロキシ経由、それ以外はすべて直接接続という動作ではありません。

適した場面:ルールとポリシー名を確認したうえで日常的に使う場合

Proxy

トンネルに入り、アプリが処理する通信をプロキシ経由にします。ルールによる振り分けがアクセスの違いを引き起こしているか、比較して確認できます。

適した場面:ルールによる振り分けとプロキシ経由の違いを短時間で確認する場合

Direct

アプリが処理するリクエストを直接接続にします。この設定でウェブページが開いても、選択したプロキシサーバーが使える証明にはなりません。

適した場面:現在のネットワークで直接接続した場合の状態を比較する場合

初回接続時は、システムの案内に従ってVPN設定の追加を許可します。次にHomeでConnectivity Testを実行し、実際に利用するサービスにアクセスしてください。テスト結果はテスト先とその時点のネットワーク状況を反映したもので、すべての実際の通信を確認できるわけではありません。テストに応答があっても特定のドメインにアクセスできない場合は、使い方ガイドの接続トラブルシューティングでDNS、ルールの一致状況、TLSエラーを確認してください。

サブスクリプションの更新と追加に失敗した場合の対処

Homeに戻り、どの段階で失敗したか確認してから該当する設定を見直します。サブスクリプションの取得失敗、内容の解析失敗、サーバーへの接続失敗は、それぞれ異なる段階の問題です。前の段階が完了していない場合、後の段階に関わるSNIやGlobal Routingを変更しても、原因の解消には通常つながりません。

サブスクリプションの更新がタイムアウトする場合、まず何を確認すればよいですか?

まずHomeで既存の接続が使えるか確認し、次にサブスクリプションURLが完全か確認します。サブスクリプションURLへのアクセスに既存のプロキシが必要な場合は、Settings → SubscribeでUpdate via Proxyを確認してください。この設定は利用可能なプロキシ経路が前提で、最初の接続を自動で作るものではありません。

401または403が表示された場合、再度追加する必要がありますか?

まずURL内のtokenが途中で切れていないか確認し、自分のサービス提供元のアカウントでサブスクリプションの利用権限やURLの再発行状況を確認してください。401と403はサーバーが返すアクセス状態です。同じ無効なURLを繰り返し追加しても、通常は結果は変わりません。

内容は取得できたのに、サーバーが表示されない場合は?

コピーしたものがアカウントページ、ログインページ、ルール設定のURLではないか確認してください。サーバー一覧ではなくウェブページが返される場合は、自分の正しいサブスクリプションURLを取得し直します。ウェブページのソースをAdd Serverに貼り付けないでください。

手動で追加した項目がサブスクリプションの変更に反映されないのはなぜですか?

Homeでその項目がサブスクリプショングループに含まれているか確認してください。単独で手入力した項目や、共有リンクから個別に追加した項目には、通常サブスクリプションの更新が反映されません。手動で編集するか、サービス提供元から新しい情報を取得して再度追加してください。

更新後に項目の内容が変わりました。アプリを再インストールすべきですか?

まずサブスクリプショングループと現在選択中の項目を確認し、有効なサーバーを選び直してください。サブスクリプションの内容は情報元によって変更される場合があります。再インストールしても、情報元から返された誤った接続情報は修正されません。トラブルの記録にはエラー文、発生した手順、ネットワーク環境を残し、パスワード、鍵、サブスクリプションtokenは隠してください。

確認が終わったら、情報元を把握しやすい形で保ち、自分に合った更新方法を選びましょう。継続的な同期にはサブスクリプション、1台分の情報管理には手動入力、入力の手間を減らすにはQRコードやクリップボードが便利です。4つの方法は併用できますが、各項目がサブスクリプションの情報元と連動しているか把握しておきましょう。

App Storeの正規ページデベロッパ名とアプリIDを確認