PCとスマホでV2Rayノードを共有する方法|サブスクリプション・QRコード・設定の移行

v2rayNとv2rayNGでノードを共有する3つの方法を解説。サブスクリプションの更新、共有リンクやQRコードからのインポート、カスタム設定のエクスポートを比較します。

この記事の要点

PCとAndroidスマホでノードを共有する場合、通常は同じサブスクリプションをそれぞれに登録すればよく、スマホをPCのローカルプロキシポートに接続する必要はありません。この記事では、サブスクリプションの更新、単一ノードの共有、設定全体の移行を区別し、v2rayNとv2rayNGでの操作手順、設定項目の確認方法、トラブル時の確認順を説明します。すでに一方の端末でクライアントを使っていて、もう一台を設定したい方に向けた内容です。

1. ノードの同期とクライアント設定を区別する

ノード情報にはサーバーアドレス、ポート、ユーザーID、通信方式、TLSパラメーターなど、リモート接続に必要な情報が含まれます。一方、クライアント設定は待ち受けポート、システムプロキシ、DNS、ルーティングルール、自動起動など、端末側の動作を指定します。ノードをコピーしても、端末側の設定まで複製されるわけではありません。PCでウェブサイトを開けても、スマホの通信がプロキシ経由になっているとは限りません。

v2rayNはWindows、macOS、Linuxで動作するデスクトップクライアントです。対応プロトコルは使用するコアとバージョンによって異なります。v2rayNGはXrayコア、v2flyNGはv2flyコアを使用します。この記事ではv2rayNとv2rayNGを例に説明します。v2flyNGへ移行する場合は、インポートできたことだけで互換性を判断せず、プロトコルと通信方式の対応状況を確認してください。

推奨構成:各端末からリモートノードへ個別に接続

PC:v2rayN
  • サブスクリプションを登録し、使用するノードを選択します。
  • 必要に応じてシステムプロキシまたはTUNを設定します。
  • デスクトップアプリに適したルーティングとDNSの設定を維持します。
Android:v2rayNG
  • 同じサブスクリプションを登録し、端末側で更新します。
  • 接続を開始し、システムVPNの許可を確認します。
  • スマホアプリの利用状況に合わせて、アプリごとのプロキシ設定を行います。

2台の端末はそれぞれ独立して接続するため、同じLANに接続する必要はありません。ただし、サーバー側で端末数、同時接続数、通信量が制限されている場合があります。

サブスクリプションの提供元がクライアント別に形式を指定している場合は、各端末に対応した形式を選んでください。同じアカウントでもURLが共通とは限らず、クライアントによってサーバーから返される内容が異なることもあります。まずアカウントの利用条件を確認してから、同じURLを使うか判断しましょう。

2. 同じサブスクリプションで両端末のノードを管理する

サブスクリプションURLはノード一覧を取得するためのもので、リアルタイム同期の仕組みではありません。更新は各クライアントで個別に行います。PCで更新しても、スマホの一覧は自動では更新されません。また、通常は選択中のノード、システムプロキシの状態、Androidのアプリごとの設定などは同期されません。

  1. 配布元を確認する

    提供元のアカウントページから、両端末に対応したサブスクリプションURLを取得します。URLのパラメーターはそのまま保持してください。ログインページのURLをサブスクリプションURLとして使ったり、URLを公開オンライン変換サービスに入力したりしないでください。

  2. PCにサブスクリプションを追加する

    v2rayNで「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、グループを追加して「別名」と「URL(任意)」を入力します。保存後、「サブスクリプショングループ」から「すべてのサブスクリプションを更新(プロキシ経由なし)」を実行します。

  3. スマホにサブスクリプションを追加する

    v2rayNGのサイドバーから「サブスクリプショングループ設定」を開き、「+」をタップして、メモとサブスクリプションURLを入力して保存します。メイン画面に戻り、右上のメニューから「サブスクリプションを更新」を実行します。

  4. 各端末で接続を確認する

    両端末で同じリモートノードを選び、サーバーとポートを確認して接続します。PCでは必要なプロキシの適用方法を有効にし、スマホではVPNの使用を許可したうえで、それぞれのブラウザーから同じウェブサイトにアクセスします。

