リンクを受け取ったら、まず単一ノードの設定か、設定一覧を取得するためのサブスクリプションURLかを確認しましょう。この記事では形式の見分け方から、デスクトップとAndroidでのインポート手順、QRコードの読み取り、サブスクリプションの更新、接続できない場合の対処まで解説します。クライアントを初めて設定する方にも役立つ内容です。適切なインポート方法を選び、「インポートできた」状態と「接続できる」状態の違いも確認できます。
1. 共有リンクとサブスクリプションURLの違いは、設定を再取得するかどうか
vmess://とvless://は、ノード共有リンクでよく使われるプレフィックスです。サーバーアドレス、ポート、認証情報、通信パラメーターが含まれ、通常は1つのリンクにつき1つのノードを表します。インポート後、クライアントに保存されるのはその時点の設定です。サービス提供元がサーバーや接続パラメーターを変更しても、古いリンクが自動で新しい設定に置き換わることはありません。
サブスクリプションURLは通常、https://で始まります。クライアントがURLにアクセスして複数の設定を取得し、サブスクリプショングループに登録します。サブスクリプションは設定の配布方法であり、プロキシプロトコルではありません。1つのサブスクリプションに異なるプロトコルのノードを含めることもできます。実際にインポートできるかは、返される形式やプロトコルにクライアントが対応しているかによります。
サブスクリプションURL:ノード一覧を継続的に取得
おすすめサブスクリプション管理にURLを登録し、必要に応じて「サブスクリプションを更新」して一覧を再取得します。サービス提供元が対応するサブスクリプションを明示している場合に、継続利用に適しています。配信内容が更新されるか、クライアントが定期更新に対応しているかは、それぞれ確認してください。
おすすめの用途:長期利用、複数ノードの管理、回線の変更がある場合
単一ノードの共有リンク:設定を1回保存
クリップボードまたはQRコードからインポートすれば、ノードを選択できます。サブスクリプションに紐づいていない設定だけでは、サービス提供元が後から変更した内容はわかりません。パラメーターが変更された場合は、再インポートするか手動で編集する必要があります。
おすすめの用途:単一ノードのテスト、特定設定の移行、一時的な接続トラブルの確認
見分け方:リンクの種類を確認してからインポート先を選ぶ
vmess://またはvless://で始まるリンクはノードとしてインポートします。サービス提供元がサブスクリプションURLとして案内している場合は、サブスクリプション管理に登録します。HTTPSで始まる通常のWebページURLが、クライアントで読み込めるサブスクリプションとは限りません。
2. VMess・VLESSリンクの形式:欠かせないパラメーター
VMessの共有リンクは、vmess://の後にBase64エンコードされたJSONが続く形式が一般的です。デコードすると、add、port、id、net、host、path、tlsなどのフィールドが確認できます。ツールによってエクスポート形式が異なるため、プレフィックスだけを見てすべてのバージョンで読み込めると判断しないでください。
VLESSの共有リンクは一般にURI形式で、先頭に認証情報とサーバーアドレスがあり、疑問符の後にクエリパラメーター、シャープ記号の後にノード名などのメモが続きます。VLESS自体には通信を暗号化する機能はありません。TLS、REALITYなどの通信保護が使われているかは、設定全体を確認してください。「VLESS」という名称だけで、暗号化通信が有効だと判断しないようにしましょう。
| 設定項目 | 主なフィールド | インポート後の確認項目 |
|---|---|---|
| サーバーとポート | add、port、またはURIのホスト名とポート | サービス提供元が指定した接続先ポートを使い、ローカルプロキシのポートに置き換えないでください。 |
| 認証情報 | VMessのid、VLESSのユーザー識別子 | すべての文字を保持し、空白を加えないでください。ログに記録された認証情報をそのまま公開しないようにしましょう。 |
| 通信方式 | netまたはtype | TCPやWebSocketなど、サーバー側の設定と一致させる必要があります。任意に入れ替えることはできません。 |
| ドメイン名とパス | host、path、sni | WebSocketのHostとTLSのサーバー名は別の項目です。それぞれ確認してください。 |
| セキュリティとフロー制御 | security、flow、pbk、sid | サービス提供元の設定どおりに保持してください。REALITYを使う場合は、コアが必要なパラメーターに対応しているかも確認します。 |
リンクをコピーするときは、クエリパラメーターを含めてすべて選択してください。チャットアプリによっては、改行や日本語の句読点、説明文まで一緒にコピーされることがあります。「有効な設定がありません」と表示されたら、まず元のテキストをコピーし直しましょう。疑問符以降を削除して直そうとしないでください。URIのパーセントエンコードもそのまま保持します。特にパスとメモの部分に注意してください。
3. v2rayN:クリップボード・画面上のQRコード・サブスクリプションからインポート
以下では、一般的な日本語UIの機能名を使って説明します。バージョンやデスクトップ環境によってメニューの場所が異なる場合があります。同じ名前の項目が見つからないときは、「クリップボードからインポート」「QRコードをスキャン」「サブスクリプショングループ」に相当する機能を探してください。まずインポートを完了して一覧を確認してからプロキシを有効にすると、インポートの問題と通信の問題を切り分けやすくなります。
- 単一ノードのリンクをコピーする。完全な
vmess://またはvless://形式のテキストをコピーし、v2rayNのメイン画面に戻ります。「サーバー」メニューから「クリップボードから一括URLインポート」を選択してください。ショートカットキーが表示される場合は、画面の案内に従って操作します。 - インポート結果を確認する。一覧にノードが追加されたことを確認し、編集画面でサーバー、接続先ポート、通信方式、セキュリティ設定を確認します。名前が同じでも設定が同じとは限りません。重複してインポートした場合は、古い項目に注意してください。
- 画面上のQRコードを使う。QRコード全体が見える状態で表示し、「サーバー」メニューの「画面上のQRコードをスキャン」を選択します。コードの周囲に余白を残し、四隅を隠さないようにしてください。使用中の環境にスキャン機能がない場合は、提供元にテキスト形式のリンクを依頼するのがおすすめです。
- サブスクリプションURLを追加する。「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、新しいグループを作成します。メモとサブスクリプションURLを入力して保存したら、サブスクリプショングループのメニューから更新を実行してください。URLを保存しただけでは、通常ノード一覧はすぐに表示されません。
- 使用するノードを選ぶ。更新後、対象のノードを選択してアクティブサーバーに設定します。システムプロキシ設定に従うアプリの通信をプロキシ経由にするには、メイン画面またはトレイメニューから「システムプロキシ」→「システムプロキシを自動設定」を選択します。
「システムプロキシを自動設定」にしても、すべてのプログラムの通信がプロキシ経由になるわけではありません。システムプロキシを無視するアプリもあれば、独自のプロキシ設定を使うアプリもあります。まずシステムプロキシに従うブラウザーでテストし、その後に必要な対処を検討してください。特定のプログラムを接続するために、ノード、DNS、ルーティング規則を何度も同時に変更するのは避けましょう。
上記の数値は接続の両端を区別するための例であり、そのまま設定する既定値ではありません。たとえば、アプリがローカルの127.0.0.1:10808に接続し、コアがサービス提供元のリモートポートに接続します。この経路が使えるのは、クライアントが実際にそのローカルポートで待ち受けており、アプリ側でHTTPまたはSOCKSの適切な種類を選んでいる場合です。ローカルポートは「設定」→「パラメーター設定」から、該当する待ち受け設定を確認してください。
4. v2rayNG:クリップボードからのインポート、QRコードのスキャン、サブスクリプションの更新
Android版v2rayNGでは、ノードのインポートとシステムVPN接続の確立は別々の手順です。前者で設定を保存し、後者でクライアントが端末の通信を処理できるようにします。v2rayNGはXrayコアを使用します。V2Flyコアを使う場合はv2flyNGも確認できますが、リンクのパラメーターがクライアントとコアの両方でサポートされているか確認してください。
- クリップボードからインポートする。リンクをコピーしてv2rayNGを開き、右上の「+」→「クリップボードからインポート」をタップします。インポート後、一覧に表示されたアドレスとポートを確認してください。ノード名だけで判断しないようにしましょう。
- QRコードをスキャンする。「+」→「QRコードをスキャン」をタップし、システムの案内に従ってカメラの使用を許可します。QRコードが別の画面に表示されている場合は、そのままスキャンしてください。使用中のバージョンに画像読み取り機能がある場合は、端末内の画像も選択できます。画像を選ぶ項目がない場合は、テキスト形式のリンクを使ってください。
- サブスクリプションを追加する。サイドメニューの「サブスクリプショングループ設定」を開き、「+」からメモとサブスクリプションURLを入力して保存します。設定一覧に戻り、右上のメニューから「現在のグループを更新」または「すべてのサブスクリプションを更新」を選択してください。メニュー名はバージョンによって少し異なる場合があります。
- 接続を開始する。ノードを選択し、右下の開始ボタンをタップします。初回接続時は、AndroidのVPN接続リクエストを許可してください。端末上で別のVPNサービスが動作している場合は、どのアプリに通信を任せるか確認してから接続します。
- アプリで通信を確認する。まずログでコアが正常に起動したかを確認し、次に目的のWebサイトを開いてみます。遅延テストに結果が表示されても、実際のWebサイトやアプリにアクセスできることの確認にはなりません。
5. 1つのサブスクリプションを2台で使う:一覧の更新と端末ごとの設定を分ける
サービス提供元が複数端末での利用を許可していれば、同じサブスクリプションURLをデスクトップとAndroidの両方に追加できます。URLは各端末に登録し、それぞれで更新してください。一方の端末で更新しても、もう一方が自動で更新されるわけではありません。利用可能な端末数、同時接続数、通信量の制限はサービス提供元が定めています。リンクをインポートできることだけを根拠に、制限がないと判断しないでください。
設定例:サブスクリプションは共用し、ローカルの通信設定は端末ごとに行う
デスクトップ:v2rayN
- サブスクリプショングループ設定にURLを登録し、手動で更新してノード一覧を確認します。
- ローカルの待ち受けポートと、アプリに必要なプロキシの種類を確認します。
- 実際の用途に合わせてシステムプロキシとルーティングを設定します。スマートフォンの設定をそのまま流用しないでください。
Android:v2rayNG
- 同じサブスクリプションURLを個別に追加し、現在のグループまたはすべてのサブスクリプションを更新します。
- VPN接続の許可と、アプリごとのプロキシ設定がテスト対象のアプリを含んでいるか確認します。
- ノード名だけでなく、通信パラメーターとコアの対応状況を照らし合わせます。
サブスクリプションで配布されるのはリモートノードの設定です。ローカルポート、システムプロキシ、対象アプリ、ファイルパスは端末ごとに確認してください。
サブスクリプションの更新で、グループ内の古いノードが置き換わったり削除されたりすることもあります。比較のために特定ノードを一時変更する場合は、次回更新で変更が上書きされないよう、手動管理用のグループにコピーしてから複製側を編集してください。端末間で設定を移行する場合も、クライアントからエクスポートした設定をそのまま再利用できるとは限りません。特にパス、待ち受けアドレス、プラットフォーム固有の設定に注意しましょう。
6. インポート失敗・QRコードが無効・サブスクリプションがタイムアウトするときの切り分け
「テキストの認識 → サブスクリプションの取得 → コアの起動 → アプリからのアクセス」の順に確認してください。まずエラーが発生した段階を記録し、変更する項目は一度に1つにします。サブスクリプション取得のタイムアウト、ノード接続のタイムアウト、ブラウザーが開けない状態はそれぞれ別の問題です。すべてを「リンクが壊れている」と決めつけないでください。
リンクをコピーしたのに「有効な設定がありません」と表示されるのはなぜ?
説明ページではなく、リンク全体をコピーしたか確認してください。リンクの前後にある引用符や説明文は取り除きますが、リンク内のパラメーターは残します。それでも失敗する場合は、エクスポート形式が使用中のクライアントに対応しているか提供元に確認し、クライアントの更新が必要かも確認してください。UUIDやセキュリティパラメーターを手作業で作り足してはいけません。
QRコードを読み取れたのに、ノードをインポートできないのはなぜ?
QRコードに含まれているのが、単一ノードの設定ではなくWebページのURLやサブスクリプションURLである可能性があります。まず内容の種類を確認してください。サブスクリプションURLはサブスクリプション管理に追加します。コードが細かすぎる、または画像がぼやけている場合は、提供元に元のテキストを依頼しましょう。認証情報を含む画像を公開の読み取りサービスにアップロードしないでください。
サブスクリプションの更新がタイムアウトしたら、まずノードを変更すべき?
まず、端末からサブスクリプションサービスのドメインにアクセスできるか確認します。使用可能なノードがあり、クライアントに「プロキシ経由で更新」などの設定がある場合は、有効にして再試行してください。使用可能なノードがない場合は、アクセスできるネットワークに切り替えるか、提供元に予備のサブスクリプションURLを問い合わせます。401または403が返る場合は、認証、期限、アクセス制限を優先して確認してください。
インポートは成功したのに、接続できないのはなぜ?
クライアントのログを開き、まずコアが起動しているか確認します。次にリモートアドレス、ポート、端末の時刻、TLSのサーバー名、通信パラメーターを確認してください。ローカルポートが使用中の場合は待ち受け設定を変更します。リモート接続がタイムアウトする場合は、ネットワークとサービスの稼働状況を確認します。ドメイン名や証明書の問題を隠すために、証明書の検証を無効にしないでください。
サブスクリプションURLをグループに送ってしまった。メッセージを削除すれば大丈夫?
メッセージを削除しても、ほかの人がコピーした認証情報は無効になりません。サービス提供元の管理画面でサブスクリプショントークンを再発行し、各端末のURLを差し替えて更新してください。単一ノードの認証情報も漏れた場合は、提供元の手順に従ってそちらも変更します。相談するときは、エラーログの認証情報を伏せてください。
最終確認は3項目です。ノード一覧に目的のノードが表示されること、ログでコアの正常起動を確認できること、目的のアプリから実際にアクセスできること。すべて確認してから、必要に応じてルーティングやDNSを調整します。こうしておけば、問題が起きても確認済みの基本設定に戻れ、各パラメーターを一から推測せずに済みます。