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

単体サーバーの共有リンクとサブスクリプションURLの構造、Shadowrocketへの追加方法、更新方法の違いを解説します。

この記事の要点

サービス提供元から接続情報を受け取ったものの、サーバーを個別に追加するのか、サブスクリプションとして追加するのか迷っていませんか。まずリンクの先頭部分と提供元の説明を確認し、用途に合った方法で追加しましょう。この記事では、4種類の共有リンクの項目、サブスクリプションの更新方法、追加後の接続確認について説明します。

まずリンクが示すものを確認

Shadowrocketの単体サーバー共有リンクは、通常、1台分のサーバーのプロトコル、アドレス、ポート、認証情報を1つのテキストにまとめたものです。ss://、vmess://、vless://、trojan://は、この形式を見分けるための代表的な接頭辞です。接頭辞から分かるのはプロトコルの種類であり、定期更新されるリストを指すものではありません。共有リンクを追加すると、通常は選択可能なサーバーが1件登録されます。

サブスクリプションリンクは、通常、https://で始まるURLです。ShadowrocketがそのURLにアクセスして応答に含まれる設定情報を読み込み、サブスクリプションに紐づくサーバー情報を作成または更新します。そのため、https://で始まるだけでは、Web形式のアドレスであることしか分からず、有効なサブスクリプションとは限りません。利用できるかどうかは、提供元の用途説明とアクセス後に返される内容を確認してください。

4種類の接頭辞
この記事で扱う単体サーバー共有リンクの形式:ss://、vmess://、vless://、trojan://
1件の登録
単体サーバーの共有リンクは、通常、サーバー情報1件に対応します
1つのURL
ShadowrocketがサブスクリプションURLにアクセスし、複数件の情報を含む応答を取得します

4種類の共有リンク:接頭辞は似ていても、用途と項目は異なる

以下の例は形式のみを示したもので、ドメイン、認証情報、エンコードされた項目はいずれも接続には使えません。実際の共有リンクでは、大文字・小文字、エンコード、任意パラメータが形式ごとに決まっています。疑問符以降のパラメータを手作業で削除して「簡略化」するのは避けてください。たとえば、VLESSリンクの通信方式やセキュリティに関するパラメータは接続方法に影響する場合があります。Trojanリンクのパスワードも、表示名だけでは判断できません。

ss://[email protected]:8388#demo
vmess://BASE64_JSON
vless://[email protected]:443?encryption=none&type=tcp#demo
trojan://[email protected]:443#demo

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

上から4行は単体サーバー共有リンク、最後の1行はサブスクリプションURLの例です。example.invalidとexample.comは形式を説明するためだけのドメインで、xxxxは有効な認証情報ではありません。443と8388も例示用のポート番号です。Shadowrocketで特定のプロトコルに必須の固定値ではないため、入力時は利用しているサービス提供元の案内に従ってください。

見分け方:提供元の「リンクの用途」を確認する

単体サーバーの共有リンクと案内されている場合は、そのプロトコルのサーバー情報を1件追加します。定期更新されるサブスクリプションURLと案内されている場合は、Subscribeから追加します。サブスクリプションの応答にss://などの情報が含まれていても、サブスクリプションURL自体を個別サーバーとして扱わないでください。

Shadowrocketへの追加方法

始める前に、Shadowrocketの配信元がApp Storeの製品ページであること、デベロッパがShadow Launch Technology Limitedと表示されていること、アプリIDが932747118であることを確認してください。Appleプラットフォーム向けの有料アプリです。システム要件はApp Storeページの表示をご確認ください。アプリの購入と、サービス提供元から入手する接続情報は別のものです。アプリを購入しても、利用可能なサーバー情報が自動で作成されるわけではありません。

情報の種類に応じて追加方法を選ぶ

単体サーバーの共有リンクがある場合
  • ss://、vmess://、vless://、trojan://のいずれかで始まるテキストを、末尾のパラメータまで省略せずにコピーします。
  • Homeの追加メニューを開き、現在の画面にクリップボードから読み込む機能があるか確認します。手動で追加する場合は、Home → + → Typeと進み、正しいプロトコルを選んでサービス提供元の情報を入力してください。
  • 保存後にHomeへ戻り、追加したサーバーの名前、プロトコル、アドレスを確認してから、そのサーバーを選択します。
サブスクリプションURLがある場合
  • サービス提供元がサブスクリプションと明記しているURLを、クエリパラメータも含めてすべてコピーします。この記事のhttps://example.com/sub?token=xxxxは無効な例です。
  • Home → + → Type → Subscribeと進み、URL欄にアドレスを入力します。識別しやすい名前を設定して保存してください。
  • Homeに戻り、サブスクリプションが表示されていることを確認して、画面に表示される更新操作を実行します。

追加しただけでは接続は確立されません。サーバーを選択し、Global Routingを確認したうえで、Connectivity Testで結果を検証してください。

追加メニューやクリップボード関連の操作方法は、現在のアプリ画面によって異なる場合があります。クイック追加の項目が見つからない場合は、画面に表示されているTypeと入力フォームを使ってください。ss://で始まるテキスト全体をSubscribeのURL欄に貼り付けないでください。逆に、サブスクリプションURLを個別サーバーのアドレス欄に入力するのも誤りです。サーバーのアドレス欄には、パスやトークンを含むサブスクリプションURLではなく、サービス提供元から案内されたホスト名またはIPアドレスを入力します。

  1. Homeで追加したサーバーを選択します。サブスクリプションを追加した場合は、サブスクリプションから生成されたサーバーの中から1件を選んでください。
  2. Global Routingを確認します。Directは直接接続する設定です。選択したサーバーの基本的な接続性を確認するには、必要に応じてProxyを使用します。日常的にルールに従って通信を振り分ける場合は、Configとルールの適用状況も確認してください。
  3. 接続スイッチをオンにし、システムの案内に従ってVPN構成を許可してから、Connectivity Testを実行します。テスト結果と対象Webページの表示は分けて確認してください。スイッチの状態だけで接続情報が正しいと判断することはできません。

