ss://・vmess://・vless://・trojan://リンクとは?共有リンクとサブスクリプションURLの違い

共有リンクはサーバー1台分の設定、サブスクリプションURLはサーバー一覧を更新するためのアドレスです。Shadowrocketでは取り込み先と更新方法が異なります。

この記事の要点

利用中のサービスとサブスクリプションがある場合、まず受け取ったものがサーバーの接続情報なのか、繰り返し取得できる更新用URLなのかを確認しましょう。この記事ではリンクの接頭辞、Homeでの取り込み先、Subscribeの更新方法、失敗時の確認手順を解説します。読み終えると適切な取り込み先を選び、「取り込み成功」「更新成功」「接続可能」の違いを把握できます。Shadowrocketは取り込んだ情報を利用するアプリです。この記事ではノードやサブスクリプションの提供・販売・推奨は行いません。

まず接頭辞を確認:共有リンクは設定情報、サブスクリプションURLは更新先

ss://、vmess://、vless://、trojan://は、サーバー共有リンクでよく使われる接頭辞です。後続のデータを対応するプロトコル形式で読み取ることを示し、通常は接続先アドレス、ポート、認証情報、一部の通信設定が含まれます。取り込むとサーバーの項目が作成されますが、そのサーバーの更新元が自動で登録されるわけではありません。

サブスクリプションURLは通常HTTPS形式です。ShadowrocketがURLにアクセスしてサーバー一覧を取得し、Homeの該当するサブスクリプショングループに表示します。違いはURLの長さや、読みにくい文字列が含まれるかどうかではありません。クライアントに保存されるのが「現在の設定」なのか、「今後も取得する更新元」なのかです。

4種類の接頭辞
ss://、vmess://、vless://、trojan://を見分ける
2種類のデータ
サーバー1台分の設定と、更新可能なサブスクリプション元
443
HTTPSの標準ポートです。プロキシサーバーも同じポートを使うとは限りません。

https://だけでは、サブスクリプションURLとは判断できません。通常のWebページ、ログインページ、設定ファイルのダウンロード先もHTTPSを使用します。利用中のサービス提供元が、そのURLをShadowrocket用のサブスクリプションとして案内していること、コピーしたものが完全なURLであり、ブラウザーで開いたアカウント管理ページではないことを確認してください。

ss://
vmess://
vless://
trojan://

https://example.com/sub?token=xxxx

上記は接頭辞と、明らかに架空のサブスクリプションURLの例です。接続には使用できません。サブスクリプションURLのクエリパラメーターは認証に使われる場合があります。長く見えても、疑問符以降を削除しないでください。

4種類の共有リンクに含まれる情報

接頭辞から分かるのはプロトコルであり、速度、地域、接続可否ではありません。同じプロトコルでもポートや通信設定は異なり、異なるプロトコルでも同じドメインに接続することがあります。サーバー名に「TLS」「高速」などと書かれていても、設定の確認に代えることはできません。名前は通常、メモとして付けられています。

リンクの接頭辞プロトコル取り込み後に確認する項目
ss://Shadowsocksサーバーアドレス、ポート、暗号化方式、パスワード。プラグインを使う場合は、プラグインの設定も確認します。
vmess://VMessアドレス、ポート、UUID、暗号化設定、alterId、TLSと通信設定。
vless://VLESSアドレス、ポート、UUID、TLSなどのセキュリティ層と通信設定。
trojan://Trojanアドレス、ポート、パスワード、TLSのサーバー名、証明書検証に関する設定。

一般的なvmess://共有リンクでは、JSON形式の設定をエンコードして接頭辞の後ろに含めます。他の形式にも、エンコードされた認証情報やURLクエリパラメーターが含まれることがあります。エンコードは表現方法にすぎず、秘密が隠されているわけではありません。完全な共有リンクを入手した人はサーバー設定を復元できる可能性があります。リンクを公開コメントやスクリーンショットに載せないでください。

取り込み先を選ぶ:Subscribeは更新元、Add Serverは個別の設定

