このサブスクリプションリンク入門では、よくある疑問に直接答えます。リンクには何が含まれているのか、どこに貼り付けるのか、インポート後にノードが表示されないのはなぜか、いつ更新すべきか、誤ってリンクを共有した場合にどう対処すべきかを解説します。サブスクリプションリンクは一般的なウェブアドレスでも、特定のプロキシプロトコルでもありません。サーバー側で管理される設定キーに近いもので、クライアントはリンクを通じてノード名、サーバーアドレス、ポート、プロトコルパラメータ、グループ情報を取得します。

この点を理解することが重要です。サブスクリプションURLをブラウザに貼り付けて、読みにくいテキストやダウンロードファイル、空白のページが表示されても、リンクが無効とは限りません。ブラウザは通常、元の内容を取得するだけで、接続可能な回線へ変換する機能はありません。正しくは、サブスクリプション形式に対応したクライアントを使い、「リンクからインポート」「リモート設定を追加」などの項目から設定を読み込みます。

サブスクリプションリンクとは?単一ノードリンクとの違い

単一ノードリンクは1つの接続設定だけを記述するもので、Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICなどのプロトコル識別子が含まれることがあります。一方、サブスクリプションリンクでは、サーバー側が複数の設定をまとめて提供します。クライアントで読み込むと、複数の地域、回線タイプ、プロキシグループなどが表示され、後から同じURLへ再度アクセスしてサーバー側で更新された内容を取得できます。

比較項目 サブスクリプションリンク 単一ノードリンク
主な用途 複数のノードとポリシーをまとめて取得・管理 個別の接続設定を1つインポート
その後の変更 更新によってサーバー側の新しい設定を取得可能 通常は新しいノード情報を再インポートする必要がある
クライアントの要件 サブスクリプションの出力形式に対応している必要がある そのノードで使われるプロトコルに対応している必要がある
安全面への影響 漏えいすると一式の設定が露出する可能性がある 通常は該当ノードの範囲に限られる

サブスクリプションURLに含まれるランダムな文字列は、通常、認証の役割を担います。そのURLを入手した人は、アカウント情報を再入力せずに設定を要求できる可能性があります。そのため、サブスクリプションリンクを公開してもよいダウンロードURLとして扱ってはいけません。コピー、スクリーンショット、同期、問い合わせ情報の送信時には、画面やログ、テキスト内にリンクが含まれていないか必ず確認してください。

サブスクリプション形式・プロキシプロトコル・クライアントコアは別のもの

初心者が最も混同しやすいのが、「プロトコル」と「サブスクリプション形式」です。Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICは接続方式とそのパラメータを示します。一方、サブスクリプション形式はノードやルールを整理するためのものです。1つのサブスクリプションに複数のプロトコルを含めることはできますが、クライアントで利用できるかどうかは、内蔵または呼び出されるネットワークコアが該当プロトコルに対応しているかで決まります。

主なプロトコルの役割

  • Shadowsocks:暗号化プロキシ方式でトラフィックを転送します。設定には通常、サーバー、ポート、暗号化方式、アクセス認証情報が含まれます。対応する暗号化方式はクライアントによって異なる場合があります。
  • VMess:関連するプロキシコアの設定体系でよく使われます。サーバー情報に加えて、トランスポート層、TLS、識別用パラメータなどが含まれることがあります。インポート時はすべての項目を保持する必要があります。
  • VLESS:VMessの暗号化構造には依存せず、TLS、Reality、異なるトランスポート方式などと組み合わせて使われます。クライアントがプロトコル名に対応していても、すべての組み合わせを利用できるとは限りません。
  • Trojan:通常はTLSと組み合わせて使用します。接続パラメータにはサーバー名、証明書検証に関する設定、アクセス認証情報などが含まれます。証明書検証を不用意に無効化すると、接続の検証強度が低下します。
  • Hysteria2:UDPとQUICに近い転送方式を基盤とし、パケット損失の多い一部の回線に適しています。ただし、UDPが制限されたネットワークでは接続を確立できない場合があります。
  • TUIC:同じくUDPとQUICの機能に依存し、クライアントコアのバージョン、ネットワーク環境、パラメータの組み合わせが求められます。

