v2rayN・v2rayNGの設定を複数端末で同期する方法|サブスクリプション・共有リンク・バックアップ移行

サブスクリプション、共有リンクやQRコード、設定ファイルのバックアップを比較。パソコンとAndroidでノードやルーティングをそろえる手順を解説します。

この記事の概要

パソコンとAndroidスマートフォンで同じノードを継続して使うなら、同じサブスクリプションを利用するのが基本です。ノードを一時的に1つ移す場合は共有リンクやQRコード、同じクライアントを使う端末の買い替えには設定のバックアップが適しています。ただし、いずれもすべての設定を自動同期する方法ではありません。ノード、ルーティング、端末ごとの接続方法を分けて、両端末へのインポート・移行・動作確認の手順を説明します。

まず確認:ノードの同期とクライアント設定の同期は別

v2rayNはデスクトップ向けGUIクライアント、v2rayNGはXrayコアを使用するAndroidクライアントです。両方で互換性のあるノード設定を使えますが、設定データベースは共有されません。サブスクリプションを更新すれば通常はサーバー一覧が更新されますが、システムプロキシ、TUN、アプリごとのプロキシ、DNS設定が一緒にコピーされるわけではありません。

移行前に、既存の設定を3つの層に分けて整理しましょう。1つ目はサーバーへの接続設定、2つ目はトラフィックの振り分けルール、3つ目は端末側の接続方法です。1つ目だけをそろえても、2台の端末で結果が異なることがあります。必ずしもサブスクリプションの不具合とは限りません。

設定の層具体的な内容端末間での対応
ノード設定アドレス、ポート、ユーザーID、通信方式、TLS・REALITYの設定サブスクリプションまたは互換性のある共有リンクをインポート
ルーティングとDNSドメインルール、IPルール、名前解決の方針、ルールデータ各端末の形式に合わせて設定し、個別に確認
端末の接続方法システムプロキシ、TUN、AndroidのVPN権限、アプリごとの対象リスト移行先の端末で設定し直す

3つの方法を比較:サブスクリプション、共有リンク、バックアップ

同じサブスクリプションで一元管理

おすすめ

両方の端末に同じ取得元の互換サブスクリプションを登録し、それぞれでノードを取得します。サーバー側でアドレス、ポート、認証情報が変更されたら、各端末でサブスクリプションを更新します。継続的な管理に向いていますが、更新操作や使用するノードは端末ごとに管理します。

おすすめの用途:パソコンとスマートフォンで同じノードを継続して使う

共有リンク・QRコード

1つのノードの接続設定を別の端末に渡す方法です。QRコードはテキストを図形で表したものにすぎません。インポート後は独立した項目になるため、送信元で設定を変更しても移行先には自動反映されません。

おすすめの用途:少数のノードを一時的に移す、個別の設定を確認する

同じクライアントのバックアップ

グループ、環境設定、クライアントがバックアップ可能なデータの復元に使います。同じクライアントの近いバージョン間での復元を優先し、古いバックアップを残したうえで、新しいバージョンで読み込めるか確認しましょう。異なるクライアント間で共通して使える交換形式ではありません。

おすすめの用途:デスクトップの買い替え、OSの再インストール、同じ端末環境への復元

サブスクリプションサービスで端末数や同時接続数が制限されている場合は、先に利用条件を確認してください。同じサブスクリプションを両端末に登録できても、台数無制限で同時接続できるとは限りません。また、サブスクリプションURLは公開用のダウンロードURLではなく、通常はアクセストークンを含みます。

両端末にサブスクリプションを登録:同じ取得元から個別に更新

