サブスクリプションリンクとは?簡単に言えば、クライアントが接続先の設定を読み込むための入口です。サーバーアドレス、プロトコル、認証情報、ルーティング設定を一つずつ入力する必要はありません。対応クライアントにリンクを導入すれば、現在利用できるノード一覧を取得できます。その後、接続先が変更された場合もサブスクリプションを更新するだけで新しい設定を反映でき、古いノードを一つずつ削除して再登録する必要はありません。
ただし、サブスクリプションリンクは単にコピーしやすいURLというだけではありません。通常はアカウントの契約を識別できる認証情報が含まれており、リンクを入手した人が接続先情報を読み取る可能性があります。そのため、私的なアクセス認証情報として扱うのが正しい方法です。信頼できるクライアントだけに導入し、公開チャット、フォーラム、スクリーンショット、オンライン変換サイトには貼り付けないでください。これを理解すれば、取得・更新・漏えい時の対処も分かりやすくなります。
サブスクリプションリンクに含まれる情報
見た目としては、サブスクリプションリンクは通常 HTTPS で始まるURLです。機能面では、サブスクリプションサービスのエンドポイントに接続します。クライアントがこのエンドポイントへアクセスすると、サーバーはリンクに含まれる認証情報に基づいて設定を返します。返される内容は、エンコードされたノードURIの一覧の場合もあれば、特定のクライアントに対応した YAML、JSON、その他の構造化設定の場合もあります。
ノード情報には、サーバードメイン、通信プロトコル、認証項目、TLS設定、接続先名など、接続に必要な情報が記述されます。代表的なプロトコルには Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUIC があります。プロトコルごとに項目は異なるため、クライアントが対応するプロトコルと設定形式をサポートしていなければ、正しく解析して接続することはできません。
| 内容 | 役割 | 利用者が確認すること |
|---|---|---|
| サブスクリプションエンドポイント | クライアントが最新設定をリクエストできるようにする | サービスの管理パネルから取得し、不明な人物から転送されたアドレスは使わない |
| アクセス認証情報 | 読み取れるサブスクリプションを識別する | 機密情報にあたるため、公開・共有しない |
| ノード設定 | プロトコル、サーバー、認証パラメータを提供する | クライアントが該当プロトコルに対応している必要がある |
| ルールとグループ | ノードの整理、自動選択、障害時の切り替えを行う | ルール形式への対応状況はクライアントによって異なる |
| 更新情報 | 設定に変更があるかクライアントが判断できるようにする | 更新に失敗したときは、ネットワークの問題と形式の問題を切り分ける |
サブスクリプションを導入しただけで、接続が有効になるわけではありません。サブスクリプションが担うのは、設定をクライアントに渡すことだけです。実際に接続する際は、クライアントがローカルプロキシやシステムトンネルを作成し、DNSを解決し、ルーティングルールを適用したうえで、選択したノード経由で通信します。そのため、「導入は成功したのにサイトが開けない」場合は、サブスクリプションリンクだけでなく、ノード、システム権限、DNS、ルールモードも確認する必要があります。
ユーザーパネルから取得して正しく導入する
信頼できる取得元は、サービスが提供するユーザーパネルです。ログイン後、サブスクリプションまたはクライアント関連の項目からリンクをコピーします。パネルに汎用サブスクリプションと特定クライアント向けの形式が両方ある場合は、現在使っているクライアントに合う形式を優先してください。ブラウザーのアドレスバーに表示された管理パネルのページURLをサブスクリプションアドレスと取り違えないようにしましょう。両者の用途はまったく異なります。
コピーしたらクライアントに切り替え、「サブスクリプションを追加」「URLから導入」など、同じ意味の項目に貼り付けます。メニュー名はプラットフォームやクライアントによって異なりますが、判断基準は共通です。サブスクリプションアドレスを入力でき、ローカル名を設定できる項目を選びます。サーバー、ポート、パスワードを手入力する画面なら、通常は単一ノードを手動追加する画面です。
- サービスパネルにログインし、サブスクリプションまたはクライアントのダウンロード画面で、現在のプランが利用可能であることを確認する。
- クライアントに対応するサブスクリプション形式を選び、パネルのコピー機能を使う。
- 信頼できるクライアントを開き、URLからサブスクリプションを追加する項目に貼り付ける。
- 更新または同期を実行し、クライアントが解析を完了してノード一覧を表示するまで待つ。
- 接続先を選び、接続後に出口アドレスとDNSの解決結果を確認する。
- 正常にアクセスできることを確認してから、必要に応じてルーティングモードと自動更新を設定する。
- ✅ リンクはログイン後のサービスパネルから取得し、検索結果やグループチャットの転送リンクは使わない
- ✅ クライアントがサブスクリプションで使われているプロトコルと設定形式を明確にサポートしている
- ✅ 導入後に妥当なノード名と接続先グループが表示される
- ✅ 接続後に出口アドレスを確認し、通信が実際に選択した接続先を経由していることを確認する
- ✅ DNSリクエストが想定どおりクライアントまたは指定したリゾルバーに渡されているか確認する
- ❌ サブスクリプションの内容を出所不明のオンライン変換ツールに貼り付けない
クライアントに「解析に失敗しました」と表示された場合は、すぐにアカウントを作り直さないでください。まずパネルからリンクを再コピーし、コピー漏れ、前後に混入した空白、リンクがすでにリセットされている可能性を確認します。その後、クライアントのバージョンがサブスクリプションで使われているプロトコルに対応しているか確認しましょう。古いクライアントは Shadowsocks を認識できても、新しい VLESS、Hysteria2、TUIC の設定を正しく解析できない場合があります。
導入に成功したのにノード一覧が空の場合は、クライアントに合わない形式を読み込んでいる可能性もあります。ルール型クライアント向けの完全な設定と、汎用URIの一覧は同じものではありません。この場合はパネルに戻って対応形式を切り替え、自分でリンクのパラメータを変更しないでください。認証項目を手動で変更するとリンクが無効になり、その後の切り分けも難しくなります。
プラットフォームごとの導入方法の違い
サブスクリプションの基本的な仕組みは各プラットフォームで共通ですが、クライアントがシステムのネットワーク権限を取得する方法は異なります。デスクトップでは、より細かなルール、ログ、プロキシモードを利用できることが多く、モバイルではシステムが提供するVPN設定インターフェースに依存します。問題が起きたら、まず「サブスクリプションを解析できていない」のか、「システムがクライアントによるネットワーク制御を許可していない」のかを切り分けましょう。両者では対処方法がまったく異なります。
Windows と macOS
デスクトップクライアントは通常、システムプロキシ、仮想NIC、トンネルモードに対応しています。システムプロキシはプロキシ設定に従うアプリに適していますが、すべてのプログラムが自動的に利用するとは限りません。仮想NICやトンネルモードは適用範囲が広い一方、ドライバー、ネットワーク拡張機能、システム権限への依存度が高くなります。macOSで初めて有効にする際は、VPN設定やネットワーク拡張機能の許可を求められることがあります。許可していなければ、ノードが正常に表示されても実際の通信を制御できません。
デスクトップでは、ルールモード、グローバルモード、ダイレクトモードもよく使われます。ルールモードはドメイン、アドレス、アプリのポリシーに応じて通信経路を決めるため、日常利用に適しています。グローバルモードはより多くの通信を選択した接続先に通しますが、切り分け時に分かりやすい反面、ローカルサービスに影響する場合があります。ダイレクトモードは通常、サブスクリプションを削除せずにプロキシを一時停止するために使います。
iOS と Android
モバイルクライアントは、システムのネットワークインターフェースを通じてVPN設定を作成します。初回接続時はシステムのダイアログを確認し、選択したクライアントによる設定の追加を許可してください。iOSのクライアントは通常、システムが接続状態を一元表示します。Androidでは、バックグラウンド動作やバッテリー管理の扱いがOSのバージョンやメーカーによって異なります。システムによってクライアントが停止されると、サブスクリプションは残っていても接続が切れることがあります。
モバイル通信とWi-Fiを切り替えると、基盤となるアドレスやルーティングが変わります。対応の良いクライアントはトンネルの再確立を試みますが、プロトコルの挙動もネットワーク環境の影響を受けます。Hysteria2 と TUIC は QUIC の考え方に基づき、特定のネットワーク条件に適しています。一方、Trojan と VLESS などは異なるトランスポートとTLSの組み合わせを使います。プロトコル名だけで速度を判断することはできず、実際には経路、混雑状況、クライアントの実装、接続先サイトにも左右されます。
Linux
Linuxクライアントには、GUIで動作するものもあれば、設定ファイルやコマンドラインで動作するものもあります。導入前に、ソフトウェアが完全な設定、サブスクリプションプロバイダー、URI一覧のどれを必要としているか確認してください。サーバー環境で利用する場合は、通信がそのサーバー上のプロセスだけを対象にするのか、ルーティングや転送によって他の機器にも提供するのかを明確にします。後者には追加のネットワークポリシーが関わるため、サブスクリプションを導入しただけで完了したと考えてはいけません。
サブスクリプションの更新はどのくらいの頻度で行うべきか
すべてのサービスやクライアントに共通する固定の更新間隔はありません。接続先の変更頻度、クライアントの自動更新機能、利用習慣はそれぞれ異なります。決まった時間を覚えるより、イベントに応じて更新するのが現実的です。プランや接続先が変更されたとき、長期間使っていなかったとき、ノードへの接続に連続して失敗したとき、サービスパネルで設定変更が通知されたときに更新してください。
自動更新に対応するクライアントでは、通常、更新方法を選択できます。有効にする前に、更新対象がサブスクリプションの内容であり、現在のノードを自動的に切り替える機能ではないことを確認してください。更新では設定を再取得し、ノード一覧やルールグループが置き換わる場合があります。一方、自動選択は遅延測定や接続可否に基づき、既存ノードから経路を選ぶ機能です。両者を混同しないようにしましょう。
更新前にローカルルールを変更していた場合は、クライアントが設定をどのように統合するか確認してください。リモートで生成された部分を完全に上書きするクライアントもあれば、ローカルの上書き設定とリモートサブスクリプションを分けて保存できるクライアントもあります。上書きされる可能性があるサブスクリプション領域にカスタムルールを直接書き込むと、次回の更新で消えることがあります。クライアントが提供する上書き、ルールセット、ローカル設定機能を使うほうが安全です。
| 状況 | 先にサブスクリプションを更新するか | その後の確認 |
|---|---|---|
| パネルで接続先の変更が表示されている | はい | ノード一覧とグループに変化があるか確認する |
| すべてのノードを突然解析できなくなった | はい | サブスクリプションの状態、クライアント形式、ローカルネットワークを確認する |
| 特定のサイトだけ異常がある | 必ずしも必要ではない | まずルーティングルール、DNS、接続先サイトの状態を確認する |
| 特定の接続先だけ接続に失敗する | 更新してよい | 同じ地域の別の接続先に切り替え、プロトコル対応を比較する |
| 更新後にカスタムルールが消えた | 更新済み | クライアントのローカル上書き機能を使う |
更新に失敗した場合は、まず通常のウェブページにアクセスできるか確認します。クライアントがサブスクリプションを取得するにも、基礎となるネットワーク接続が必要だからです。続いて、システム時刻、証明書に関する警告、リンクが完全かどうかを確認します。ブラウザーやクライアントに認証エラーが表示された場合は、リンクを第三者に渡してテストさせるのではなく、パネルでサブスクリプションがリセットされていないか確認してください。
リンクをグループチャットに貼ってはいけない理由
サブスクリプションリンクの認証情報は、通常、設定を読み取るために使われます。一般的な製品紹介ページでも、公開してよいダウンロードアドレスでもありません。リンクをグループチャット、フォーラム、公開サポートチケットに貼ると、閲覧者がコピーしてサブスクリプションの内容を取得し続ける可能性があります。チャット履歴、ボット、ウェブページのプレビュー、同期バックアップによって露出範囲が広がることもあります。
スクリーンショットにも注意が必要です。画面にリンク全体が表示されていなくても、QRコード、ブラウザーのアドレスバー、クライアントの共有画面、スクロール可能なテキストに復元可能な情報が含まれることがあります。画面録画で問題を調べる場合も、サブスクリプション管理画面やクライアントの設定詳細は映さないでください。サポート担当者に障害を伝える際は、エラーメッセージ、クライアント名、システムのプラットフォーム、症状だけを伝え、完全なリンクは送らないようにしましょう。
オンラインのサブスクリプション変換ツールは、提供元を特に慎重に確認する必要があります。変換処理では、相手のサーバーが元のサブスクリプションを読み取り、別形式を生成します。サービスパネルが明示的に提供し、信頼できる環境で実行される機能でない限り、これは機密性の高い認証情報を別の事業者に渡すことになります。パネル内の形式切り替えを優先するか、確認済みのローカルクライアントで直接解析してください。
- ✅ サブスクリプションリンクは、管理下にあるクライアントまたはパスワード管理ツールに保存する
- ✅ 障害のスクリーンショットを共有する前に、リンク、QRコード、認証項目を隠す
- ✅ 端末を変更するときは、チャット履歴に頼らずユーザーパネルから再コピーする
- ✅ 古い端末を処分する前に、クライアント内のサブスクリプションとエクスポート設定を削除する
- ❌ リンクを公開ドキュメント、コードリポジトリ、ブラウザー同期のメモに保存しない
- ❌ 不明なオンラインツールにサブスクリプションを読み込ませ、形式変換を任せない
リンクが漏えいした場合のリセットと再確認
リンクを誤って送信した、公開スクリーンショットに表示された、公開リポジトリに保存した、または信頼できないツールに導入した場合は、すでに漏えいしたものとして扱います。メッセージを削除するだけでは不十分です。リンクがコピーされている可能性があるためです。正しい対処は、ユーザーパネルにログインし、サブスクリプションのリセットまたは再生成を実行して、古い認証情報がアクセスに使われないようにすることです。その後、新しいリンクを信頼できる自分のクライアントに導入します。
- 古いリンクの共有やテストを中止し、公開ページに表示された内容を削除する。
- ユーザーパネルにログインし、サブスクリプション管理画面でリセットまたは再生成を実行する。
- 新しいリンクをコピーし、現在も使用している信頼できるクライアントだけに導入する。
- クライアントから古いサブスクリプションを削除し、誤って更新したりノードを混在させたりしないようにする。
- 新しいサブスクリプションを更新し、ノード一覧を正常に取得できることを確認する。
- 接続後、出口アドレス、DNSの解決、ルーティングルールが想定どおりか再確認する。
リセット後も、古いクライアントに以前のノード名がキャッシュ表示されることがあります。これは古いサブスクリプションを更新できることを意味せず、キャッシュされたノードが引き続き接続できるとも限りません。古いサブスクリプションと関連キャッシュを自分で削除し、新しいリンクで設定を作り直してください。これにより、問題の切り分け時に古いノード、新しいサブスクリプション、ローカル上書き設定が混在するのを防げます。
新しいリンクでノードを取得できるのにアクセス結果が想定と異なる場合は、DNSとルーティングを確認します。DNS漏えいとは通常、ドメイン名のリクエストが想定した解決経路を通らず、ローカルネットワークのリゾルバーで処理される状態を指します。まずクライアントで該当するDNS機能が有効になっているか確認し、次にシステム上で別のネットワークツールが解決設定を同時に変更していないか確認してください。ルーティングルールによって検証サイトが直接接続され、出口の判定が分かりにくくなる場合もあります。
同じ端末で複数のプロキシ、VPN、ネットワークフィルタリングツールを同時に動かすと、ルーティングの競合が起きることもあります。切り分ける際は、検証対象のクライアントだけを残し、システムプロキシ、仮想NIC、DNSを制御する他のプログラムを一時停止してから再接続してください。特定のアプリだけで問題が起きる場合は、そのアプリが独自のプロキシ設定、プライベートDNS、システムプロキシを使用しない設定になっていないかも確認します。