受け取ったものが単一ノードの設定情報なのか、ノード一覧を取得するサブスクリプションURLなのかを見分けてから、クリップボード、QRコード、サブスクリプション管理の適切な方法を選びましょう。クライアントをインストール済みで、初めて設定を取り込む方に向けて、項目の意味、PCとAndroidそれぞれの操作手順、更新に失敗したときの確認範囲を解説します。インポート後は、コアの互換性、プロキシによる通信の取り込み、ルーティングルールも個別に確認してください。
共有リンクとサブスクリプションURL:設定情報と更新方法の違い
vmess:// と vless:// の共有リンクには、通常、サーバーアドレス、ポート、ユーザー識別子、通信方式など、1つの接続設定が記載されています。クライアントにコピーすると、インポートした時点の設定が保存されます。サーバー側で後からアドレスやポートが変更されても、インポート済みの設定は通常自動更新されません。再インポートするか、手動で編集する必要があります。
サブスクリプションURLは、通常、アクセストークンを含むHTTPS URLです。クライアントがURLにアクセスして複数のノード情報を取得し、設定一覧として読み込みます。配信内容は、エンコードされた共有リンクの集合の場合もあれば、特定形式の設定データの場合もあります。インポートできるかどうかはクライアントのパーサー次第であり、HTTPSで始まるというだけでは互換性を判断できません。
サブスクリプションURL:ノード一覧を管理
おすすめ提供元が利用中のクライアント形式に対応していれば、サブスクリプションを使って複数のノードをまとめて取得し、その後も更新できます。更新時にはクライアントからリクエストを送る必要があり、サーバー側の変更がリアルタイムで端末にプッシュされるわけではありません。
おすすめの用途:ノードが複数ある、接続先が変更される、一覧を継続的に管理したい場合。
共有リンク:単一の設定をインポート
特定の設定を正確に共有したい場合や、サブスクリプションとは別のノードをテストする場合に便利です。QRコードは同じテキストを別の方法で渡すものにすぎず、自動更新には対応しません。
おすすめの用途:自分で構築したノード、一時的なテスト、接続パラメーターの確認。
インポート方法の見分け方:内容を確認して選ぶ
vmess:// または vless:// で始まる完全なテキストを受け取った場合は、ノードのインポートを使います。提供元がサブスクリプションURLとして明示したURLの場合は、サブスクリプション設定に進みます。アカウントのログインページ、注文ページ、利用案内ページをサブスクリプションURLとして扱わないでください。
リンクの構造:VMessのエンコード形式とVLESSのクエリパラメーター
一般的なVMess共有リンクは、vmess:// の後にBase64でエンコードしたJSONを配置します。デコードすると、add(アドレス)、port(ポート)、id(ユーザー識別子)、net(通信方式)、host、path、tls などの項目が見つかることがあります。これは共有リンク用の形式であり、コアにそのまま渡して実行できる完全なJSON設定ではありません。また、すべてのエクスポートツールがまったく同じVMess共有形式を使うとは限りません。
VLESS共有リンクは、通常URI形式です。以下は構造を確認するためだけの架空の例で、example.com はドキュメント用のドメインです。この設定では接続できません。TCPとTLSの組み合わせを示しており、REALITYなどの追加構成は含みません。
vless://[email protected]:443?encryption=none&security=tls&type=tcp&sni=example.com#demo-tls
| 項目 | 例の意味 | 確認ポイント |
|---|---|---|
UUID@アドレス:ポート | ユーザー識別子とサーバーの接続先 | サーバー側の設定と一致させる必要があります。ローカルプロキシのポートに置き換えないでください。 |
encryption=none | VLESSの暗号化項目 | 接続全体でTLSが使われないという意味ではありません。セキュリティ層の設定も併せて確認してください。 |
security=tls | TLSセキュリティ層を使用 | サーバー側も同じ設定に対応している必要があります。証明書の検証設定とサーバー名も一致させてください。 |
type=tcp | この共有形式でTCP通信を示す値 | インポーターがコア用の項目に変換します。ほかの通信方式名にむやみに変更しないでください。 |
sni=example.com | TLSのサーバー名 | 接続先アドレスとサーバー名は異なる場合があります。提供元の設定に従ってください。 |
#demo-tls | ノード名 | 一覧での表示に使われます。名前を変更しても認証や接続のエラーは解消されません。 |
実際のリンクでREALITYを使用する場合、REALITYは接続のセキュリティ層の設定であり、VMessやVLESSと同じ階層の独立したプロキシプロトコルではありません。公開鍵、短いID、サーバー名、フィンガープリント、設定されている場合はflowの各パラメーターを、サーバーとコアのバージョンに照らして確認してください。インポーターがVLESSとして認識しても、追加パラメーターがすべて正しく保持されるとは限りません。
v2rayN:クリップボードからのインポート、画面上のQRコード読み取り、サブスクリプション更新
以下では、v2rayNの日本語UIで一般的なメニュー名を使って説明します。バージョンやデスクトップ環境によって、名称や配置が異なる場合があります。「クリップボードからインポート」「画面上のQRコードをスキャン」「サブスクリプショングループ設定」に相当する機能を探してください。クライアントは共有リンクの解析と設定管理を担当し、実際の接続はコアが処理します。両方の互換性を個別に確認してください。
共有リンクを1件インポートする
vmess://またはvless://で始まる1行全体をコピーします。前後の説明文や引用符、チャットアプリによって挿入された改行は含めないでください。- v2rayNを開き、「サーバー」→「クリップボードから一括URLインポート」を選択します。画面によってはメインウィンドウで
Ctrl+Vを使えるほか、メニューから操作することもできます。 - QRコードが画面に表示されている場合は、「サーバー」→「画面上のQRコードをスキャン」を選びます。QRコード全体が見えるようにし、遮るウィンドウを閉じてください。画面のスキャン機能は、カメラを起動する機能ではありません。
- 追加された設定を確認し、編集画面でプロトコル、アドレス、ポート、通信方式、TLSの設定を照合します。その後、一覧の右クリックメニューから使用するサーバーに設定してください。
サブスクリプションURLを追加する
- 「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、新しいグループを追加します。区別しやすい名前を入力し、サブスクリプションURL全体をアドレス欄に貼り付けて保存してください。
- メインウィンドウに戻り、「サブスクリプショングループ」から更新を実行します。利用可能なプロキシがまだない場合は、まず「プロキシを使用しない」方法で更新してください。「プロキシ経由」は、すでに利用可能な接続がある場合にのみ意味があります。
- 対象グループにノードが表示されていることを確認してください。グループ名が追加されただけでは不十分です。URLの登録と内容の取得は別の操作であり、保存できてもサブスクリプションの取得に成功したとは限りません。
- ノードを選択し、必要に応じてシステムプロキシを設定してから、ルーティングモードを確認します。必要な通信がクライアントに送られて初めて、ノード設定が実際のアクセスに使われます。
v2rayNG:クリップボード、カメラでのQRコード読み取り、サブスクリプショングループ
v2rayNGはXrayコアを使用するAndroidクライアントです。PC版と同じ種類の共有テキストを読み込めますが、インポーター、設定項目、更新動作はバージョンによって異なる場合があります。デスクトップクライアントからエクスポートしたアプリ全体の設定ファイルを、Android版で読み込めるサブスクリプションとして扱わないでください。
- クリップボードからインポート:共有リンク全体をコピーし、v2rayNGを開いて右上の「+」→「クリップボードからインポート」をタップします。完了したら、該当するノードをタップして現在の設定にします。
- カメラでQRコードをスキャン:「+」→「QRコードをスキャン」をタップし、システムの案内に従ってカメラの使用を許可します。別の画面に表示したQRコードは四隅まで見えるようにし、明るさも調整してください。読み取り後、追加されたノードを確認します。
- サブスクリプションを追加:サイドメニューから「サブスクリプショングループ設定」を開き、「+」をタップして名前とサブスクリプションURLを入力し、保存します。
- ノードを取得:メイン画面に戻り、右上のその他メニューから「サブスクリプションを更新」を選びます。グループで表示を絞り込んでいる場合は、追加したグループが表示されていることを確認してください。
- 接続を開始:ノードを選択して接続ボタンをタップします。初回起動時は、AndroidのVPN接続リクエストを承認してください。このシステム権限は、端末の通信をローカルサービスに処理させるためのもので、別のサブスクリプションアカウントではありません。
バージョンによっては、画像からQRコードを読み取る機能があります。機能名や場所は異なる場合があります。見つからない場合は、元のテキストをコピーするか、別の画面にQRコードを表示してください。認識させるために、認証情報を含む画像をオンラインの解析サイトへアップロードしないでください。
PCとAndroidでの使い分け:共通の接続元、個別の動作設定
PC:v2rayN
- 対応形式のサブスクリプションを追加し、初回更新を手動で実行します。
- 選択したコアが、ノードの通信方式とセキュリティ層に対応しているか確認します。
- 必要に応じてシステムプロキシを有効にし、PC側のルーティングを個別に設定します。
Android:v2rayNG
- 同じサブスクリプションを使う前に、アカウントが複数端末での利用を許可しているか確認します。
- 一覧は端末ごとに更新し、選択中のノードとVPN接続状態を確認します。
- アプリごとの設定を確認し、対象アプリが通信処理の対象に含まれているか確認します。
同じサブスクリプションを使っても、設定が同期されるわけではありません。更新時刻、選択中のノード、ルーティング、対象アプリは各端末で個別に保存されます。
インポート後に確認する3つのポイント
「一覧にノードが表示された」という事実が示すのは、クライアントが設定を1件読み込めたことだけです。サーバーが稼働中であること、認証が有効であること、すべてのパラメーターが対応していることまでは保証されません。共有リンクの形式とプロトコルの実装は別の階層です。クライアントが項目を保存できても、バージョンや組み合わせによっては実行コアが起動を拒否する場合があります。
- 設定:提供元から受け取った情報と照らし合わせ、アドレス、ポート、UUID、通信パス、サーバー名、セキュリティ層を確認します。特にエンコードされたパスやクエリパラメーターに注意してください。チャットアプリによる文字列の書き換えが原因で問題が起きることもあります。
- コア:起動ログに、未知の項目、未対応の通信方式、設定エラーが記録されていないか確認します。v2rayNGはXrayを使用し、v2flyNGはV2Flyを使用します。両者の違いが画面だけとは限らず、VLESSの追加パラメーターがすべて相互に使えるとも限りません。
- 通信の取り込み:PCではシステムプロキシなど、実際に使用している通信の取り込み方法を確認します。AndroidではVPNサービス、アプリごとの設定、ルーティングを確認してください。サブスクリプションが提供するのは通常ノード情報であり、すべての通信ポリシーを自動設定するものではありません。
接続テストの結果も、確認できる範囲を分けて考えましょう。TCP遅延テストに成功しても、テスト時の条件で対象ポートに到達できたことしか示さない場合があります。TLS、ユーザー認証、Webアクセスまで成功したとは限りません。まずコアの起動を確認し、実際にアクセスしてから、ログで接続とルーティングの結果を確認してください。何度もインポートし直すより、原因を絞り込みやすくなります。
よくある問題:症状に合わせた確認方法
貼り付け後に有効な設定がないと表示されます。リンクが壊れていますか?
まず、コピーした内容の先頭を確認します。HTTPSのサブスクリプションURLなら、サブスクリプショングループのアドレス欄に入力します。共有リンクなら、プレフィックスが欠けていないか、日本語の句読点が混ざっていないか確認してください。v2rayNでは「サーバー」メニュー、v2rayNGでは「+」メニューからクリップボードの内容をインポートします。それでも失敗する場合は、クライアントがその共有形式に対応しているか確認してください。
サブスクリプションの更新がタイムアウトしました。プロキシ経由にすれば解決しますか?
利用可能なノードがあり、正しいプロキシ経路を使える場合に限り、プロキシ経由での更新を試してください。まず端末のネットワーク、サブスクリプションのドメイン名解決、更新ログを確認します。現在のノードも使えない場合、更新方法を切り替えても接続が復旧するわけではありません。提供元にアドレスの変更やサブスクリプションの期限を確認するときは、エラーの種類だけを伝え、URL全体は公開しないでください。
更新時に401・403が返る、またはWebページが読み込まれる場合は?
401は通常、認証に関するエラーです。403はリクエストが拒否されたことを示しますが、詳細な原因はサーバー側のルールによります。トークンが途中で切れていないか、アカウントが有効か、クライアントに合った形式を選んだか確認してください。ログインページなどのHTMLが返された場合は、正しいサブスクリプションURLを再取得します。Webページの内容をノード一覧として無理にインポートしないでください。
QRコードを読み取れたのに、接続できないのはなぜですか?
QRコードでできるのはテキストの転送だけで、接続先の設定を検証することはできません。ノードの編集画面を開き、ポート、通信方式、TLSまたはREALITYの各パラメーターを確認して、コアのログも確認してください。証明書名のエラーがある場合は、証明書の検証を先に無効にするのではなく、サーバー名またはサーバー証明書を修正してください。
サブスクリプションを更新したら、手動で変えたノード名や設定が元に戻りました。
更新時に、サブスクリプションから返された内容でノード一覧が置き換わることがあります。これは一覧管理の動作です。固定しておきたい設定は、別の手動グループにコピーしてから更新してください。提供元がノード識別子や一覧の順番を変更した場合は、現在選択しているノードも再確認します。
認証情報の保護とインポート後の確認リスト
共有リンクに含まれるユーザー識別子や認証パラメーターは接続情報です。サブスクリプションURL内のトークンも、所持者がノード一覧を取得できる場合があるため、秘密情報として保管してください。Base64はエンコード方式であり、情報を秘匿する仕組みではありません。QRコードにも追加のアクセス制御はありません。トラブルのスクリーンショットを送る前に、リンク全体、QRコード、UUID、サブスクリプショントークンを隠してください。
- 信頼できる経路から設定を入手してください。リンクを公開オンラインデコードツールに貼り付けたり、公開の掲示板にサブスクリプションURLを載せたりしないでください。
- サブスクリプショングループにノードが実際に取得されていることを確認し、更新日時を記録します。自動更新を使う場合も失敗の通知を確認してください。定期実行を設定しただけで、更新の成功が保証されるわけではありません。
- 使用するノードを選び、コアの稼働状態を確認してから、システムプロキシまたはAndroidのVPNサービスが対象の通信を取り込んでいるか検証します。
- 認証情報が漏えいした場合は、提供元の管理画面でサブスクリプショントークンまたは該当する認証情報を再発行し、使用中のすべての端末で古い設定を置き換えてください。
クライアントとコアの関係については用語早見表をご覧ください。インストールから初回接続までの手順は入門ガイドで確認できます。共有リンクは設定情報の受け渡しに、サブスクリプションはノード一覧の取得・更新に使います。実際に接続できるかどうかは、サーバー、コア、端末側の動作設定によって決まります。