サブスクリプションURLとは?取得・インポート・更新を徹底解説
サブスクリプションURLの意味、アカウント画面での取得場所、各クライアントへの取り込み方、自動更新の頻度、漏えい時の対処とリセット方法をまとめて解説します。
サブスクリプションURLの意味、アカウント画面での取得場所、各クライアントへの取り込み方、自動更新の頻度、漏えい時の対処とリセット方法をまとめて解説します。
サブスクリプションURLとは?簡単に言えば、クライアントがリモートのノード設定を読み込むための入口です。サーバー側で利用可能な回線、プロトコルのパラメータ、必要な接続情報をクライアントが解析できるデータにまとめ、クライアントはこのURLから内容を取得して選択可能なノード一覧を生成します。Webページのブックマーク先でも、通常のダウンロードURLでもなく、特定の回線そのものでもありません。
国際ネットワーク用ツールを初めて使う人が混同しやすいのが、「アカウント」「サブスクリプション」「ノード」の関係です。アカウントはサービスの状態を管理し、サブスクリプションは設定をクライアントへ渡します。実際に接続するときに選ぶサーバーの入口がノードです。この3つの階層を理解すると、インポート、更新、障害対応、漏えい時の処理が分かりやすくなります。
サブスクリプションURLは通常、サービスのURLと予測困難な識別情報で構成されます。クライアントがリクエストを送ると、サーバーはその識別情報に応じた設定を返します。返却内容はエンコードされている場合もあれば、YAML、JSON、クライアント専用形式の場合もあります。そのため、URLをブラウザーに貼り付けた際に文字化け、長い文字列、構造化テキストが表示されても、必ずしも異常ではありません。
設定には通常、ノード名、サーバーアドレス、ポート、伝送方式、プロトコル種別、認証項目、TLSなどの接続パラメータが記載されます。サブスクリプションによってはグループ、ポリシー、ルール情報が含まれることもありますが、形式とクライアントの対応状況によって異なります。サブスクリプション自体はプロキシプロトコルではなく、設定を配布する仕組みです。Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICなどが、クライアントで認識されるプロトコルまたはプロトコルの組み合わせにあたります。
| 対象 | 主な用途 | 通常保存される場所 | 注意点 |
|---|---|---|---|
| アカウント | サービス状態の確認、設定の取得、サポート依頼への対応 | サービス提供元のアカウント画面 | ログイン情報を保護し、正しい管理画面にアクセスしていることを確認する |
| サブスクリプションURL | 回線設定をクライアントへ配布・更新する | アカウント画面とクライアントのサブスクリプション一覧 | 機密性の高い認証情報として扱い、公開・転送しない |
| ノード設定 | 実際の接続に必要なサーバーとプロトコルのパラメータを提供する | クライアントのローカル設定 | 期限切れの設定が表示され続けても、接続できるとは限らない |
| ルーティングルール | どのリクエストを直接接続、プロキシ経由、拒否にするか決める | クライアントのローカル設定またはルールサブスクリプション | 回線サブスクリプションを更新しても、ローカルルールが変更されるとは限らない |
「回線サブスクリプション」と「ルールサブスクリプション」は明確に区別する必要があります。前者は接続ノードを提供し、後者はドメイン、IP、アプリの通信に適用する判定ルールを提供します。クライアントでは両方を同時に使えますが、解決する問題は異なります。回線サブスクリプションの更新に成功しても、ルーティングポリシーが誤っていれば、一部のサイトへの通信が適切でない出口を通ることがあります。逆に、ルールが正常でも、無効になったノードの認証情報は修復できません。
サブスクリプションURLは、サービス提供元の正式なアカウント画面から取得してください。チャット履歴、検索結果、他人が共有した設定からコピーするのは避けます。管理画面の代表的な入口には、「サブスクリプション」「クライアント設定」「クイックインポート」「接続情報」などがあります。表記は画面のバージョンによって変わりますが、URLのコピー、クライアントへのインポート、サブスクリプションのリセットは近い場所に配置されていることが多いです。
コピーする前に、必要な形式を確認します。汎用サブスクリプションを提供する管理画面もあれば、クライアントごとに異なる形式を出力する画面もあります。形式を間違えた場合、よくある症状は接続速度の低下ではなく、クライアントで解析エラーが表示される、サブスクリプション内容が空になる、インポート後にプロトコル項目が不足するといったものです。その場合は管理画面に戻って対応形式へ切り替え、URL内の識別情報を手作業で削除・変更しないでください。
プラットフォームによってボタンの位置は異なりますが、基本的な流れは共通しています。サブスクリプション設定を新規作成し、URLを貼り付けて保存・更新した後、ノードを選んで接続します。サブスクリプションURLを「単一ノードのインポート」や「ノードQRコードのスキャン」の入力欄に入れないでください。これらは通常、1つの具体的なプロトコル設定だけを受け付け、リモートサブスクリプションには対応していません。
デスクトップクライアントでは通常、サブスクリプション管理が設定、サブスクリプショングループ、設定ファイルのメニューにあります。リモート設定を新規作成するときは、識別しやすい名前を付けてからURLを貼り付け、更新を実行します。インポート後はログまたはステータスバーを確認し、「取得に成功して解析が完了した」状態であることを確認してください。URLを保存しただけでは不十分です。
デスクトップ環境ではプロキシモードにも注意が必要です。システムプロキシはブラウザーやシステム設定に従うアプリに適しています。仮想ネットワークアダプターのモードはより多くの通信を扱えますが、クライアントに適切な権限が必要です。サブスクリプションは回線パラメータを提供するだけで、すべてのアプリを直接接続にするかプロキシ経由にするかを自動で決めるものではありません。
Androidクライアントでは、リモートサブスクリプションが設定、グループ、設定ファイルの画面に配置されていることが多いです。貼り付けた後にまずリストを更新し、システム上でVPN接続を確立するための権限を許可します。アプリごとのルーティングに対応している場合は、対象アプリがプロキシの範囲に含まれているかも確認します。サブスクリプションの更新に成功したのにアプリへ接続できない場合は、アプリのルーティングとDNS設定を併せて確認してください。
このプラットフォームのクライアントは通常、リモート設定またはサブスクリプションの入口からインポートし、初回接続時にシステムVPN設定の追加を求めます。システムの許可はクライアントがネットワークトンネルを作成できることを示すだけで、サブスクリプション内容が有効だとは限りません。インポート後もノード一覧、更新日時、接続ログを確認してください。
| プラットフォーム | 一般的な入口 | インポート後の確認項目 | よくある見落とし |
|---|---|---|---|
| Windows | サブスクリプション管理、リモート設定 | 更新ログ、システムプロキシまたは仮想ネットワークアダプターの状態 | 保存後に更新を実行していない |
| macOS | 設定ファイル、サブスクリプショングループ | システムの許可、プロキシモード、ノード一覧 | アプリが古い設定を使い続けている |
| Android | 設定、グループ、リモートサブスクリプション | システムVPN権限、アプリごとのルーティング | 対象アプリが直接接続に設定されている |
| iOS / iPadOS | リモート設定、サブスクリプション | システムVPN設定、更新日時 | インポートだけ完了し、接続を開始していない |
クライアントの互換性は、「サブスクリプション対応」と書かれているかだけでは判断できません。サブスクリプション内で使われているプロトコルと伝送パラメータを解析できるかも確認が必要です。たとえば、サブスクリプションURLを取得できても、Hysteria2やTUICの設定を認識できない場合があります。VLESSには対応していても、サーバー側で採用されている特定の伝送構成には対応していないこともあります。この場合、一覧から一部のノードが消え、ログにスキップ、未知のタイプ、解析失敗などが記録されることが一般的です。
サブスクリプションの自動更新間隔は、クライアント間で統一されていません。更新のタイミングは、クライアントの設定、OSのバックグラウンド制限、サーバーの応答によって決まります。起動時に確認するクライアントもあれば、定期更新に対応するものもあります。モバイルOSでバックグラウンドに入ると、想定どおり動作しない場合もあります。そのため、「管理画面で回線が変更された」ことと「ローカルクライアントが新しい設定を取得した」ことの間に時間差が生じることがあります。
最も確実なのは、ノード名、回線状態、設定が管理画面と一致しないときに、まずサブスクリプションを手動更新し、その後ノードを選び直すことです。切断して再接続するだけではローカルキャッシュが使われ続け、リモート取得が実行されない場合があります。クライアントのキャッシュ削除も最初に行うべきではありません。ローカルルールやカスタムグループまで同時に消える可能性があるためです。
更新処理では通常、サブスクリプションURLへのリクエスト、サーバー応答の検証、設定のデコードまたは解析、ローカルデータベースへの書き込み、新しい一覧による旧一覧の置換または統合が行われます。どの段階で失敗しても、画面に古いノードが表示され続けることがあります。一部のクライアントは、通信が一時的に不安定なときに一覧が空になるのを防ぐため、最後に成功した設定を保持します。これが「更新に失敗したのにノードが残っている」よくある理由です。
管理画面の回線が変わったのに、クライアントを手動更新しても内容がまったく変わらない場合は、サブスクリプション形式、クライアントログ、システム時刻、ネットワーク接続、本体キャッシュを順に確認します。短時間に何度も更新しないでください。繰り返しリクエストしても形式の不一致は直らず、本当のエラー情報が後続ログで見えなくなる可能性もあります。
トラブルシューティングでは、問題を「リクエスト失敗」「解析失敗」「接続失敗」に分けて考えます。これらは発生する段階が異なるため、対処法も異なります。リクエスト失敗はクライアントが設定を取得できていない状態、解析失敗は内容を取得したものの認識できない状態、接続失敗は設定がクライアントに取り込まれているものの、ノードのハンドシェイクまたはローカルのネットワーク経路に問題がある状態です。
| 症状 | 発生している可能性のある段階 | 優先して確認する項目 | 推奨される対処 |
|---|---|---|---|
| ネットワークエラーまたはリクエストタイムアウトが表示される | サブスクリプションの取得 | 現在のネットワーク、URLの完全性、システム時刻 | 利用可能な別ネットワークで試し、完全なURLをコピーし直す |
| 空の内容が返る、または形式を認識できない | 設定の解析 | サブスクリプション形式、クライアントのバージョン、プロトコル対応 | 管理画面で対応形式を選び、再度インポートする |
| ノードは存在するが、すべて接続できない | 接続の確立 | クライアントログ、ローカルファイアウォール、ネットワーク制限 | まず回線を切り替え、ハンドシェイクエラーを手がかりに原因を特定する |
| 一部のノードだけ表示されない | 解析またはフィルタリング | プロトコルの互換性、グループの絞り込み条件 | ログのスキップ項目とクライアントの対応状況を確認する |
| 接続後も一部のサイトがローカル出口を通る | ルーティングとDNS | 動作モード、ルールの適用結果、DNS設定 | ルーティングログを確認し、DNS漏えいテストを実行する |
IEPL専用線、中継回線、直接接続回線はネットワーク経路を示すもので、サブスクリプション形式ではありません。直接接続は通常、ローカルネットワークから遠端の入口へ直接アクセスします。中継では、まず中継ノードに入り、そこから目的の出口へ転送します。IEPLは、特定の国際伝送シーン向けの専用線ネットワーク方式です。これらの回線をクライアントへインポートする方法は通常同じで、主な違いはサーバー側のルーティングと実際の伝送経路にあります。
接続には成功したのにアクセス結果が不安定な場合は、ルーティングとDNSを確認します。グローバルモードではより多くの通信をプロキシへ渡し、ルールモードではドメイン、IP、アプリとの一致結果に応じて経路を決めます。DNSクエリが意図しないネットワーク出口から送信されると、DNS漏えいが起こり、ドメインの解決結果とプロキシの出口が一致しない可能性があります。この問題はサブスクリプションを繰り返し更新しても解決せず、クライアントのDNSモードとルーティングルールを調整する必要があります。
サブスクリプションURLはアクセス認証情報として管理してください。完全なURLを持つ人は、対応するノード設定を読み取り、URLが無効になるまで繰り返し取得できる可能性があります。サブスクリプションによって利用権限を識別する仕組みの場合、異常な通信量の消費、頻繁な取得、設定のさらなる拡散につながることもあります。URLがHTTPSであっても、伝送中の保護にとどまり、URLを受け取った人による利用を防ぐことはできません。
よくある漏えい経路には、クライアントログを完全な形で公開ページに貼り付ける、サブスクリプションURLが写ったスクリーンショットを送る、URLを含む設定ファイルを公開リポジトリへアップロードする、共有メモに元のURLを保存する、ブラウザーの同期履歴を長期間残すといったものがあります。重要なのは、ローカルのチャット履歴を削除して使い続けることではなく、管理画面からサブスクリプションの認証情報をリセットし、古いURLを無効にすることです。
リセット後も、古いURLをインポート済みのクライアントが新しいURLを自動で認識することはありません。ローカルに古いノードが残っていても、サーバー側で認証情報が変更されると接続できなくなる可能性があります。そのため、管理画面でリセットするだけでなく、各端末のサブスクリプションを置き換える必要があります。手元にない端末がある場合は、対応が必要な端末として記録し、無効な設定を長期間残さないようにしてください。
サブスクリプションを安定して使うために、設定を頻繁に変更する必要はありません。ただし、管理方法は整理しておきましょう。クライアント内のサブスクリプション名は、サービスと用途を区別できるものにします。更新前後はノード数だけでなくログを確認し、クライアントを変更するときは古いクライアントのキャッシュからURLを取り出さず、管理画面から改めてコピーします。サポートへ相談する際は、エラーの種類、発生段階、必要最小限のログだけを伝えてください。
クライアントがローカル上書きルールに対応している場合は、サブスクリプション由来の設定と自分で管理する設定を明確に区別します。サブスクリプションの更新でリモートのノードやグループが置き換わることはありますが、ローカルDNS、ルーティング、アプリごとのルーティング、システムプロキシの設定は独立して保存されることが多いです。障害が起きたら、まずどの階層で変化が起きたかを特定してください。サブスクリプションの問題を回線の問題と誤認したり、DNSを直すために認証情報を何度もリセットしたりするのを防げます。
要するに、サブスクリプションURLが解決するのは設定の同期です。取得時はアカウント画面を確認し、インポート時はクライアントの互換性を確認します。更新時はリモート設定とローカルキャッシュを区別し、接続異常時はリクエスト、解析、ハンドシェイク、ルーティング、DNSの順に確認します。漏えいした場合は直ちにリセットして置き換えます。この流れを理解すれば、「更新したのに使えない」問題の多くを正確に切り分けられます。