以下では、一般的な日本語UIを想定して説明します。バージョンによってメニュー名が多少異なる場合があります。同じ名前の項目が見つからない場合は、個別サーバーのアドレス欄ではなく、サブスクリプショングループの管理画面を探してください。サブスクリプションは通常HTTPSのURLです。vmess://、vless://、trojan://、ss://で始まるテキストは、通常ノードの共有リンクです。

  1. サブスクリプション形式を確認

    プロバイダーの画面で、v2rayNまたはv2rayNGに対応するサブスクリプション形式を選びます。プロバイダーが端末ごとに異なる形式のURLを発行している場合は、同じアカウントに紐づく各端末用のURLを使いましょう。2つのURLの文字列を無理に一致させる必要はありません。

  2. デスクトップでグループを追加

    v2rayNのメイン画面で「サブスクリプショングループ」→「サブスクリプショングループの設定」を開き、新しいグループを追加します。メモとサブスクリプションURLを入力して保存し、「サブスクリプショングループ」からすべてのサブスクリプションを更新します。初回に取得できない場合は、「プロキシ経由」と「プロキシを経由しない」の更新項目を使い分けてください。

  3. Androidでグループを追加

    v2rayNGのサイドメニューから「サブスクリプショングループの設定」を開き、「+」をタップします。名前とURLを入力して保存し、メイン画面に戻って右上のメニューからサブスクリプションを更新します。現在のグループのみを更新する項目と、すべてのグループを更新する項目がある場合は、選択中のグループを確認してください。

  4. 接続設定を照合

    両端末で更新できたら、同じノードを選んでプロトコル、サーバーアドレス、ポートを照合します。ノード名が同じでも設定が同じとは限りません。通信方式、TLS、SNIも確認し、REALITYを使う場合は公開鍵とShort IDも確認してください。

  5. 更新の習慣をつける

    各端末で一度ずつ更新し、実行時刻を記録します。自動更新を使う場合は、現在のバージョンに機能があるか、どの条件で実行されるかを確認してください。Androidではバックグラウンド制限が定期実行に影響することがあります。重要な変更の後は手動で更新し、結果を確認しましょう。

おすすめ:両端末で同じサブスクリプションを使う

デスクトップ(v2rayN)
  • 取得元と手動追加ノードを区別できるグループ名を付ける。
  • サブスクリプションの更新後、使用中のサーバーを選び直す。
  • デスクトップアプリの用途に応じてシステムプロキシまたはTUNを設定する。
Android(v2rayNG)
  • 同じ取得元から互換性のあるサブスクリプションを取得する。
  • システムVPNの権限を許可してからアプリをテストする。
  • アプリごとのプロキシ設定とバックグラウンド実行の制限を個別に確認する。

サブスクリプションを使えばノードの取得元を統一できます。ただし実際の一覧が一致するかは、形式、更新時刻、クライアントの解析対応状況によって異なります。グループ名だけで判断しないでください。

サブスクリプションのノードを直接編集して、変更が維持されると考えないでください。更新時にサブスクリプション項目が再作成され、手動変更が上書きされる場合があります。試験的な変更はノードを独立した手動グループにコピーして行い、メモに変更内容を記録します。正式な設定はサブスクリプションの内容を基準にしてください。

共有リンク・QRコード:ノードだけを移し、環境全体は移さない

デスクトップからスマートフォンへノードを1つ移すには、v2rayNで項目を選択し、右クリックメニューから共有リンクのエクスポートまたはQRコードの表示を選びます。スマートフォンではv2rayNGのメイン画面で「+」をタップし、「QRコードをスキャン」または「クリップボードからインポート」を選びます。逆方向に移す場合は、v2rayNGのノードメニューから設定を共有し、v2rayNで「サーバー」→「クリップボードからURLを一括インポート」を選びます。

バックアップ移行:同じクライアントなら復元、別クライアントなら再設定

バックアップと共有リンクでは移行できる範囲が異なります。共有リンクは接続設定が中心ですが、クライアントのバックアップにはグループ、ルーティング、環境設定が含まれる場合があります。また、コア用の設定ファイルはコアに読み込ませるデータであり、GUIの管理情報まで含むとは限りません。JSONファイルだからといって、完全なバックアップだと判断しないでください。

  1. 移行前にバージョンを記録:クライアントのバージョン、使用するコアとそのバージョン、インストール方法を記録し、認証情報を含まないルーティングとDNSの設定も記録しておきます。復元時はまず同じバージョンのクライアントを使い、バージョン差をバックアップ破損と誤認しないようにしましょう。
  2. デスクトップは完全に終了:先に接続を停止し、タスクトレイからv2rayNを終了します。ポータブル版では、実際に使用されているユーザーデータをバックアップしてください。メインプログラムだけをコピーしても不十分です。インストール方法によってデータの保存先が異なるため、クライアントのドキュメントと実際のフォルダーを確認してください。
  3. Androidでは対応している機能を使う:現在のv2rayNGに設定のエクスポートまたはバックアップ機能がある場合は、その機能を使い、何が含まれるか確認してください。ノード共有機能しかない場合は「ノードの移行と設定の再構築」として扱い、ノードのエクスポートを完全なバックアップと呼ばないでください。
  4. 復元前に既存データを保管:移行先の端末で現在の設定をバックアップしてから、コピーを復元します。まずノード1つとルール1つをテストし、問題がないことを確認してから他の設定を順に有効にしてください。2台の設定を一度に上書きしてから調査を始めるのは避けましょう。

