サブスクリプションリンクとは?簡単に言えば、サーバー側で生成され、クライアントが読み込む設定の入口です。クライアントがこのアドレスにアクセスすると、サーバー名、ポート、プロトコルのパラメータ、ルール分岐に必要な情報などを取得し、選択可能な接続先一覧に整理します。通常のウェブページでも、特定のプロトコルでも、永久に変わらないサーバーアドレスでもありません。
通常、サーバーのパラメータを一つずつ手入力する必要はありません。サービスのユーザーパネルから専用のサブスクリプションURLをコピーし、信頼できるクライアントで「URLから追加」などの機能を選んで更新します。この仕組みを理解しておけば、追加失敗、接続先が更新されない、古いノードが残る、リンクが流出するといった問題も切り分けやすくなります。
サブスクリプションリンクに含まれる情報
クライアントがサブスクリプションURLをリクエストすると、サーバーは機械可読形式の設定を返します。エンコードされたノード一覧の場合もあれば、YAML、JSON、クライアント専用形式の場合もあります。形式によってフィールド名は異なりますが、通常はサーバーの接続先、ポート、通信プロトコル、認証情報、TLSパラメータ、接続先のメモ、グループルールなどが記述されます。
サブスクリプションURL自体が接続プロトコルを決めるわけではありません。1つのサブスクリプションにShadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICの設定を同時に含めることも、いずれか1種類だけを含めることもできます。クライアントが該当するプロトコルと通信方式に対応していなければ、サブスクリプションの取得に成功しても接続できない場合があります。
| 項目 | 役割 | よくある誤解 | 基本方針 |
|---|---|---|---|
| サブスクリプションURL | クライアントが最新設定を取得するための入口 | 通常の公開ダウンロードURLとして扱う | 信頼できる端末とクライアントだけに保存する |
| 接続先エントリー | サーバーの接続先と接続パラメータを示す | 各エントリーを個別購入する項目だと考える | 地域、回線タイプ、実際の接続状況を基準に選ぶ |
| プロトコルパラメータ | 認証方法とデータの転送方法をクライアントに伝える | 接続先の名前だけを見て、クライアントの互換性を確認しない | クライアントのコアが該当プロトコルに対応しているか確認する |
| ルール分岐 | どのリクエストをプロキシ経由にするか決める | サブスクリプション追加後はすべての通信が必ず同じ経路を通ると考える | 現在の動作モードとルールの適用結果を確認する |
| 更新機能 | サーバー側で変更された設定を取得する | 初回追加後は永久に自動同期されると考える | 自動更新設定を確認し、重要な変更後は手動で更新する |
プロトコルとサブスクリプション形式は別の概念
Shadowsocksは共有キーと暗号化方式でプロキシ接続を確立します。VMessには独自の認証および通信パラメータがあります。Trojanは通常TLSと組み合わせて利用されます。VLESSは軽量な認証を担い、実際の安全性や通信特性はTLS、REALITYなどの方式にも左右されます。Hysteria2とTUICは主にUDPベースの通信環境を想定しています。プロトコルは「クライアントがサーバーへ接続する方法」を、サブスクリプション形式は「設定をクライアントへ渡す方法」を定めるものです。
サブスクリプションの返却データがYAMLだからといって、YAMLというプロトコルを使っているわけではありません。YAMLは設定ファイルの表現形式にすぎません。同様に、QRコードも通常はリンクや単一の設定をスキャンしやすい形に変換したもので、プロトコルの機能を変えるものではありません。
ユーザーパネルから取得して安全に保存する
まず、OvVPNのユーザーパネルからサブスクリプションまたはクライアントのダウンロード画面を開きます。ボタン名は「サブスクリプションをコピー」「クライアントに追加」「サブスクリプションURL」など、近い表記になっている場合があります。コピーする前に正しいサイトを開いていることと、ブラウザのアドレスが置き換えられていないことを確認し、共有環境にクリップボードの内容を残さないようにしてください。
パネルに汎用サブスクリプション、特定クライアント用サブスクリプション、複数の設定形式が用意されている場合は、使用するクライアントに合う入口を優先します。汎用形式は対応範囲が広い一方、複雑なグループ戦略を完全に表現できないことがあります。クライアント専用形式はグループ、ルール、ヘルスチェック設定を保持しやすい反面、他のソフトでは認識できない場合があります。
- ユーザーパネルにログインし、サブスクリプションまたはクライアントのダウンロード画面を開く。
- 対象プラットフォームとクライアントが対応する設定形式を確認する。
- パネルのコピー機能で完全なURLを取得し、手入力しない。
- そのまま対象クライアントへ切り替え、「URLから追加」機能に貼り付ける。
- 追加後、不要になったクリップボードの内容を消去し、接続先一覧が表示されるか確認する。
- 接続先を1つ選んで接続し、出口アドレスとDNSの解決経路を確認する。
- ✅ リンクがログイン済みの正式なユーザーパネルから取得されたものである。
- ✅ クライアント名、入手元、システムプラットフォームが一致している。
- ✅ 追加時にURLサブスクリプションを選び、単一ノードのサーバー欄に誤入力していない。
- ✅ 追加後、サブスクリプション名、接続先一覧、更新時刻を確認できる。
- ❌ 完全なリンクを公開フォーラム、グループチャット、問い合わせの件名に貼り付けない。
- ❌ 見知らぬウェブページでサブスクリプションURLを解析、短縮、変換しない。
- ❌ スクリーンショットにリンク、QRコード、認証パラメータを残さない。
各プラットフォームのクライアントに追加する方法
プラットフォームごとにボタン名や権限の仕組みは異なりますが、基本的な流れは共通しています。クライアントがサブスクリプションURLを受け取り、設定をダウンロードして接続先を解析し、ネットワークコアがローカルプロキシまたは仮想ネットワークインターフェースを構築します。重要なのは、クライアントが返却形式に対応しているか、プロトコルコアが十分に対応しているか、システムがネットワーク接続権限を許可しているかです。
Windowsデスクトップ環境
Windowsクライアントでは通常、「サブスクリプション管理」「設定ファイル」「リモート設定」などの画面に追加入口があります。アドレスを貼り付けたら、まず更新を実行してからメイン画面に戻り、接続先を選びます。サブスクリプション名だけ追加されてノードが表示されない場合は、まず更新ログを確認してください。URLの途中切れ、非対応の返却形式、システムプロキシによるリクエスト遮断、端末時刻のずれによるTLS検証失敗などがよくある原因です。
接続後は「システムプロキシ」と「仮想ネットワークインターフェース」のモードも区別する必要があります。システムプロキシは、システムのプロキシ設定に従うアプリを主に制御します。仮想ネットワークインターフェースはより多くのプログラムを対象にできますが、対応するドライバーと権限が必要です。特定のアプリが接続先を経由しない場合、すぐにサブスクリプションを変更せず、まずそのアプリが現在の制御方式に従うか確認してください。
Appleプラットフォーム
Appleプラットフォームのクライアントは、システムが提供するネットワーク拡張機能を利用します。URLを追加すると、システムから新しいネットワーク設定の追加確認を求められる場合があります。クライアントがバックグラウンドで定期更新できるかは、システムのスケジュール管理やアプリの状態に左右されるため、「自動更新を有効にした」だけで起動のたびに最新設定を取得すると考えないでください。
他のアプリから移動して追加する場合は、起動しようとしているクライアントが正しいか確認してください。リンクがブラウザやチャットツールを経由すると、プレビューサービスがアクセスする可能性があります。より安全なのは、ユーザーパネルでコピーしてから信頼できるクライアントを直接開き、貼り付ける方法です。QRコードで追加する場合も、画面とスキャンする端末の両方を自分で管理できるときだけ使用してください。
Android端末
Androidクライアントでは通常、クリップボード、URL、QRコードから追加できます。ネットワーク接続の許可が表示されますが、これはローカルVPNインターフェースの構築に必要なシステム権限です。追加後に接続先が表示されても接続できない場合は、省電力設定、バックグラウンド通信権限、クライアントコアのバージョン、現在のネットワークが選択した通信方式を許可しているかを個別に確認してください。
一部のクライアントでは、サブスクリプション設定とローカル変更を分けて管理します。サブスクリプションから生成されたノードを直接編集すると、次回更新時に上書きされることがあります。ルール分岐をカスタマイズする場合は、サービス側から配布された項目を変更せず、独立したローカル上書き、ルールセット、またはクライアントの拡張設定を優先してください。
Linuxとルーター環境
LinuxクライアントにはGUIが用意されている場合もあれば、リモート設定をコマンドラインコアに渡す必要がある場合もあります。コマンドライン環境では、他のユーザーが読めるスクリプト、ターミナル履歴、公開設定リポジトリにサブスクリプションURLを直接記述しないでください。権限を制限した設定ファイル、環境変数から読み込む仕組み、クライアント独自の認証情報ストレージなどを利用できます。
ルーター環境では複数の端末の通信を処理するため、設定を更新する前に復元可能な現在の設定を保存し、新しい形式を現在のコアが解析できることを確認してください。更新後にサービスが起動しない場合は、サブスクリプションへのリクエストを繰り返すのではなく、解析エラーを確認します。フィールドの非互換、インデントの誤り、コアが新しいプロトコルに未対応であることなどが、設定読み込みの失敗につながります。
サブスクリプションはどのくらいの頻度で更新する?
すべてのサービスやクライアントに共通する更新間隔はありません。ウェブページのように頻繁に更新すればよいわけでもありません。サーバー側で接続先が追加・変更された、パネルでサブスクリプションをリセットした、クライアントが長期間同期していない、接続先一覧とパネルの内容が明らかに一致しない、現在の接続先がすべて使えない、といった状況で更新してください。
自動更新は日常的な同期に役立ちますが、クライアントがフォアグラウンド、バックグラウンド、起動時のどのタイミングで実行するか確認が必要です。システムによっては使用頻度の低いアプリのバックグラウンド処理を停止し、クライアントによってはサブスクリプション管理画面を開いたときだけ更新を確認します。本当に更新されたかは、スイッチの状態だけでなく、表示された更新時刻、更新ログ、接続先一覧の変化で判断してください。
- ✅ パネルで接続先設定の変更が通知されたら更新する。
- ✅ クライアントを変更または再インストールしたら、パネルから現在のサブスクリプションを再取得する。
- ✅ 接続先名、グループ、選択可能な地域がパネルと一致しない場合は手動で更新する。
- ✅ 更新に失敗したらエラー情報を保存し、システム時刻とネットワーク接続を確認する。
- ❌ プロトコルの非互換を解決するために、短時間で更新を繰り返さない。
- ❌ 最初の対処として、ローカル設定をすべて削除しない。
サブスクリプションを更新すると、通常はリモート設定から生成された接続先が上書きされますが、ローカルルール、選択履歴、上書き内容まで必ず削除されるとは限りません。具体的な動作はクライアントによって異なります。大きな変更を行う前に、機密性の高いサブスクリプション認証情報を含まないローカルルールのバックアップを出力し、現在の動作モードを記録しておくと、異常時に復元しやすくなります。
追加失敗や接続トラブルの切り分け方
サブスクリプションの不具合は、ダウンロード、解析、接続、ルーティングの4段階に分けて考えられます。どの層で問題が起きているかを先に特定すれば、DNSの問題をサブスクリプションの失効と誤認したり、単一の接続先の異常で全設定を何度もリセットしたりせずに済みます。
クライアントがサブスクリプションをダウンロードできない
まずURLが完全か、先頭や末尾に余分な空白がないか、コピー中に改行で途切れていないかを確認します。その後、ユーザーパネルから再度コピーし、古いURLをもとに文字を手入力で補わないでください。クライアントログに証明書やTLS検証の問題が表示される場合は、システムの日付、時刻、証明書環境を確認します。タイムアウトの場合は、現在のネットワークからサブスクリプションサーバーへアクセスできるかを確認し、アカウントが無効だとすぐに判断しないでください。
ダウンロードは成功したのに接続先がない
これは通常、形式または解析の問題です。汎用Base64リスト、ClashやMihomoで使われるYAML、sing-boxで使われるJSONを、すべてのクライアントが相互に読み込めるわけではありません。パネルに戻って対応する形式を選ぶか、その形式とプロトコルをサポートするクライアントに変更してください。設定には完全な認証パラメータが含まれる可能性があるため、テキストをオンライン解析サービスにアップロードしないでください。
接続先はあるのに接続できない
まず同じサブスクリプション内の別の接続先に切り替え、単一設定の異常か、全設定の異常かを確認します。続いて、プロトコルコアが該当するShadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICのパラメータに対応しているか確認します。UDPベースの通信は一部のネットワークで制限されることがあるため、サーバー側が実際に提供し、現在のネットワークでも利用できる別の回線タイプを選んでください。
接続できるのにウェブサイトが開かない
この場合、サブスクリプションのダウンロードとプロトコルのハンドシェイクは完了している可能性があり、問題はDNS、ルール分岐、アプリの制御層にあると考えられます。クライアントが現在、グローバル、ルール、直結のどのモードかを確認し、対象ドメインがどのルールに適用されたかを確認してください。ルールによって対象アドレスが直結と判定されているなら、接続先を変えても結果は変わりません。
DNSリーク、ルール分岐、出口の確認
サブスクリプションを追加して接続できても、すべてのドメイン解決やアプリの通信が自動的に同じ出口を通るとは限りません。実際の経路は、クライアントの制御モード、DNS設定、ルール分岐によって決まります。DNSリークとは通常、プロキシ側または指定したリゾルバーで処理されるはずの問い合わせが、ローカルネットワークのデフォルトDNSで解決され、アクセス先のドメインが露出したり、地域判定に不一致が生じたりする状態です。
確認時は、出口アドレスとDNSの解決結果を同時に確認してください。出口アドレスが変わったことは、テスト通信が対象の接続先を通ったことを示すだけで、すべてのDNS問い合わせが想定した経路に従っていることまでは証明しません。ウェブページに表示される出口地域が正しくても、コンテンツの地域が一致しない場合は、DNSキャッシュ、ブラウザのセキュアDNS、アプリ独自の名前解決、アカウントの地域設定などが原因の可能性があります。
ルール分岐は通常、ドメイン、IP、アプリ、ルールセットに基づいて経路を決めます。ルールモードは、国内サービスを直結のままにし、対象サービスを接続先経由にする用途に適しています。グローバルモードは、ルールの誤判定かどうかを素早く確認するのに便利です。直結モードは一時的にプロキシ制御を停止するために使います。切り分けが終わったら、実際の用途に合うモードへ戻し、ルールの問題をグローバル転送で隠したままにしないでください。
- ✅ クライアントの現在の動作モードが想定どおりか確認する。
- ✅ 対象ドメインに適用されたルールと最終的な出口を確認する。
- ✅ システム、ブラウザ、クライアントに残っている可能性のあるDNSキャッシュを消去する。
- ✅ ブラウザやアプリで独自の名前解決設定が有効になっていないか確認する。
- ❌ 1つのウェブページの出口結果だけで、経路全体を確認したことにしない。
- ❌ 地域判定の違いをすべてサブスクリプションリンクの問題だと決めつけない。
サブスクリプションリンクが流出したらすぐに行うこと
完全なサブスクリプションURL、QRコード、設定内容が公開された場合は、認証情報が流出したと考えてください。公開メッセージを削除するだけでは不十分です。リンクがコピー、キャッシュされたり、プレビューサービスからアクセスされたりしている可能性があるためです。正しい対応は、古い認証情報を無効にしてから、新しいアドレスを自分の端末へ追加することです。
- ユーザーパネルを開き、サブスクリプションをリセット、取り消し、再生成する機能を使う。
- ローカルのメモを変更するだけでなく、古いサブスクリプションが有効な設定を返さなくなったことを確認する。
- 自分が使用するクライアントから古いリモートサブスクリプションを削除する。
- パネルから新しいアドレスをコピーし、信頼できる端末に再追加する。
- 古いリンクを含むスクリーンショット、メモ、チャット履歴、設定リポジトリを削除する。
- パネルにリセット機能がない場合は、流出した場所と実施済みの対策をサポート窓口に伝える。
クライアント内の接続先名を変更したり、ノードを削除したり、ローカル接続を停止したりしても、サーバー側のサブスクリプション認証情報は無効になりません。クライアントを再インストールしても、サーバー側でのリセットの代わりにはなりません。古いアドレスが取り消されて初めて、古いコピーを持つ人が元の入口から後続の設定を取得できなくなります。
初心者が追加後に行う最終チェック
サブスクリプション管理の目的は、接続先一覧を長くすることではなく、取得元が正しく、形式に互換性があり、更新を制御でき、認証情報が流出していない状態を保つことです。初回追加後は、次の確認項目を順番にチェックしてください。満たさない項目があれば、該当する段階に戻って対処すればよく、最初からすべてをやり直す必要はありません。
- ✅ サブスクリプションは正式なユーザーパネルから取得し、第三者の変換サービスを経由していない。
- ✅ クライアントにサブスクリプション名、接続先一覧、更新状態が表示される。
- ✅ 選択したクライアントコアが、サブスクリプション内のプロトコルと通信パラメータに対応している。
- ✅ 接続後の出口地域が、選択した接続先と一致している。
- ✅ DNS解決とルール分岐の結果が、現在の動作モードに合っている。
- ✅ リモート設定とローカル上書きが分けて保存され、更新によって必要なルールが誤って削除されない。
- ✅ サブスクリプションが公開スクリーンショット、共有ドキュメント、ターミナル履歴に残っていない。
- ✅ ユーザーパネルから古いサブスクリプションをリセットする場所を把握している。