一般的なサブスクリプション出力には、URIリスト、Base64でエンコードされたテキスト、YAML設定、JSON設定などもあります。Base64は単なるエンコード方式であり、暗号化ではなく、内容を自動的に保護するものでもありません。YAMLはプロキシグループやルールを含む設定でよく使われ、JSONはsing-boxなどの設定体系でよく見られます。どちらのクライアントもVLESSに対応していても、互いの完全な設定ファイルを直接読み込めるとは限りません。

サービスの管理画面によっては、クライアントごとに異なるサブスクリプション入口を生成します。選択時はクライアントの種類に合った形式を取得し、「汎用」と表示されているからといって何度も変換しないでください。第三者のオンライン変換サイトでは、完全なサブスクリプション内容を読み取る必要があります。これは設定認証情報を別のサービスに渡すことと同じです。サーバー側が提供する対応形式を優先するか、信頼できるローカルツールで変換してください。

サブスクリプション取得から接続成功までの手順

まずサービス管理画面でサブスクリプションの入口を確認する

サービス管理画面にログインすると、サブスクリプションは通常、概要、サブスクリプション管理、クライアント設定、使用ガイドなどの近くにあります。コピーする際は管理画面のコピー機能を使い、末尾の文字が抜ける手動選択は避けてください。設定ファイルのダウンロードとサブスクリプションURLの両方が表示される場合は、クライアントが必要としているのがリモートリンクかローカルファイルかを先に確認します。

対応するクライアントとインポート方法を選ぶ

  1. 信頼できる入手先から現在のプラットフォームに対応したクライアントをインストールし、サブスクリプションで使われるプロトコルと設定形式をサポートしていることを確認します。
  2. クライアントで「サブスクリプションを追加」「URLからインポート」「リモート設定」などの入口を探します。単一ノードを手入力する画面ではありません。
  3. サブスクリプションURL全体を貼り付け、設定に識別しやすいローカル名を付けてから、保存または更新を実行します。
  4. ノード一覧が表示されるまで待ち、現在の用途に合う回線を選んでから、システムプロキシ、VPNモード、またはアプリ内プロキシを有効にします。
  5. 対象サイトへ通常どおりアクセスし、システム時刻を確認し、DNSの経路を確認するなどして接続を検証します。クライアントのボタンの色が変わったかどうかだけで判断してはいけません。

クライアントにダウンロード失敗と表示されたら、まずURLの前後にスペース、改行、句読点が混ざっていないか確認します。一部のチャットアプリは長いリンクを途中で切り、一部の文書エディターは文字を自動置換することがあります。最も確実なのは、管理画面から再度コピーし、そのままクライアントに貼り付ける方法です。

各プラットフォームでインポート時に見落としやすい違い

  • Windows:クライアントによっては、システムプロキシと仮想NICモードが別々に用意されています。システムプロキシは主にシステム設定に従うアプリへ影響し、仮想NICモードは通常より広い範囲をカバーしますが、適切なルーティングとDNS設定が必要です。
  • macOS:インポート後は、システムネットワーク拡張機能の許可ダイアログに注意してください。ノードを一覧に追加しただけでは、システムの通信がすでにクライアントへ渡っているとは限りません。
  • iOS:初回接続時に、通常はシステムVPN設定の作成が必要です。サブスクリプションのインポートに成功した後も、アプリ内でポリシーまたはノードを選択する必要があります。
  • Android:システムのバックグラウンド制限によって長時間の接続が中断されることがあります。画面ロック後に切断される場合は、サブスクリプションを何度も作り直すのではなく、アプリのバックグラウンド実行権限と省電力設定を確認してください。
  • Linux:GUIクライアントとコマンドラインコアでは、設定ディレクトリが異なる場合があります。サブスクリプションや設定ファイルを保存する際はファイルのアクセス権を制限し、サービスプロセスが実際に更新後のファイルを読み込んでいることを確認してください。