サブスクリプションの更新に失敗したら、まず「ダウンロード失敗」と「解析失敗」を切り分けます。前者はネットワーク、URLの有効期限、既存の使用可能なプロキシ経由でのアクセス要否を確認します。後者は、ログインページが返されていないか、形式に互換性があるかを確認してください。ネットワーク状況によっては、v2rayNで「すべてのサブスクリプションを更新(プロキシ経由)」を使えます。ただし、使用可能なノードがあり、コアが動作していることが前提です。

3. 共有リンクやQRコードで単一ノードを移行する

1、2個のノードだけを移行するなら、共有リンクを使う方法がサブスクリプション全体の移行より手軽です。QRコードは共有リンクを別の形式で表したもので、新しいプロトコルではありません。一般的なリンクはvmess://またはvless://で始まります。ノード名、サーバーのドメイン、接続状態のスクリーンショットだけでは、完全な共有情報の代わりになりません。

  1. 選択したノードをエクスポートする

    v2rayNのノード一覧から対象を選び、右クリックして「共有」に関する項目を探します。共有URLをクリップボードにコピーするか、共有用QRコードを表示してください。バージョンによっては、エクスポート項目が右クリックメニューに直接表示されます。

  2. 共有情報をすべて渡す

    管理された安全な経路でテキストを送るか、スマホでPC画面のQRコードを直接読み取ります。リンクの内容はすべて保持し、疑問符以降のパラメーターを削除しないでください。QRコードが細かく読み取りにくい場合は、テキストで共有しましょう。

  3. スマホにインポートする

    v2rayNGのメイン画面で「+」→「クリップボードからインポート」、または「+」→「QRコードをスキャン」を選びます。インポート後はノードの編集画面で各項目を確認してから、メイン画面に戻って接続を開始してください。

  4. 重要な項目を確認する

    アドレス、ポート、ユーザーIDに加え、通信方式、TLS、SNI、WebSocketのHostとパスも確認します。Realityを使う場合は、公開鍵、short ID、フィンガープリント、適用するflowも確認してください。

単一ノードの共有は、その時点の情報を切り取ったものです。サーバー側でポート、認証情報、ドメインが変更されても、古いQRコードは更新されません。サブスクリプションから取得したノードでも、別端末に独立したノードとしてインポートすると、元のサブスクリプションに追従しないのが一般的です。継続して使う場合は、サブスクリプションの登録元を保持するか、更新後のノードを再インポートしてください。

4. 設定をエクスポートするときはコアと端末を区別する

ノードにカスタムルーティング、DNS、複数のアウトバウンドが必要な場合、共有リンクだけでは設定全体を表現できないことがあります。その場合は、実行設定のエクスポートや整理済みのカスタムJSONの移行を検討できます。ただし、v2rayNの設定バックアップ、コアの実行設定、単一ノードの共有情報は別のものです。互いにそのままインポートできるファイルとして扱わないでください。

リモート接続の項目

アドレスとポート
リモートノードに設定されている値をコピー
ユーザー認証情報
UUIDなどの認証項目を一致させる
通信パラメーター
network、Host、パスを確認
TLSパラメーター
serverNameと証明書検証の設定を確認

これらの項目は同じサーバーに接続するために必要ですが、JSON内の構造はプロトコルとコアによって異なります。

端末固有の環境設定

listen
ローカルプロキシの例:127.0.0.1
port
例:10808。ポートの使用状況を確認
リソースファイル
geositeとgeoipのパスを再確認
ログと証明書
端末に合わせてパスと読み取り権限を調整

例示したポートは両端末で共通に使う既定値ではありません。PCの絶対パスをそのままコピーしないでください。

v2rayNGでは、「+」内にあるカスタム設定のインポートから、対応するJSONを読み込めます。この方法では、通常のノードモードで使う一部の画面設定やルーティング設定が反映されない場合があります。インポート前に現在の設定をバックアップし、動作確認済みの通常ノードも残しておくと、トラブル時に比較できます。

5. 3つの同期方法の選び方

