サブスクリプションリンクとは?クライアントが接続設定を読み込むための専用URLです。クライアントがこのURLにアクセスすると、ノード名、サーバーの接続先、ポート、プロトコルのパラメータ、認証情報を取得し、選択可能な接続先として整理します。通常のWebページでも、単一ノードの固定ダウンロードファイルでもありません。サーバー側で接続先が更新されれば、同じリンクから新しい設定を取得できるのが一般的です。
そのため、ノード情報を1件コピーして長期間使い続けるのではなく、ユーザーパネルからサブスクリプションリンクを取得し、対応クライアントにリモート設定として追加して、ノードの不具合や構成変更、長期間未使用のタイミングで手動更新するのが基本です。これを理解しておけば、「パネルには新しい接続先があるのに、クライアントには古い一覧が表示される」という問題を避けられます。
サブスクリプションリンクに含まれる情報
サブスクリプションリンク自体は単なるURLで、実際に重要なのはサーバーから返される設定内容です。クライアントによって対応する設定形式は異なります。行単位でエンコードされたノードURIを読むもの、YAMLを読むもの、JSONを読むもの、クライアントの識別情報に応じて形式を切り替えるものがあります。追加できるかどうかは、サーバーの出力形式とクライアントの解析能力が一致するかで決まります。
| 設定項目 | 役割 | 確認ポイント |
|---|---|---|
| ノード名 | 地域、接続先、回線タイプを示し、クライアントで選びやすくする | 名前の変更はサーバー側の調整によることが多く、ローカル設定の破損を意味するとは限らない |
| サーバーとポート | クライアントが接続する入口を指定する | 接続先はメンテナンスで変わることがあるため、サブスクリプションを更新して新しい値を取得する |
| プロトコルパラメータ | ハンドシェイク、通信方式、暗号化、認証方法を定義する | クライアントが該当プロトコルとパラメータの組み合わせに対応している必要がある |
| 認証情報 | 設定を使って接続を確立する権限があるか確認するために使われる | 機密情報にあたるため、信頼できないツールにコピーしない |
| グループとルール | ノードの分類方法と、どの通信をプロキシ経由にするかを決める | 汎用サブスクリプションのすべてが完全なルーティングルールを含むとは限らない |
Shadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICはいずれもサブスクリプション設定に含まれることがあります。ただし、「サブスクリプション形式」と「接続プロトコル」は同じものではありません。サブスクリプション形式は設定をクライアントに渡すためのもので、接続プロトコルはクライアントとサーバーが通信する方法です。あるクライアントが特定のサブスクリプション形式を読み込めても、設定内のすべてのプロトコルを実装しているとは限りません。
プロトコルは異なる通信方式に依存する場合もあります。Hysteria2とTUICはUDPベースの経路を重視するため、利用中のネットワークでUDPが厳しく制限されていると、TCP系プロトコルとは接続状況が異なることがあります。VLESS、VMess、TrojanもTLS、WebSocketなどの通信パラメータと組み合わせられる場合があります。プロトコル名だけで判断せず、クライアントのバージョン、通信方式への対応、設定の完全性を同時に確認してください。
ユーザーパネルからサブスクリプションリンクを取得
まずユーザーパネルにログインし、概要、サブスクリプション、またはクライアントのダウンロード画面を開いて、利用中のサービスに対応するサブスクリプション項目を探します。コピー用リンク、クイック追加、クライアント別の形式が同時に表示されることもあります。使用するクライアントに明確に対応した項目を優先し、専用形式がない場合だけ汎用サブスクリプションを使いましょう。
- サービス状態を確認する。まず現在の設定が利用可能か確認し、サービス側の問題をクライアントへの追加失敗と取り違えないようにします。
- クライアント形式を選ぶ。デスクトップとモバイルでは読み込む設定構造が異なる場合があり、名前が似ていても併用できるとは限りません。
- 完全なサブスクリプションURLをコピーする。先頭、末尾、クエリパラメータを欠かさず、文字を手動で変更しないでください。
- そのままクライアントへの追加に進む。サブスクリプションURLがクリップボードやチャットツールに残る時間を短くします。
- 追加後すぐに更新する。クライアントがノード一覧を取得できたことを確認し、空の設定名だけが保存された状態ではないことを確かめます。
- ✅ URLは検索結果や第三者の解説ではなく、04VPNのユーザーパネルから取得する。
- ✅ 選択した出力形式が、クライアントのドキュメントに記載されたサブスクリプション形式と一致している。
- ✅ 追加後に地域名または回線名が表示され、設定を更新できる。
- ❌ サブスクリプションリンクを公開オンラインのデコード、速度測定、変換ページに貼り付けない。
- ❌ アドレスバー、QRコード、トークンを含むエラーログをスクリーンショットで共有しない。
Windows・macOSでのクライアントへの追加
Windows:システムプロキシと仮想NICモードを区別する
Windowsのクライアントでは、「URLから追加」「リモート設定を追加」「サブスクリプション管理」などの項目が一般的です。URLを貼り付けたら、識別しやすい名前を設定して保存し、更新を実行します。ノード一覧が表示されたら、まず接続先を1つ選び、その後にシステムプロキシと仮想NICモードのどちらを使うか決めます。
システムプロキシは、OSのプロキシ設定に従うアプリを主に制御します。一部のゲーム、コマンドラインツール、独自のネットワーク処理を行うソフトは、この設定を読み取らないことがあります。仮想NICモードはより低い層で通信を制御するため、対象範囲は一般に広くなりますが、対応ドライバーの権限が必要で、他のネットワークフィルタリングソフトと競合しやすくなります。ブラウザーは利用できるのに他のアプリが使えない場合は、サブスクリプションを何度も削除する前に、現在のモードを確認してください。
Windowsでは、ローカルファイアウォール、セキュリティソフトのネットワークフィルター、残ったプロキシ設定にも注意が必要です。クライアント終了後もWebページを開けない場合は、システムプロキシが元に戻っているか確認します。クライアントは接続済みなのに通信がない場合は、選択したノード、ルーティングモード、仮想NICの状態を確認してください。
macOS:システム権限と通信の取り込み範囲を確認する
macOSでも、リモートサブスクリプションまたはURL設定の項目から追加を始めます。初回の有効化では、VPN構成、ネットワーク拡張機能などの許可を求められることがあります。追加に成功したのは設定が保存されたことを示すだけで、システムの許可が済んでいなければ通信がクライアントを通らない場合があります。
クライアントにメニューバーから操作する機能があれば、接続後に現在のノードとルーティングモードを確認できます。ブラウザーは正常なのにターミナルや他のアプリで挙動が異なる場合は、システムプロキシとトンネルモードのどちらを使っているか確認してください。スリープ復帰、ネットワーク切り替え、システム更新後に不具合が出たら、まず切断して再接続し、サブスクリプションを更新します。最初からクライアントを再インストールする必要はありません。
| プラットフォーム | 追加方法 | 主な権限 | 確認ポイント |
|---|---|---|---|
| Windows | リモート設定、サブスクリプション管理、URLから追加 | 仮想NICドライバー、ネットワークアクセス | 残存するシステムプロキシ、モード選択、プロトコル対応 |
| macOS | リモートサブスクリプションまたは設定を追加 | VPN構成、ネットワーク拡張機能 | 権限の承認、スリープ復帰、通信の取り込み範囲 |
iOSとAndroidの追加方法の違い
iOS:追加後にVPN構成を許可する
iOSのクライアントでは、クリップボード、URL、QRコードから追加できるのが一般的です。サブスクリプションURLには認証情報が含まれるため、QRコードを使う場合は自分のデバイス間だけで表示し、公開アルバムや共有スペースには保存しないでください。追加が完了すると、システムからVPN構成の許可を求められます。クライアント内にノード一覧が表示されても、システムがトンネルの作成を許可したとは限りません。
モバイル通信とWi-Fiを切り替えた後は、以前の接続を再確立する必要がある場合があります。特定のアプリが想定どおり回線を通らないときは、サブスクリプションが無効になったと決めつける前に、クライアントで分割ルーティング、ドメインルール、LAN回避が有効になっていないか確認してください。iOSのバックグラウンド処理の管理がリモート設定の更新に影響することもあるため、重要な変更後はクライアントを開いて手動更新しましょう。
Android:バックグラウンド制限と常時接続設定を確認する
Androidのクライアントでは、通常URLからサブスクリプションを新規追加できます。保存後に更新を実行し、ノードを選択してシステムのVPN接続リクエストを許可します。バックグラウンド処理や省電力設定の扱いは端末メーカーによって異なります。クライアントがシステムによって停止されると接続が切れ、定期更新も遅れることがあります。継続して使う場合は、端末の設定でクライアントが正常にバックグラウンド動作できるようにしてください。
Androidでは、アプリごとのプロキシ、グローバルルーティング、LAN回避などの設定が同時に用意されている場合もあります。アプリごとのプロキシは指定したアプリだけを回線経由にするのに適していますが、新しく追加したアプリには以前の選択が自動適用されません。グローバルルーティングは対象範囲が広い一方、ローカルサービスに影響することがあります。追加後は必要なルーティングを確認してからモードを選びましょう。
- ✅ iOSでシステムのVPN構成を許可し、ステータスバーとクライアントの接続状態が一致している。
- ✅ AndroidでクライアントによるVPN接続を許可し、バックグラウンド動作の制限を確認している。
- ✅ Wi-Fiからモバイル通信へ切り替えた後、接続と出口を再確認している。
- ❌ 「ノードを追加できた」ことを、そのまま「すべてのアプリが回線を通る」ことと同一視しない。
自動更新はどのくらいの頻度で実行される?
サブスクリプションリンクの自動更新間隔は統一されていません。更新頻度は、クライアント、設定方法、バックグラウンド動作の状態、端末側の設定によって決まります。起動時に更新するクライアントもあれば、設定した周期で取得するもの、ユーザーが更新をタップしたときだけサーバーへリクエストするものもあります。モバイルOSがバックグラウンド処理を停止すると、予定された更新が次回クライアントを開くまで実行されないこともあります。
自動更新は便利な補助機能として扱い、唯一の確認手段にしないのが確実です。ノード名の変更、回線メンテナンス、連続した接続失敗、クライアントを長期間開いていなかった場合は、まず手動更新を実行します。更新後にノード一覧の変化を確認し、接続先を選び直してください。それでも古い内容が表示される場合は、原因を確認せずリンクを何度もリセットするのではなく、クライアントの設定キャッシュを削除して再追加します。
サブスクリプションの更新は通常、リモート設定だけを置き換え、ローカルのカスタマイズまでは上書きしません。ただし、手動追加したルール、ノード選択、プロキシグループを保持するクライアントもあれば、更新時に設定全体を再構築するクライアントもあります。分割ルーティングを変更する前に、ローカルの上書き設定がどこに保存されるか確認し、リモート更新で調整内容を失わないようにしてください。
追加後に分割ルーティングとDNSを確認する
ノードに接続できても、すべての対象通信が想定どおり通っているとは限りません。分割ルーティングのルールは、ドメイン、アドレス範囲、アプリ、ルールセットに応じて、直接接続、プロキシ、拒否のいずれかを決めます。ルールモードはローカルサービスを直接接続のままにするのに適しています。グローバルモードはルールの誤判定を切り分けやすく、直接接続モードはプロキシを無効にした基準状態の確認に使えます。
切り分けでは、まず出口IPの所在が選択した地域と一致するか確認し、次にDNSリクエストをどこで解決しているかを確認します。通信が回線を通っていてもDNSだけがローカルネットワークで解決されると、DNS漏えい、名前解決結果の不一致、解決場所に応じたサービス内容の違いが生じることがあります。クライアントの暗号化DNS、リモートDNS、トンネル内DNSを有効にする場合は、関連リクエストが誤ってローカルへ戻らないよう分割ルーティングのルールも確認してください。
アプリごとの設定にも注意が必要です。ブラウザー拡張、システムプロキシ、仮想NIC、アプリ内プロキシが同時に存在すると、二重プロキシや意図しない回避が起きやすくなります。余分な入口を一時的に無効にし、1つの方式だけで確認するのがおすすめです。出口、DNS、対象アプリが正常だと確認してから、カスタム設定を1つずつ戻してください。
- 接続状態を確認する。現在選択されているのが、更新直後のノードであることを確認します。
- 出口の場所を確認する。接続のオン・オフで出口の所在を比較し、通信経路が変わったことを確認します。
- DNSの経路を確認する。名前解決の結果が、クライアントのリモートDNSまたは暗号化DNSの設定に合っているか確認します。
- 個別のアプリを確認する。ブラウザー、オフィスソフト、接続が必要なアプリを個別にテストし、アプリ別ルールの漏れを切り分けます。
- ネットワーク切り替えを確認する。普段使うネットワークを切り替えた後に再確認し、クライアントが接続を復旧できることを確認します。
サブスクリプションリンクが漏えいした場合のリセット方法
サブスクリプションURLを公開場所に投稿した、不審な変換ツールに入力した、共有スクリーンショットに表示した、または第三者が完全なリンクを取得した可能性がある場合は、ユーザーパネルでサブスクリプションをリセットしてください。目的は、古いトークンを無効にして新しいサブスクリプションURLを発行することです。チャット履歴からリンクを削除するだけでは、すでにコピーされた内容の利用を止められるとは限りません。
- ユーザーパネルを開く。サブスクリプション管理、設定のセキュリティ、リセット項目を探します。
- リンクをリセットする。古いURLが今後の設定取得元として使えなくなることを確認します。
- 新しいURLをコピーする。クライアントに対応する形式でサブスクリプションを再取得します。
- 古い設定を削除する。自分が使っている各デバイスから旧リモートサブスクリプションを削除し、クライアントが更新エラーを出し続けないようにします。
- 再追加して更新する。ノード一覧、プロトコル対応、ルーティングモード、DNS設定を確認します。
リセット後も、クライアントに追加済みの古いノードが画面からすぐ消えるとは限りません。ローカルに前回取得した設定が残っている可能性があるためです。ただし、古いサブスクリプションから新しい内容を取得し続けることはできず、認証情報も無効になる場合があります。クライアントが自動的に整理するのを待つのではなく、古い設定を手動で削除してください。複数のデバイスでリンクを使っていた場合は、すべてのデバイスで置き換える必要があります。
よくある障害を症状別に対処する
| 症状 | 優先して確認する項目 | 対処の方向性 |
|---|---|---|
| サブスクリプション形式エラーと表示される | クライアント形式、コピーの完全性、クライアントのバージョン | 対応する形式に切り替え、完全なURLをコピーし直す |
| 更新は成功するが一覧が空になる | 返却形式を解析できるか、サービス状態 | パネルの状態を確認し、専用サブスクリプション項目に切り替える |
| ノードはあるがすべて接続できない | プロトコル対応、システム権限、現在のネットワーク制限 | クライアントを更新し、UDPまたはTCPの経路と権限を確認する |
| ブラウザーは使えるが他のアプリは使えない | システムプロキシ、仮想NIC、アプリ別ルール | 通信の取り込みモードを調整し、アプリが分割ルーティングの対象外になっていないか確認する |
| 更新後も古い回線が表示される | 設定キャッシュ、選択中の設定ファイル | 手動更新し、現在の設定を確認し、必要なら再追加する |
| 接続済みだが場所が変わらない | 出口IP、分割ルーティングのルール、二重プロキシ | グローバルモードに切り替えて確認し、余分なプロキシ入口を無効にする |
サブスクリプションの問題は、リンクの取得元と形式を確認し、次にクライアントが設定を正常に読み込めたかを確認し、その後プロトコルとシステム権限、最後に分割ルーティング、DNS、個別アプリを確認する順番に固定できます。段階的に進めれば、回線、クライアント、ルーティングの問題を混同せずに済みます。