サブスクリプションが必要な理由と、更新後に変化がない場合の対処

サブスクリプション更新では、サーバーから設定を再取得します。回線入口の変更、ノード名の変更、プロトコルパラメータの更新、プロキシグループの変更があっても、ローカルのクライアントは自動では把握できないため、サブスクリプションを再度リクエストする必要があります。サブスクリプションの更新とノードの切り替えは別の操作です。前者は設定の取得元を更新し、後者は現在の一覧から別の回線を選ぶだけです。

クライアントには通常、手動更新と自動更新があります。手動更新は結果を直接確認できるため、問題の切り分けに適しています。自動更新は日常の保守に向いていますが、クライアントがバックグラウンドで動作しているときに実際にリクエストを実行しているか確認してください。自動更新の間隔はクライアントの機能と利用状況に合わせて設定し、頻繁に更新する必要はありません。一方、インポート時に保存された古い設定へ長期間依存するのも避けるべきです。

更新後も一覧が変わらない主な原因

  • クライアントがローカルキャッシュを読み続けており、更新リクエストが正常に完了していない。
  • リモート更新できるサブスクリプションURLではなく、ローカル設定ファイルをインポートしている。
  • サブスクリプションは更新されたが、ノード名が変わらず、実際のパラメータだけがバックグラウンドで調整されている。
  • 現在のクライアントがサーバーから返された形式を解釈できず、前回解析できた設定を保持している。
  • 古い設定と新しい設定の名前が同じで、クライアントが上書きせず別の設定グループを作成している。
  • ネットワーク自体がサブスクリプションサーバーへアクセスできず、先に基本ネットワークを復旧するか、利用可能な接続方法へ切り替える必要がある。

切り分けでは、まずクライアントの更新時刻とエラー情報を確認し、その後に手動更新を試します。それでも変化がなければ、ローカルのサブスクリプションを削除して再インポートできますが、削除前に元のURLから取得できることを確認してください。利用可能な唯一の設定まで消してしまうのを防ぐためです。再インポート後は、ルーティングルール、ノード選択、システムプロキシモードが初期値に戻っていないかも確認します。

サブスクリプションの更新とクライアントの更新は別物です。新しいプロトコルパラメータには、より新しいネットワークコアが必要な場合があります。サブスクリプションを更新しただけで、古いコアが対応していない機能を使えるようにはなりません。逆に、クライアントを更新しても、無効になったサブスクリプションURLが自動で置き換わることはありません。これら2つの保守作業は分けて判断してください。

回線ラベル、IEPL、中継、直結、ルーティングルールを理解する

サブスクリプションのノード名には地域や回線のラベルが付くことがよくありますが、名前は設定提供者による説明にすぎません。接続経路を判断するときは、サービスのドキュメントと実際のネットワーク状況を組み合わせ、名前だけからすべての基盤ルートを推測しないでください。

直結・中継・IEPLの違い

直結は通常、ユーザーのネットワークから海外サーバーの公開入口へ直接アクセスする方式を指します。経路は単純ですが、国内通信事業者の出口、国際インターネットの混雑、ルートの変化による影響を受けやすくなります。中継回線では、まず近い入口へ接続し、その後、中継ネットワークが出口ノードまで通信を送ります。一部の経路を改善できますが、効果は入口の品質、中継回線、出口の状態に左右されます。

IEPLは国際イーサネット専用線の一種を指す業界用語で、通常は異なるネットワーク接続拠点間の専用伝送を表します。一般ユーザーの場合、ローカル機器から入口ノードまでの区間は通常のアクセスネットワークを経由する可能性があるため、すべての経路がエンドツーエンドで公衆網を離れていると単純に考えることはできません。現在の用途に適しているかどうかは、接続地点、出口地域、プロトコル互換性、その時点のネットワーク状況も確認する必要があります。

ルーティングによってプロキシを通すリクエストを決める