更新方法:単体リンクは再登録、サブスクリプションは更新

単体サーバーの共有リンクは、一度きりの設定スナップショットに近いものです。サービス提供元で元の共有テキストが変更されても、追加済みのサーバー情報が新しいアドレス、パスワード、ポートに自動同期されることはありません。新しい共有リンクを受け取った場合は、新旧の項目を照合し、新しい情報で再登録するか、既存の情報を編集してください。新しい登録が使えることを確認してから古い登録を整理すると、同じ名前の項目を誤って選ぶのを防げます。

サブスクリプションには、再度リクエストできるURLが保存されます。サービス提供元がURLの応答内容を変更した場合、Shadowrocketでサブスクリプションを更新できます。更新後は、現在選択しているサーバーが残っているか、名前が変わっていないか、必要な接続が引き続き使えるかを確認してください。更新頻度や応答内容は利用中のサービス提供元によって異なります。サブスクリプションURLを保存しただけで、サーバーが永久に有効になるわけではありません。

単体サーバーの共有リンク

サーバー設定を1件直接保存します。情報が変わった場合は、サービス提供元の新しい情報に基づいて再登録または編集してください。

向いているケース:固定の登録情報を1件だけ管理し、アドレス、ポート、認証情報を個別に確認できる場合

Subscribeによるサブスクリプション

更新用のURLを保存し、サブスクリプションの応答内容に応じて登録情報を管理します。更新のたびに、登録内容と選択状態を確認してください。

向いているケース:サービス提供元からサブスクリプションURLが明示され、提供元の情報変更に合わせて登録内容を更新する必要がある場合

操作のポイント:更新前に照合用の情報を控える

現在使用中のサーバー名とプロトコルを控えてから、サブスクリプションを更新します。更新後に接続できない場合は、まず選択中の項目が変わっていないか、次にサブスクリプションのリクエストが成功したかを確認してください。すぐにすべての接続項目を変更するのは避けましょう。

サブスクリプションの更新で変わるのは、応答に含まれるサーバー情報です。Global Routingの設定やルールの修正とは別の操作です。たとえばConfigを使用している場合、リクエストはルールで先に判定されることがあります。サーバー情報が更新されていても、特定のドメインへの通信がルールによって直接接続になる場合があります。「情報が更新されたか」と「通信が選択したサーバーを経由しているか」は、分けて確認してください。

追加・更新時の問題を症状から確認

トラブルの確認時は、元のリンクを完全な状態で保存し、利用中の端末と信頼できるサービス提供元の窓口だけで照合してください。プロトコルの接頭辞で始まるテキストを受け取った場合は、コピー時に改行が入っていないか、クエリパラメータが欠けていないかを確認します。URLを受け取った場合は、それがサブスクリプションの入口、アカウント用Webページ、単体の接続情報を表示するページのどれなのか、提供元に確認してください。用途の異なるURLは互いに置き換えられません。

https://のURLを貼り付けた後、接続できないサーバーが1件だけ表示される

サブスクリプションURLをサーバーのアドレス欄に入力していないか確認してください。Home → + → Type → Subscribeに戻り、URL欄にサービス提供元がサブスクリプションとして案内したアドレスを入力します。誤って追加した情報は、内容を確認してから整理してください。

vless://を追加すると名前は表示されるのに、接続できない

サービス提供元の案内と照らし合わせて、ホスト、ポート、疑問符以降のパラメータがすべて揃っているか確認してください。特にtypeなどの接続パラメータを抜かさないようにします。次に、選択中の項目が追加したばかりのサーバーであることを確認してください。名前が表示されるのは登録できたことを示すだけで、サーバーに到達できることを保証するものではありません。

サブスクリプションを更新したのに、古いサーバーが使われている

Homeに戻って現在選択中の項目を確認し、サブスクリプション内の新しいサーバー名とアドレスを照合してから、使いたい項目を手動で選択してください。リストが変わらない場合は、サブスクリプションURLが有効かどうかと、現在の画面に表示された更新結果を確認します。

接続スイッチはオンなのに、対象Webページへの通信が想定どおりサーバーを経由しない

まずConnectivity Testを実行し、次にGlobal Routingを確認してください。Directでは通信はプロキシ経由になりません。Configの場合は、該当するルールが適用されているかを続けて確認します。ルールの問題を解決するために、リンクを再登録するだけでは不十分です。

ルールを確認する場合は、DOMAIN-SUFFIX、GEOIP、IP-CIDR、FINALのマッチ範囲から確認します。最初の3つはそれぞれドメインのサフィックス、地理的位置、IPアドレス範囲に関係し、FINALはそれまでに一致しなかったリクエストを処理します。これらのルールは通信の経路を制御するもので、単体サーバーのリンクをサブスクリプションに変えたり、誤った認証情報を正しい値にしたりするものではありません。「情報の種類」「追加した登録内容」「接続テスト」「ルール」の順で確認してください。

入手先と追加手順を続けて確認

正規の入手先を確認するページでApp Storeの製品情報を確認し、ガイドに沿ってHome、Subscribe、Global Routingを順に確認してください。アプリの買い切り購入と、ご自身の接続サービスは別のものです。

正規の入手先を確認 使い方ガイドを見る
正規確認