バックアップファイルは暗号化して保存し、復号パスワードとは別の場所に保管してください。クラウドストレージを使う場合、稼働中のクライアント2つから同じデータベースフォルダーを直接読み書きさせないでください。同時書き込み、ロックファイル、プラットフォーム間の違いによってデータが壊れることがあります。クライアントを終了してから作成したバックアップのコピーを同期するほうが、稼働中のデータフォルダーを同期するより安全です。

ルーティングとポート:方針をそろえ、端末固有の設定はコピーしない

パソコンではブラウザーがシステムプロキシを使い、AndroidアプリはVPN経由で接続します。トラフィックの入口は同じではありません。システムプロキシが影響するのは、その設定に従うアプリだけです。Androidのアプリごとのプロキシ設定では、どのアプリをVPNに通すかを指定します。ルーティングを比較する前に、トラフィックが実際にクライアントに入っていることを確認してください。ノードの設定が完全に同じでも、経路が違えば有効な比較にはなりません。

10808
ローカルSOCKSリスニングのポート例
10809
ローカルHTTPリスニングのポート例
127.0.0.1
各端末固有のループバックアドレス

上記のポート番号は説明用で、現在のバージョンの初期値を示すものではありません。設定によっては混合リスニングポートを使います。「設定」→「パラメーター設定」またはクライアントの該当画面に表示される実際のポートを確認してください。スマートフォンで127.0.0.1:10808を指定すると、スマートフォン自身を指し、パソコンには接続されません。両端末でクライアントを個別に実行する場合、ローカルポート番号を同じにする必要もありません。

移行後の動作確認とよくある質問

遅延テストの数値だけで判断しないでください。同じネットワークで、まず両端末から同じノードを選び、同じHTTPSページにアクセスします。次に直接接続されるはずの宛先をテストし、最後にプロキシが必要なアプリを確認します。接続、ルーティング、アプリの接続設定は、それぞれ独立した確認項目です。

同じサブスクリプションなのに、端末ごとにノード数が違うのはなぜ?

まず両端末で手動更新し、更新時刻を比べます。次に、サブスクリプション形式、グループのフィルター、クライアントのプロトコル対応状況を確認してください。プロバイダーが形式に応じて異なる内容を返す場合もあります。欠けているノードを1つ選んで種類を確認し、すぐにすべての設定を削除するのは避けましょう。

パソコンでは接続できるのに、スマートフォンでハンドシェイクに失敗するときは?

サーバーのポート、システム時刻、通信方式、SNI、安全性に関する設定を確認します。REALITYを使う場合は、公開鍵とShort IDも照合してください。その後、同じネットワークで試し、設定の問題とネットワーク到達性の問題を切り分けます。ログを確認する際は、共有する前にアドレスと認証情報を隠してください。

サブスクリプションを更新すると、スマートフォンはパソコンで選択したノードに自動で切り替わりますか?

通常は切り替わりません。サブスクリプションが提供するのはノード一覧で、選択中のノードは各クライアントが個別に管理します。両端末で同じ出口を使うには、それぞれで同じノードを選び、接続を確認してください。ノード名、遅延、並び順だけでは、実際に同じノードが選択されているとは判断できません。

v2flyNGでv2rayNGの完全なバックアップをそのまま使えますか?

そのまま使えるとは限りません。v2flyNGはv2flyコアを使用しており、v2rayNGとはコアや設定できる内容が異なります。移行時は両方が対応するサブスクリプションまたはノードリンクを使い、その後ルーティングと端末設定を作り直してください。特に、Xray固有の機能を共通の設定項目として扱わないでください。

v2rayN / v2rayNG ダウンロード