サブスクリプションリンクとは:初心者向け完全ガイド
サブスクリプションリンクはノード設定を指すURLで、クライアントが一度取得すれば回線リスト全体が手に入ります。本記事では単体ノードリンクとの違い、取得場所、各プラットフォームでの読み込み方、更新頻度、リンク漏えい時の対処順序を解説し、最後にそのまま使えるチェックリストを添えます。
サブスクリプションリンクはhttpsで始まるURLで、クライアントが一度リクエストすると複数の回線を含む設定を取得できます。これが解決するのはメンテナンスの手間です。回線の追加・差し替え・グループ調整があっても、利用者は何もコピーし直す必要がなく、「サブスクを更新」を一度押すだけです。
サブスクリプションリンクとは
サブスクリプションリンク自体は暗号化方式を記述しておらず、読める形のアカウント情報も含んでいません。指し示しているのはサーバー側が生成した1つのテキストです。クライアントはそのテキストを形式に従って解析し、各行を接続可能な回線として復元します。リンクは通常次のような形です:
https://sub.example.com/quartz/v2/client/subscribe?token=9c1f4a7b2d
疑問符の後ろにあるtokenが、そのサブスクが誰のものかを決めます。リンクにユーザー名やログインパスワードは含まれませんが、リンクを手にした人は同じ回線リストを取得できます。この点は後述の漏えい時の対処で詳しく触れます。1つのサブスクは複数の端末に読み込め、同時接続台数に制限はありません。回線リストはサーバー側で一元管理されます。
サーバーが返す内容には代表的な2つの形式があります。1つはbase64でエンコードされたノードリンクの一覧で、デコードすると1行1回線になります。互換性が最も高い形式です。もう1つはClash / mihomoが使うYAML設定で、回線に加えてproxy-groupsのグループとrulesのルーティングルールも含みます。同じサブスクでもパネル側で書き出し形式を切り替えられるのが一般的で、どちらを選ぶかはクライアント次第です。
デコード後の内容はおおよそ次のとおりです。各行が独立した回線で、シャープ記号の後ろが表示名です:
ss://[email protected]:8443#香港-01
trojan://[email protected]:443?sni=jp02.example.com#日本-02
vless://[email protected]:443?security=reality#シンガポール-03
ノードを手動で追加する方法は以前よく使われていました。ノードリンクを1本コピーして貼り付け、接続する。回線が増えると単純作業の繰り返しになり、サーバー側で回線が調整されると古いノードは使えなくなります。利用者はリンクが切れたのかローカルネットワークの問題なのか、判別しづらいものです。サブスクリプションリンクはこの工程をクライアントに任せ、リストはサーバー側で管理され、使えなくなった回線は差し替えられます。
注意したいのは、サブスクリプションリンクは「設定を取得する」ところまでを担い、「つながるかどうか」は担わないという点です。接続品質は回線の種類、現地のネットワーク、通信事業者によって決まり、リンクそのものとは関係ありません。
単体ノードリンクとの違い
初心者が最も混乱しやすいのは、単体のノードリンクをサブスクリプションリンクだと思って追加してしまい、失敗したあげくクライアントの不具合を疑うケースです。単体ノードリンクにはプロトコルの接頭辞が付き、その接頭辞自体が暗号化と転送方式を示します。ssはShadowsocks、vmessとvlessはV2Ray系、trojanはTLS、hysteria2とtuicはQUICベースです。サブスクリプションリンクにこうした接頭辞はなく、ただのURLです。両者の違いは次のとおりです:
| 比較項目 | サブスクリプションリンク | 単体ノードリンク |
|---|---|---|
| 内容 | 回線リスト一式。グループやルーティングルールを含む場合がある | 1本の回線の全パラメータ |
| 形式 | httpsのURLで、base64テキストまたはYAMLを返す | プロトコルの接頭辞付きリンク(ss、vmess、trojan、vless、hysteria2、tuicなど) |
| 更新 | サーバー側の変更がクライアントの取得で反映される | 固定。回線を変えるには再取得が必要 |
| 漏えい時の影響 | 第三者が回線リスト全体を取得できる | 1本の回線のパラメータだけが露出する |
| 向いている用途 | 長期的な利用、複数端末での同期 | 単体回線の一時的な確認 |
結論:日常使いはサブスクリプションリンクを選べば、回線を変えるたびにコピーし直す手間が省けます。単体ノードリンクは、特定の回線が使えるかを一時的に試すのに向いています。
サブスクリプションリンクの取得元
サブスクリプションリンクはユーザーパネルにのみ表示され、メールで送られることも、インストーラに同梱されることもありません。パネルには通常、サブスクリプションリンクと単体ノードのQRコードが並んで表示されます。QRコードはリンクの別の見せ方にすぎず、読み取って取り込まれる内容はリンクをコピーした場合と同じです。取得手順は次の5ステップです:
- パネルにログインします。登録に必要なのはユーザー名とパスワードだけで、メールアドレスは不要です。パネルにメール認証の手順もありません。
- サブスクまたはプランの画面に進み、現在のプランの通信量と有効期限を確認します。
- 書き出し形式を選びます。汎用のbase64はv2rayN、v2rayNG、Shadowrocketなどのクライアント向け、Clash / mihomoならYAMLです。
- アドレス全体をコピーします。tokenパラメータは疑問符の後ろにあり、1文字でも欠けるとエラーページや空白ページが返ります。
- クライアントに貼り付けたら、まず1回接続して回線が使えることを確認し、その後にルーティングを設定します。
サブスクに対応するサービス仕様は、次の4項目で確認できます:
110+
対応国・地域
160+
回線数
無制限
同時接続台数
14 日間
理由を問わない返金
サブスクリプションリンクをクライアントへ読み込む手順
クライアントによってメニュー名は異なりますが、手順は同じです:
- クライアントのサブスクまたは設定画面を開き、「サブスクを追加」「リモート設定を新規作成」といった項目を選びます。
- リンクを貼り付け、このサブスクに判別できる名前を付けます。端末名で命名するのがおすすめです。
- 保存して1回更新し、ノードリストが表示されるまで待ちます。
- 回線を1本選んで接続し、設定に戻って更新間隔とルーティングモードを調整します。
各プラットフォームの入口
| プラットフォーム | 主なクライアント | 読み込み口 |
|---|---|---|
| Windows | v2rayN、Clash Verge | 「サブスク設定」→ 追加、または「設定」→ リモート設定新規作成 |
| macOS | ClashX、sing-box | 「設定」→ マネージド設定 → 追加 |
| iOS | Shadowrocket、Stash、sing-box | ホーム画面右上の「+」、種類でSubscribeを選択 |
| Android | v2rayNG、NekoBox | サイドメニュー →「サブスク設定」→ 追加 |
| Linux | sing-box、mihomo | 設定ファイルに書き込んだうえで、コマンドラインまたはシステムサービスから読み込む |
iOSのクライアントは中国本土以外のApp Storeアカウントでないとダウンロードできませんが、これはサブスクリプションリンクとは関係ありません。ダウンロード後の読み込み手順は他のプラットフォームと同じです。もう1つよくある違いは形式です。Clash系のYAMLはグループとルーティングルールを最初から含んでいるため、読み込むだけでルールどおりに動作します。base64形式は回線のみで、ルーティングはクライアント側で設定する必要があります。base64しか読めないクライアントもあれば、YAMLしか読めないクライアントもあります。読み込みに失敗したら、まず形式を確認しましょう。クライアントの再インストールを繰り返すのは得策ではありません。
更新の間隔はどれくらいが適切か
サブスクの内容はサーバー側で生成され、クライアントが設定した間隔で取得しに行きます。一般的には12時間または24時間に設定します。選択肢はクライアントが用意しているものに従ってください。
手動で更新したい場面は3つあります。パネルの回線リストとクライアントの表示が一致しないとき、別の地域に切り替える準備をするとき、端末を長時間シャットダウンしてから再起動したときです。多くのクライアントは最終更新日時を表示するので、反映済みかどうかの判断材料になります。
間隔を数分まで短くするのはおすすめしません。取得のたびにtokenが送られ、頻度が高すぎても得るものはなく、サーバー側でレート制限を受ける可能性もあります。取得するのはテキストの設定であり、プランの通信量とは関係ありません。更新で通信量が減る心配は不要です。
「サブスクを更新」が回線リストのドロップダウンメニューにあるクライアントもあれば、設定画面にあるクライアントもあります。見つからないときは、まずサブスクと設定が2つの画面に分かれていないかを確認しましょう。
サブスクを更新してもクライアント内の回線リストが更新されるだけで、確立済みの接続は通常影響を受けません。ハンドシェイクし直しが必要になるのは回線を切り替えたときです。
リンクが漏えいした後の対処
サブスクリプションリンクのtokenは認証情報と同じです。リンクを公開グループや掲示板に貼ったり、オンラインのサブスク変換サイトにアップロードしたりするのは、回線リスト全体を渡すのと同じです。結果として通信量を他人に消費され、回線のパラメータも公開されてしまいます。
- パネルでサブスクリプションリンクを再発行すると、古いアドレスはその時点で無効になります。
- 新しいリンクを各端末で読み込み直し、古いサブスクの項目は削除します。
- 直近の通信量の履歴を確認し、不審な消費がないか見ます。
- リンクをチャットやサポート窓口に送ったことがある場合は、履歴もあわせて整理しておきます。
再発行後は古いリンクが無効になりますが、古いリンクを読み込んだクライアントに保存されたノードは自動では消えません。そのサブスクを手動で削除する必要があります。残しておくと、クライアントは古い設定で接続を試み続けます。
オンラインのサブスク変換サイトは、リンク全体とその中のtokenを取得します。形式を変換したいときは、クライアント標準の書き出し機能か、ローカルで動く変換ツールを優先してください。
よくあるエラーと切り分け
次のようなケースが最も多く、順番に確認すれば数分で原因を特定できることがほとんどです:
- ブラウザで開くと文字化けする。base64テキストはそもそも人が読むものではありません。中身が返ってきていればリンクは有効です。
- 読み込んだのにノード数が0になる。多くは形式の選択ミスで、YAMLをbase64として読み込んだ、あるいはその逆です。
- 更新するとエラーページや空白が返る。リンクが途中で切れてtokenが不完全です。もう一度コピーし直せば解決します。
- 更新はできるが接続できない。まずプランが有効期限内かを確認し、別の回線で試して1本だけの問題か切り分けます。
- 接続後に一部のサイトが開けない。グローバルモードかルールモードかを確認します。ルーティングルールがそのドメインを直接接続に振り分けている可能性があります。
- 証明書または時刻のエラーが出る。端末の時刻とネットワーク時刻のずれが大きいとTLSハンドシェイクに失敗します。システム時刻を合わせれば解消します。
- DNSリーク。DNS設定を手動で変更していると、名前解決がローカルネットワーク側に出る場合があります。判断がつかないときはDNSをクライアントの既定値に戻してください。
初回の読み込み時、ローカルネットワークからサブスクのアドレスに直接アクセスできない場合は、先にノードを1本手動で追加して初回接続を済ませ、その後にサブスクを更新してください。
導入前のチェックリスト
次の9項目を順に確認すれば、読み込み時のトラブルの多くは事前に避けられます:
- ✅ サブスクリプションリンクはパスワード管理アプリ、または自分だけがアクセスできるメモに保管している。
- ✅ 各端末で読み込んだ後に一度手動更新し、ノード数がパネルの表示と一致している。
- ✅ 更新間隔は数分ではなく12時間または24時間に設定している。
- ✅ クライアントのバージョンとサブスクの形式が合っており、base64とYAMLを混在させていない。
- ✅ ルーティングモードは用途に合わせて選び、すべて回線経由にしたいときはグローバル、日常使いはルール。
- ❌ サブスクリプションリンクを公開グループや掲示板、スクリーンショットに載せる。
- ❌ 出どころの不明なオンライン変換サイトにサブスクリプションリンクを貼り付ける。
- ❌ 単体ノードリンクをサブスクリプションリンクとして追加し、失敗するとクライアントを再インストールし続ける。
- ❌ 更新に失敗したとき、形式とネットワークを確認する前にリンクを再発行してしまう。
サブスクリプションリンクはあくまで入口で、体験を決めるのは回線の種類とプランが用途に合っているかどうかです。リンクを適切に管理し、更新のリズムを決めておけば、あとはシーンに合わせて回線を選ぶだけです。