選ぶ基準は、インポートボタンの数ではなく、どこまで管理するかです。リモートノード一覧を継続して同期するならサブスクリプション、別の端末に一つのノードを一時的に追加するなら共有リンク、コアレベルの動作も維持する必要がある場合に限ってカスタム設定を使います。複数の方法を併用することもできますが、手動コピーをサブスクリプションのノードと混同しないよう、取得元を明記してください。

サブスクリプションURL

おすすめ

両端末でリモートのノード一覧を個別に取得するため、ノードの追加・削除や設定変更に対応しやすい方法です。更新のタイミングと取得形式は各端末で確認が必要です。ローカルのルーティング設定や選択中のノードは同期されません。

おすすめの用途:複数端末での継続利用、ノード一覧の定期的な更新

共有リンク・QRコード

指定したノードだけを一度移行する方法です。対象が絞られるため、項目ごとの確認が容易です。サーバー側に変更があれば再共有が必要です。QRコードを読み取れたとしても、受け取り側がすべてのパラメーターに対応しているとは限りません。

おすすめの用途:一時的な追加、少数のノード、単一ノードの互換性確認

カスタム設定のエクスポート

コアレベルのルーティング、DNS、アウトバウンド構成をより多く保持できます。ただし、項目の互換性、インバウンドによる通信制御、ファイルパスへの対応が必要で、クライアント固有の設定移行の代わりにはなりません。

おすすめの用途:設定要件が明確で、コアのログを読めるユーザー

6. 端末間で差がある場合の切り分け方

トラブル時は、まずノード情報、次に接続、最後に通信がプロキシを通っているかを確認します。同じサーバーに接続していても、スマホのモバイル回線、PCのLAN、DNS、ルーティングルールによって結果は異なります。ノード名や一覧の順番だけを比べても、原因は特定できません。

PCで更新したのに、スマホの一覧が古いままなのはなぜ?

スマホ側でも「サブスクリプションを更新」を実行してください。v2rayNGの「サブスクリプショングループ設定」でURLが有効か、表示中の一覧が手動インポートしたグループではないかを確認します。ノード名だけでなく、同じノードのアドレス、ポート、通信パラメーターを比較してください。

QRコードからインポートできたのに、接続できないのはなぜ?

ノードの編集画面を開き、TLS、SNI、Host、パス、Reality関連の項目を一つずつ確認します。共有形式に必要なパラメーターが含まれていない場合は、元ノードから補完するか、互換性のあるサブスクリプションを使ってください。その後ログを確認し、認証失敗、証明書エラー、接続タイムアウトを切り分けます。

PCのローカルポートが10808の場合、スマホにも入力する必要がありますか?

両端末がそれぞれリモートノードに接続する構成なら、PCのローカルポートをスマホのノード設定に入力する必要はありません。スマホ側のノードポートには、サーバーが指定するリモートポートを入力します。スマホ上の127.0.0.1はスマホ自身を指し、PCを指すものではありません。

同じノードなのに、スマホのアプリがプロキシを経由しないのはなぜ?

まずv2rayNGが起動していることと、システムVPNの許可が有効であることを確認します。次に、アプリごとのプロキシ設定から対象アプリが除外されていないか、ルーティングルールで直接接続に振り分けられていないかを確認してください。接続成功はトンネルを確立できたことを示すだけで、すべてのアプリや宛先が同じアウトバウンドを使うとは限りません。

2台の端末で同じアカウントを同時に使えますか?

まず提供元の端末数、同時接続数、通信量の制限を確認してください。同じノード情報をインポートできても、アカウントで同時利用が認められているとは限りません。2台目の起動後に1台目が切断される場合は、ユーザーIDを何度も変更するのではなく、利用制限とログを確認しましょう。

7. 移行後のチェックリスト

複数端末で再利用するリモート接続情報と、各端末固有の設定を分けて管理すると、次回の端末交換が容易になります。サブスクリプショントークンはノード取得用、ノードの認証情報は接続用、ローカル待ち受けポートは端末設定用です。問題が起きたときに変更する場所も、それぞれ異なります。

日常的な管理にはサブスクリプションを使い、単一ノードの共有は補助的な確認に、自作設定は明確なコア要件がある場合に利用しましょう。リモート接続情報を共通化しながら、PCとスマホそれぞれに必要な通信の適用方法を維持できます。

クライアントをダウンロード