サーバー一覧のサブスクリプションURLがある場合は、Subscribeタイプとして保存します。サーバー1台分の共有リンクだけがある場合は、そのリンクを取り込むか、Add Serverで元の設定を入力します。取り込み先を間違えると、サブスクリプションURLをサーバーアドレスとして登録したり、一覧のうち1台だけを保存して更新元との関連が失われたりすることがあります。

Subscribe:サブスクリプション元を保存

おすすめ

既存のサブスクリプションを継続して管理する場合に使います。リモートURLを保持し、あとから更新元にアクセスしてサーバー一覧を更新できます。既存のサブスクリプションを管理する本記事のケースに適しています。

適したケース:既存のサブスクリプションURLがあり、提供元によるサーバー一覧の変更を反映したい場合

Add Server:サーバーを1台登録

実際に使用するShadowsocks、VMess、VLESS、Trojanなどのプロトコルを選び、アドレス、ポート、認証情報を入力します。個別の設定を保存しても、サブスクリプション元は自動で作成されません。

適したケース:サーバー単体の設定があり、項目ごとに確認または手動管理したい場合

結論:一覧の変更を反映したい場合は、Subscribeの更新元を保持する

サブスクリプション更新後に表示されたサーバーを個別項目として再度エクスポート・インポートし、それも元のサブスクリプションに追従すると誤解しないでください。管理するときは元のサブスクリプショングループから操作します。

既存のサブスクリプションURLを取り込む手順

  1. クエリパラメーターを含め、既存のサブスクリプションURLをすべてコピーします。全角引用符、空白、改行が混ざらないようにしてください。
  2. Home → 追加ボタン → Add Serverを開き、種類の一覧からSubscribeを選択します。
  3. サブスクリプションURLをURL欄に貼り付け、見分けやすいメモを入力して保存します。URL全体を通常のプロトコルのサーバーアドレス欄に入力しないでください。
  4. Homeに該当するサブスクリプショングループとサーバーが表示されるか確認します。空のグループだけが表示される場合は、そのサブスクリプションを更新し、返されたエラーに応じて原因を確認してください。

サーバー1台分の共有リンクを取り込む手順

  1. プロトコルの接頭辞から末尾まで、リンク全体をコピーします。クライアントに表示されるリンク取り込みの案内に従ってください。QRコードから取り込む場合も、スキャン前に配布元を確認します。
  2. 取り込み後、項目の編集画面を開き、メモが表示されるかだけでなく、プロトコル、アドレス、ポート、通信設定を確認します。
  3. 自動認識に失敗した場合は、Home → 追加ボタン → Add Serverに戻り、該当するプロトコルを選択して、利用中の設定を項目ごとに入力します。
  4. 保存後、Homeで該当サーバーを選択して接続を有効にします。サーバーを1台取り込んでも、Configのルーティングルールは追加されません。

更新の仕組み:サーバー設定が変わると何が反映されるか

サブスクリプションの更新はリモートの一覧を再取得する操作であり、現在の接続を「高速化」するものではありません。サービス提供元がアドレス、ポート、認証情報、一覧の内容を変更した場合、新しい情報を取得して解析できたときに限り、その変更がクライアントに反映されます。共有リンク1件は取り込み時点の設定のスナップショットです。元のサーバー設定が変わった場合は、通常、再取り込みするか手動で編集する必要があります。

管理方法:サブスクリプショングループと個別項目を区別する

Subscribeから取り込んだ場合
  • Homeで元のサブスクリプショングループを見つけ、そのサブスクリプションを更新します。
  • 更新後、サーバーの数、名前、選択中の項目に変更があるか確認します。
  • 長期的に変更したい設定は、次回更新でローカルの変更が上書きされないよう、まず提供元の内容を確認してください。
共有リンクを1件取り込んだ場合
  • 元のアドレスや認証情報が変わった場合は、新しい完全な共有リンクを入手します。
  • 再取り込み後、新旧の項目を確認します。新しい項目をテストしてから古い項目を削除してください。
  • 別のサブスクリプショングループを更新しても、この個別項目は更新されません。

更新や編集の前に、項目がどのグループに属するか確認してください。古いグループを削除する前に、利用中のサブスクリプション元の記録を残しておきましょう。

