リンクの先頭を見て、インポート先を選びましょう。vmess://・vless://はノードとして、サービス提供元から案内されたHTTPSのサブスクリプションURLはサブスクリプショングループに登録します。v2rayNGやv2rayNを初めて使う方に向けて、リンクの見分け方、クリップボードやQRコードからのインポート、更新、トラブル対処まで順に説明します。サブスクリプションURLをノードとして扱ったり、インポートできただけで接続成功と判断したりしないようにしましょう。
1. 単一ノードの共有リンクとサブスクリプションURLの違いは更新方法
単一ノードの共有リンクには、サーバー設定が含まれています。通常、サーバーアドレス、ポート、ユーザー識別子、通信方式などの情報が記載されています。インポートすると、その時点の設定がクライアントに保存されます。サービス提供元が後からポートや証明書のドメインを変更しても、個別に追加したノードは自動更新されません。共有リンクを複数行まとめてコピーすれば複数のノードをインポートできますが、サブスクリプションが作成されるわけではありません。
HTTPSのサブスクリプションURL
おすすめクライアントがURLから設定を取得し、サブスクリプショングループ内のノードを更新します。サービス提供元がサブスクリプションを用意しており、ノード一覧を継続的に管理したい場合におすすめです。
おすすめの用途:長期利用、複数ノードの管理、サービス提供元による定期的な設定変更。
vmess:// または vless:// の単一ノードリンク
リンク自体にノードの設定情報が含まれています。まず1台のサーバーを試したい場合や、少数の設定を手動で管理する場合に適しています。サブスクリプショングループを作成する必要はありません。
おすすめの用途:一時的なテスト、自前サーバー、個別に受け取ったノード設定の登録。
HTTPSはURLの通信方式を示すだけで、そのURLが必ずサブスクリプションとは限りません。アカウント管理画面、ログインページ、インストール手順のページもHTTPSで始まる場合があります。ブラウザーのアドレスバーに表示された管理画面のURLではなく、サービス提供元が「サブスクリプションURL」として案内したものをコピーしてください。サブスクリプションの応答は、Base64でエンコードされた共有リンクの一覧の場合もあれば、別の形式の場合もあります。対応形式はクライアントの仕様を確認してください。
まとめ:継続して更新するならサブスクリプションとして登録
サービス提供元が「ノードをコピー」と「サブスクリプションをコピー」の両方を用意している場合、普段の管理にはサブスクリプションURLをグループに登録しましょう。個別にテストしたいときだけ、別途ノードをインポートしてください。
2. vmess://・vless://リンクのパラメーター構造
一般的なVMess共有形式は、vmess://に続いてBase64でエンコードされたJSONが記載されています。エンコードは暗号化ではありません。デコードすると通常、add、port、id、net、tlsなどの項目を確認できます。以下はデコード後の構造例です。このJSONをそのままvmess://共有リンクとしてインポートしたり、完全なコア設定として実行したりすることはできません。
{
"v": "2",
"ps": "VMess-WS-TLS の例",
"add": "node.example.com",
"port": "443",
"id": "d34db33f-1234-4abc-8def-0123456789ab",
"aid": "0",
"scy": "auto",
"net": "ws",
"type": "none",
"host": "edge.example.com",
"path": "/ws",
"tls": "tls",
"sni": "edge.example.com"
}
addは接続先アドレス、hostはWebSocketリクエストで使うHost、sniはTLSハンドシェイクで使うサーバー名です。それぞれ異なる値でも構いませんが、サーバーの設定と一致している必要があります。aidはVMessのalterId項目で、ポートではありません。例の0は現在よく使われる設定値ですが、サービス提供元の設定を推測で変更しないでください。
VLESSの共有リンクでは、通常、パラメーターがURIに直接記載されています。以下はTCPとTLSを使う構成例です。ドメインとUUIDは説明用の値で、接続には使えません。
vless://[email protected]:443?encryption=none&security=tls&type=tcp&sni=edge.example.com#VLESS-TLS
encryption=noneはVLESSプロトコル自体の暗号化設定を示します。この例ではsecurity=tlsによってTLSを使用しているため、通信経路が保護されていないという意味ではありません。type=tcpは通信方式がTCPであることを示します。これを勝手にwsへ変更しても、サーバーが自動的にWebSocketに対応するわけではありません。#以降は通常、ノードの名前です。名前はURLエンコードでき、空白は一般に%20と表記します。コピーする際は、クエリーパラメーターをすべて含めてください。- REALITYを使うリンクには、
pbk、sid、fpなどのパラメーターが含まれる場合もあります。すべての情報をインポートし、使用中のクライアントとコアが該当機能に対応していることを確認してください。
3. v2rayNGでクリップボードまたはQRコードからノードをインポート
Android版のv2rayNGでは、まずリンク全体をコピーしてからメイン画面に戻ります。以下では一般的な日本語UIの名称を使っています。バージョンによってメニュー名が異なる場合は、「クリップボードからインポート」「QRコードをスキャン」などの機能を目印にしてください。
- リンクをコピー:
vmess://またはvless://から末尾までをコピーします。チャットの引用符や説明文、Markdownのコードフェンスは含めないでください。長いリンクが画面上で自動的に折り返されてもコピーには影響しませんが、実際に空白や改行が入るとリンクが壊れることがあります。 - クリップボードからインポート:v2rayNGのメイン画面右上にある「+」→「クリップボードからインポート」を選びます。システムによるクリップボードへのアクセスを許可し、新しいノードが一覧に表示されることを確認してください。複数のリンクは通常、1行に1つずつ並べておきます。
- 設定を確認:ノードの編集画面で、アドレス、ポート、ユーザーID、通信方式、TLS設定を照合します。まず内容を確認し、テストを成功させるために値を適当に変更しないでください。
- QRコードをスキャン:「+」→「QRコードをスキャン」を選び、カメラへのアクセスを許可して、別の画面に表示したQRコード全体を読み取ります。周囲の余白まで含め、反射を抑えながらコード全体が画面に収まるようにしてください。
- 接続して確認:新しいノードを選択し、メイン画面の接続ボタンをタップします。初回起動時はAndroidのVPN接続リクエストを許可し、アクセス可能なHTTPSページを開いて確認してください。
QRコードは文字情報を別の形で表したもので、内容の種類を決めるものではありません。vless://を読み取った場合は、通常ノードを追加できます。HTTPSのURLが表示された場合は、それがサブスクリプションか通常のWebページかを確認してください。「スキャン成功」と表示されても、利用可能なノードが作成されたとは限りません。QRコードが同じスマートフォン上にある場合は、提供元のリンクコピー機能を使うのが簡単です。スキャン画面が画像認識に対応していれば、ギャラリーから画像を選ぶ方法もあります。
サーバー側ポートとローカルの待ち受けポートは別のものです。共有リンク内の:443はリモートサーバーのポートで、ローカルSOCKSポートは端末上のアプリ向けです。リンク内のポートを10808に変更したり、ローカル設定が10808以外だからといってノードが無効だと判断したりしないでください。
4. v2rayNでのインポートと両端末の設定確認
デスクトップ版v2rayNでは、「サーバー」メニューから「クリップボードから一括URLインポート」を選択できます。一般的なショートカットキーはCtrl+Vです。インポート前にメインウィンドウをアクティブにしてください。入力欄にカーソルがあると、ショートカットキーで文字列が貼り付けられるだけの場合があります。インポート後、サーバー一覧から使うノードを選択し、アクティブサーバーに設定します。
操作手順:同じリンクを両方の端末で確認
デスクトップ版 v2rayN
- 「サーバー」→「クリップボードから一括URLインポート」を選択します。
- 一覧に表示されたアドレス、ポート、通信方式を確認します。
- ブラウザーで確認するには、システムプロキシメニューから「システムプロキシを自動設定」を選びます。
Android版 v2rayNG
- 「+」→「クリップボードからインポート」を選択します。
- TLS、SNI、通信パラメーターがすべて設定されているか確認します。
- 接続を開始し、AndroidのVPN接続許可を確認します。
同じノードをそれぞれの端末にインポートできますが、ルーティング、アプリごとのプロキシ設定、ローカルの待ち受け設定は共有リンクから自動的に同期されません。
インポートに成功したという表示は、クライアントが設定を認識したことを示すだけです。v2rayNでコアだけを起動してシステムプロキシを設定していない場合、システムプロキシを使うブラウザーでもノードを経由しないことがあります。また、システムプロキシを参照しないアプリは個別の設定が必要です。v2rayNGでアプリごとのプロキシを有効にしている場合、対象から除外されたアプリも想定どおりにプロキシを経由しません。テスト前に、対象アプリの通信経路を確認してください。
5. サブスクリプションURLを登録してから更新
サブスクリプションでは、「URL—グループ—ノード」の関係を設定することが重要です。HTTPSのサブスクリプションURLを単一ノードのインポート画面に貼り付けると、認識されない場合や、バージョンによってはサブスクリプション処理に進む場合があります。確認しやすいよう、サブスクリプション設定から追加することをおすすめします。
- v2rayNG:サイドメニューから「サブスクリプショングループ設定」を開き、追加をタップします。見分けやすい名前とサービス提供元から案内されたサブスクリプションURLを入力して保存してください。メイン画面に戻り、右上のメニューから「サブスクリプションを更新」を実行します。グループが複数ある場合は、現在のグループと全グループのどちらを更新するか確認してください。
- v2rayN:「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、グループを追加してサブスクリプションURLを入力します。保存後、「サブスクリプショングループ」メニューに戻り、該当する更新操作を選択してください。
- 更新方法を選択:v2rayNの一般的なメニューでは、「プロキシを経由せず更新」と「プロキシを経由して更新」を選べます。サブスクリプションURLに直接アクセスできる場合は、まず直接接続を試してください。直接接続がタイムアウトし、利用可能なノードがすでにある場合は、プロキシ経由での更新を試します。v2rayNGの更新方法は、使用中のバージョンで選択できる設定に従ってください。
- 結果を確認:更新結果のメッセージ、ノード数、所属グループを確認し、現在選択しているノードがまだ使えるかどうかも調べます。サービス提供元がノードを削除または変更した場合は、選択し直す必要があります。
更新に失敗したら、まずエラーの種類を確認します。タイムアウトは通常、リクエストが時間内に完了しなかったことを示します。HTTP 401または403の場合は、トークン、アカウント権限、アクセス制限を確認してください。ログインページが返された場合は、管理画面ではなくサブスクリプション用のURLをコピーしたか確認します。原因を調べる際に更新を何度も繰り返さず、サービス提供元がリクエスト頻度を制限していないか確認してください。
6. インポート失敗・接続できないときのよくある問題
vless://をコピーしたのに、形式エラーが表示されるのはなぜ?
プレーンテキストをもう一度コピーし、先頭の文字が欠けていないか、UUIDがすべて含まれているか、アドレスの後に正しいポートがあるかを確認してください。疑問符以降のパラメーターもすべて残します。チャットアプリによっては、リンクの前半だけがクリック可能なリンクとして認識されることがあります。「リンクタイトルをコピー」ではなく「全文をコピー」を使ってください。
QRコードは読み取れたのに、ノードが一覧に表示されないのはなぜ?
スキャン結果の内容を確認してください。通常のWebページのURLはノードとして使えません。サブスクリプションURLはサブスクリプショングループに登録します。QRコードの情報量が多すぎる場合は、元画像を使うか、別の画面で表示サイズを大きくしてください。圧縮されたサムネイルを何度も読み取るのは避けましょう。
インポートできたのに、接続後もWebページが開かないのはなぜ?
まずログを確認し、認証エラー、TLSハンドシェイクエラー、接続タイムアウトがないか調べます。ユーザーID、サーバーポート、SNI、WebSocketパスを順に確認してください。VMessではシステム時刻も確認します。v2rayNではシステムプロキシ、v2rayNGではVPNが起動しているか、対象アプリが除外されていないかを確認してください。
サブスクリプション更新後、手動で変更したノードが元に戻るのはなぜ?
サブスクリプションを更新すると、サービス提供元から返された内容に基づいてノードが再作成または更新されます。カスタマイズしたい設定は先に記録し、独立したノードとして保存してください。次回の更新前に、そのノードが更新対象のサブスクリプショングループに含まれていないことを確認します。
確認を頼むために、サブスクリプションのQRコードを他人に送ってもよいですか?
元画像は送らないでください。QRコードからサブスクリプションURL全体を読み取れることが多く、アクセストークンを渡すのと同じです。問い合わせ時は、個人情報を伏せたエラーログ、クライアントのバージョン、操作したメニューの手順を共有してください。URL全体が漏れた場合は、サービス提供元の管理画面でサブスクリプショントークンを再発行してください。
7. インポート後に確認する順番
DNS、ルーティング、通信方式、ポートを同時に変更しないでください。一度に1種類の問題だけを切り分けることで、リンクの破損、サブスクリプションの取得失敗、インポート後に通信がプロキシを経由していない状態を判別できます。以下の順番で確認すると、アプリを何度も削除して再インストールするより原因を特定しやすくなります。
- まず入手元を確認:Webページのタイトルではなく、共有リンク全体または正規のサブスクリプションURLを受け取ったことを確認します。
- 次に内容を確認:アドレス、ポート、ユーザー識別子、通信方式、安全性に関するパラメーターを確認し、提供元の値をそのまま使います。
- 次に動作を確認:選択中のノード、コアの実行状態、システムプロキシまたはAndroid VPNの状態を確認します。
- 最後に通信を確認:HTTPSページにアクセスして、該当するログを確認します。ノードに接続できても、すべてのドメインが同じルートで通信するとは限りません。必要に応じてルーティングとDNSも個別に確認してください。
クライアントのインストールと初回インポート
まだクライアントをインストールしていない場合は、使用するOSに合わせてv2rayNまたはv2rayNGを選んでください。手順を追った説明が必要な方は、入門チュートリアルもご覧ください。