クライアントでよく使われる方式には、グローバルプロキシ、ルールベースの振り分け、直結があります。グローバルモードでは、処理可能な通信の多くをプロキシへ送るため、回線の確認をすばやく行えますが、ローカルサービスの経路が遠回りになる場合があります。ルールベースの振り分けでは、ドメイン、IP、アプリ、ルールセットに応じて経路を決定します。長期利用に適していますが、ルールが古い、または適用順序を誤ると、ウェブサイト本体はプロキシを通るのに画像APIは直結する、といった問題が起こります。

ルーティングを変更する前に、目的を明確にしてください。国内サイトを直結するか、海外サイトにプロキシを使うか、LANアドレスを除外するか、特定アプリに個別の要件があるかを確認します。出所の不明なルールセットを一度に複数インポートしないでください。問題が起きたとき、どのルールが想定した動作を上書きしたのか判断しにくくなります。

DNSリークがサブスクリプションに関係する理由

DNSクエリはドメイン名をネットワークアドレスへ変換します。通信はプロキシを通っていても、DNSがローカルネットワークから直接問い合わせられると、アクセス先のドメインが露出したり、プロキシ出口に適さない名前解決結果が返されたりする可能性があります。この状態は一般にDNSリーク、またはDNS経路の不一致と呼ばれます。

対処方法はクライアントのモードによって異なります。システムプロキシでは、一部のアプリが独自にDNSクエリを送信することがあります。仮想NICモードはより多くの通信を引き受けられる場合がありますが、DNSサーバー、ルール、フォールバック処理の正しい設定も必要です。暗号化DNSを有効にしても、クエリが必ずプロキシを通るとは限りません。実際の経路を確認してください。切り分けでは、ノードが接続済みかどうかだけでなく、アプリの通信とDNS通信を同時に観察します。

サブスクリプションリンクの保存方法と、漏えい時の対処

サブスクリプションリンクは、アカウント認証情報と同じ基準で保存してください。完全な設定を取得するためのトークンが含まれている場合や、保有者がノード一覧を継続的に更新できる場合があります。リンクがHTTPSで転送されていても、公開、信頼できないツールへの提供、公開場所への保存によってアクセス範囲が広がる可能性があります。

日常の保存・利用ルール

  • 自分が管理するクライアントと信頼できる端末でのみサブスクリプションをインポートする。
  • 完全なリンクを公開コードリポジトリ、共有スクリプト、問題のスクリーンショット、グループチャットの記録に書き込まない。
  • クライアントログを送る前に、サブスクリプションURL、ノードの認証情報、サーバー名、認証フィールドを検索してマスキングする。
  • サブスクリプション内容を扱う際は、ブラウザ拡張機能、オンライン変換ツール、リモートデバッグツールの利用に注意する。
  • クライアントがシステムの認証情報ストレージに対応している場合は優先して使い、設定ファイルに保存するしかない場合はファイルの読み取り権限を制限する。
  • バックアップ時はクラウドディレクトリの共有範囲を確認し、設定ファイルが公開された共同作業スペースへ自動的に入らないようにする。

リンク漏えいを発見した場合の対応手順

  1. サービス管理画面を開き、サブスクリプションのリセット、リンクの再生成、古いリンクの取り消しなどの機能を探す。
  2. 管理画面に該当する項目がない場合は、サービスサポートへ連絡し、古いサブスクリプション認証情報を無効化するよう依頼する。
  3. 新しいリンクを取得したら、自分のクライアントから古いサブスクリプションを削除し、新しいURLをインポートする。
  4. 他の端末とバックアップ先を確認し、古いクライアントが漏えいしたリンクへリクエストし続けないようにする。
  5. 公開ページ、スクリーンショット、リポジトリにある元の内容を削除する。ただし、「削除済み」であることをリンク取り消しの代わりにしてはいけない。

メッセージを削除しただけでは、リンクがコピーされていないとは確認できず、すでに取得された設定が自動的に無効になることもありません。確実な対処の要点は、サーバー側の認証情報を取り消すか交換することです。交換後もクライアントに古いノードが表示される場合は、通常、ローカルキャッシュが残っています。古いサブスクリプショングループを削除して再読み込みし、古いURLを何度も更新し続けないでください。