更新に失敗した場合は、まずエラーの種類を確認します。タイムアウトなら、現在のネットワークからサブスクリプションのドメインにアクセスできるか確認してください。HTTP 401または403なら、URL、アクセス認証情報、サービスの状態を確認します。Webページが返る場合や解析に失敗する場合は、ログインページ、リダイレクト先、非対応の内容をコピーしていないか確認してください。ステータスコードの意味はサービスによって異なるため、数字だけで期限切れと判断しないでください。

取り込み後の確認:接続とGlobal Routing

Homeにサーバーが表示されても、クライアントがデータを保存または解析できたことを示すだけです。サブスクリプションの更新に成功しても、更新先にアクセスでき、内容を読み取れたことを示すにすぎません。どちらもサーバーが実際の通信を中継できる証拠にはなりません。「一覧の取得」と「接続の確立」は分けて確認してください。

  1. Homeでテスト対象のサーバーを明示的に選択します。一覧の更新後も、すでに使えなくなった古い項目を選んでいる可能性があります。
  2. 接続を有効にして、クライアントにエラーが表示されるか確認します。すぐに失敗する場合は、まずアドレス、ポート、認証情報、TLS設定を確認してください。
  3. Global Routingを開き、現在のモードを確認します。普段Configを使っている場合、通信は現在の設定ルールの影響を受けます。Directは直接接続との比較に、Proxyはプロキシ経由の経路を一時的に確認する際に使えます。
  4. Proxyでは対象にアクセスできるのにConfigでは挙動が異なる場合、同じサブスクリプションを何度も取り込まず、Configに戻って適用されたルールとポリシーを確認してください。
  5. テスト後は必要な元のモードに戻します。On Demandを有効にしている場合は、Settings → On Demandで自動接続の条件も確認し、自動再接続を取り込み操作の結果と混同しないようにしてください。

ルールのDOMAIN-SUFFIXはドメインのサフィックス、GEOIPはIPの地理情報、IP-CIDRはIP範囲で照合します。FINALはそれ以前のルールに一致しなかった通信を処理します。サブスクリプションはサーバーの取得元を提供し、Configは適用するポリシーを決定します。両者は別のものです。サブスクリプションが更新できても、現在のルールが目的のサーバーやポリシーグループを正しく指定しているとは限りません。

よくある質問:リンクの判別、重複登録、QRコード

HTTPSのURLを受け取ったら、そのままSubscribeに登録すればよいですか?

まず、Shadowrocket用のサブスクリプションURLとして案内されたものか確認してください。アカウントのトップページ、支払い履歴ページ、通常の設定ダウンロードページでは、サブスクリプションの内容が返されるとは限りません。確認後、Home → 追加ボタン → Add Server → Subscribeを開いてURLを入力します。Webページが表示された場合は、サーバーのプロトコルを適当に変えるのではなく、URLの配布元をもう一度確認してください。

サブスクリプションにサーバーが1台しかない場合も、サブスクリプションですか?

はい。判断基準は現在表示される項目数ではなく、更新可能なURLが保持されているかどうかです。1台だけを返すサブスクリプションもあります。一方、共有リンクが複数あっても共通の更新先があるとは限りません。元のサブスクリプションの編集項目を開き、タイプとURLを確認してから、今後の管理方法を決めてください。

同じリンクを2回取り込むと、サーバーが重複して表示されるのはなぜですか?

クライアントに個別項目が2つ保存されたか、サブスクリプション内の項目と手動登録した項目が両方ある可能性があります。まず所属グループ、アドレス、ポートを確認し、管理に必要な元データを残してください。選択した項目が使えることを確認してから、重複項目を削除します。重複を減らすために、唯一のサブスクリプションURLを先に削除しないでください。

QRコードは別のサブスクリプション形式ですか?

QRコードはテキストを格納する方法です。中身はサーバー1台分の共有リンクの場合も、サブスクリプションURLの場合もあります。読み取り後に内容の種類と取り込みプレビューを確認してから保存してください。QRコードの画像を公開しないでください。元のリンクと同じ認証情報が含まれている可能性があります。

Shadowrocket をダウンロード