インポート失敗・ノードが空・接続異常の切り分け手順

トラブル解決では、段階ごとに確認する方法が最も効果的です。まずサブスクリプションを取得できるか、次にクライアントが解析できるか、その後ノードが接続を確立できるか、最後にシステムプロキシ、DNS、ルーティングを確認します。複数のクライアントを直接行き来すると、形式の問題、ネットワークの問題、システム設定が混在しやすくなります。

症状 考えられる原因 優先して行う対処
サブスクリプションのダウンロードに失敗すると表示される リンクが途中で切れている、基本ネットワークに問題がある、またはサブスクリプションURLが無効になっている 管理画面から再コピーし、URL全体を確認して手動更新する
ダウンロードは成功したがノードが空 クライアントが返却形式に対応していない、または設定のフィルタールールがノードを非表示にしている クライアントの種類とサブスクリプション形式を照合し、グループとフィルター条件を確認する
ノードは表示されるが接続できない プロトコルコアの非互換、UDPの制限、システム時刻の異常、または回線への到達不可 対応するコアへ更新し、別のプロトコルまたは同じ地域の別回線へ切り替える
クライアントは接続済みだがウェブページを開けない システムプロキシが有効になっていない、DNS経路が誤っている、またはルールがリクエストを誤った出口へ送っている 一時的にシンプルなプロキシモードを使って確認し、その後ルーティングを1項目ずつ戻す
一部のウェブサイトは正常だが、一部のリソースに失敗する ドメインの振り分けが不完全、アプリ独自のDNSを使用、またはリソースごとに異なる経路を通っている リクエスト先ドメイン、DNS設定、ルールの適用順序を確認する
更新後も古い回線が表示される クライアントがキャッシュを読み込んでいる、または別のサブスクリプショングループを更新している 設定名と更新時刻を確認し、必要に応じて再インポートする

混乱しにくい確認方法

  1. 現在の端末の通常ネットワークから、サービス管理画面とサブスクリプション入口へアクセスできることを確認する。
  2. サブスクリプションURLがアカウント管理画面のものであり、コピー中にスペースや改行が追加されていないことを確認する。
  3. クライアントがサブスクリプション形式と、そこに含まれるプロトコルおよび転送方式に対応していることを確認する。
  4. サブスクリプションを手動更新し、「失敗」という表示だけでなく、クライアントが返した具体的なエラーを記録する。
  5. 同じ地域の別回線を選び、単一ノードの異常か設定全体の異常かを切り分ける。
  6. 一時的にルーティングとDNS設定を簡略化し、基本接続を確認してからカスタムルールを戻す。
  7. 判断できない場合は、クライアント名、プラットフォーム、プロトコルの種類、機密情報を除去したエラーログをサポート担当者へ伝える。

ログをマスキングするときは、アカウント名だけを隠してはいけません。サブスクリプションURL、UUID、パスワード項目、証明書の秘密鍵、ノードの認証情報、完全な設定内容にもアクセスに使える情報が含まれる可能性があります。サポート担当者が問題を判断できるよう、エラーの種類、発生した段階、プロトコル名、システム環境は残しつつ、接続にそのまま再利用できる内容を削除してください。

初心者が覚えておきたい基本の考え方

サブスクリプションリンクは設定を配布し、プロキシプロトコルは接続を確立し、クライアントは設定を解析して通信を引き受け、ルーティングとDNSは各リクエストの経路を決めます。これらの層を分けて考えれば、インポート失敗、接続失敗、アクセス異常は同じ問題ではないと分かります。

日常利用では、サービス管理画面から現在のクライアントに適したサブスクリプションをコピーし、定期的に更新し、リンクを機密性の高い認証情報として扱ってください。問題が起きたら「取得、解析、接続、ルーティング、DNS」の順に確認します。漏えいが発生した場合は、古いリンクを取り消し、自分が使うすべてのクライアントを更新することが重要です。これにより設定のやり直しを減らし、信頼できないツールや公開経路へサブスクリプション全体が広がるのを防げます。