v2rayN・v2rayNGの複数デバイス間で設定を同期する方法|サブスクリプション、共有リンク、バックアップ

サブスクリプション、QRコード・共有リンク、設定バックアップの同期方法を比較。PCとAndroid間でルーティングルールやカスタムノードを移行する際の注意点も解説します。

この記事の要点

PCとAndroidで同じノードを使うなら、両方の端末で同じサブスクリプションをインポートするのが基本です。ノードを1つだけ一時的に移す場合は、共有リンクやQRコードを使います。端末を買い替える際は、クライアントのバックアップも確認しましょう。移行方法によって引き継げる範囲は異なります。ノード情報は移行できても、ルーティング、DNS、待ち受けポート、アプリごとの設定は個別に確認が必要です。ここでは、インポート、動作確認、バックアップの順に手順と注意点を説明します。

3つの同期方法で引き継げるもの

v2rayNはPC向けクライアント、v2rayNGはXrayコアを使用するAndroid向けクライアントです。クライアントはノードやサブスクリプション、画面設定を保存し、コアは実際の接続を処理します。両方のクライアントが同じノード共有形式に対応していても、設定データベースを相互にインポートできるとは限りません。

同じサブスクリプションをそれぞれインポート

おすすめ

両方の端末で同じ配信元からノードを取得します。配信元でノードが変更されたら、各端末でサブスクリプションを更新します。選択中のノード、ルーティング、システムプロキシの状態は自動で同期されません。

おすすめの用途:同じサブスクリプションを継続して使うPCとAndroid端末。

共有リンクまたはQRコード

選択したノードの情報をもう一方の端末にインポートします。エクスポート時点の情報であり、元のサブスクリプションの変更には追従しません。クライアント全体の設定も引き継がれません。

おすすめの用途:ノードの一時的な共有、自分で追加したサーバーの移行。

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

アプリがエクスポートに対応しているデータを保存します。バックアップの範囲はクライアントによって異なり、主に同じクライアントでの復元に使います。PC向けのバックアップをAndroidでそのまま使うことはできません。

おすすめの用途:再インストール、端末の買い替え、大幅な設定変更前の保存。

移行したいのが「サーバーへの接続情報」なのか「利用環境一式」なのかを、まず確認しましょう。前者にはアドレス、ポート、ユーザー情報、トランスポートやセキュリティの設定が含まれます。後者にはDNS、ルールの優先順、アプリ一覧、起動時の動作、ローカルの待ち受け設定も含まれます。QRコードを読み取るだけでは、後者は移行できません。

サブスクリプション:各端末でのインポートと更新

サブスクリプションURLには通常、アクセス用の認証情報が含まれています。元のサービスアカウント、または保存済みのサブスクリプション設定から取得してください。ノードの共有リンクである vless:// や vmess:// を、サブスクリプションURLの欄に入力しないようにしましょう。サブスクリプションはノード一覧を取得するためのもので、共有リンクは個々のノード情報を表します。

  1. 配信元を確認する

    元の端末でサブスクリプショングループの編集画面を開き、クエリパラメーターを含めたURL全体をコピーします。サービスが複数の形式を提供している場合は、両方のクライアントで読み込めるノード用の形式を選びましょう。別の設定システム向けのルールファイル一式は選ばないでください。

  2. PCでグループを作成

    v2rayNで「サブスクリプショングループ」→「サブスクリプショングループの設定」を開き、グループを追加して名前とURLを入力します。保存後、「サブスクリプショングループ」に戻ってすべてのサブスクリプションを更新します。現在のネットワーク状況に応じて、プロキシ経由で更新するかどうかを選択してください。

  3. Androidでサブスクリプションを追加

    v2rayNGでサイドメニューから「サブスクリプショングループの設定」を開き、「+」をタップして名前とサブスクリプションURLを入力し、保存します。メイン画面に戻り、右上のメニューから「現在のグループのサブスクリプションを更新」を実行します。作成したサブスクリプショングループが選択されていることを確認してください。

  4. 内容を確認して接続

    両方の端末で対象ノードのサーバーアドレス、ポート、プロトコルを確認し、ノードを選択して接続を開始します。メニューの表記はクライアントの画面変更に伴って変わることがあります。更新するのは、必ず保存したばかりのグループです。同じ名前の手動グループを更新しないよう注意してください。

サブスクリプション内のノードを手動で変更する場合は、先にエクスポートしてから、独立した手動グループに追加してください。サブスクリプションを更新すると該当するレコードが再生成される場合があるため、購読中のレコードに長期的な手動変更を保存しないようにしましょう。「通常用サブスクリプション」「手動管理」のようにグループ名を明確に分けると、更新対象を間違えにくくなります。

QRコードと共有リンク:ノードを1つだけ移行

PCからスマートフォンへノードを1つ送るなら、QRコードを使うと端末をまたいだコピー&ペーストが不要です。スマートフォンからPCへ移す場合は、共有リンクをコピーするほうが簡単です。どちらも同じノードURIを含むことが多く、QRコードが元のリンクにない情報を補うわけではありません。

  1. v2rayNのノード一覧で対象を選び、右クリックメニューから共有またはQRコードの項目を開きます。エクスポート対象がサブスクリプションURLではなく、ノードであることを確認してください。
  2. v2rayNGのメイン画面で「+」→「QRコードをスキャン」をタップします。テキストで送る場合は、共有リンク全体をコピーしてから「+」→「クリップボードからインポート」をタップしてください。
  3. AndroidからPCに戻す場合は、ノードの共有メニューからリンクをコピーし、v2rayNのメイン画面で「サーバー」→「クリップボードからURLを一括インポート」を実行します。
  4. インポート後、ノードの編集画面を開き、トランスポート、セキュリティ、ユーザー情報を照合します。新しいレコードを先にテストしてから重複項目を削除し、元に戻せるよう接続可能な元のレコードを残しておきましょう。

名前が同じというだけで、正しくインポートできたと判断しないでください。VMessではユーザーID、暗号化設定、トランスポート方式、TLSを確認します。VLESSではユーザーID、Flow、トランスポートのセキュリティ設定を確認してください。WebSocketではパスとHostも確認します。TLSを使用する場合、接続先アドレスとサーバー名が異なることがあります。安易に同じ値に変更しないでください。

移行先にV2Flyコアをベースにしたv2flyNGを使う場合は、対応プロトコルを改めて確認してください。v2rayNGで使えるXray固有の設定が、そのまま互換性を持つとは限りません。ノード名が表示されても、インポーターが一部の情報を読み取れたことを示すだけで、コアで接続できるとは限りません。

ルーティング、DNS、ローカルポートは個別に設定する

複数デバイスの設定移行で見落としやすいのが、実行環境です。PCのシステムプロキシは、システムプロキシを使うプログラムにのみ影響します。一方、AndroidのVPNサービスは選択した範囲の通信を処理します。仕組みが異なるため、「グローバルモード」という同じ名前の設定をコピーしても、動作が完全に一致するとは限りません。

ノード側:項目ごとに確認

サーバーポート
サーバー側から指定された値を使用
ユーザー情報
UUIDまたは対応する認証情報
トランスポート設定
TCP、WebSocketと関連項目
セキュリティ設定
TLSまたはREALITYの設定一式

これらの項目で接続先が決まります。対応する共有形式を使えば移行できます。

端末側:端末ごとに確認

ローカル待ち受け
例:127.0.0.1:10808
ルールの優先順
個別ルールを先に、フォールバックルールを後に配置
DNS設定
リゾルバーのアドレスと通信経路
トラフィックの入口
システムプロキシまたはAndroid VPNサービス

10808はローカルポートの例であり、サーバーポートではありません。また、各バージョンのデフォルト値を示すものでもありません。

ルーティングを移行する際は、ドメインまたはIPのマッチ条件、接続先のアウトバウンド、ルールの順序を記録し、もう一方の端末で対応するルールを再作成します。PCのローカルファイルパス、プロセス条件、異なるアウトバウンドタグを含む設定を、そのまま貼り付けないでください。アウトバウンドタグは移行先の設定に実在するアウトバウンドを指定する必要があります。ルールセットも移行先でインストール済み、または利用可能であることを確認してください。

設定バックアップ:アプリデータとコアの実行ファイルを区別する

バックアップ前に、クライアント名、実際のバージョン、選択中のコア、システムのアーキテクチャを記録します。これらは端末の「バージョン情報」画面やコアのログで確認し、インストーラーの説明から推測しないでください。アプリのバックアップファイルとコアのJSONは別物です。前者はアプリの状態を復元するためのもので、後者は特定の実行に必要なプロキシ設定を記述します。

  1. 基本情報を保存

    サブスクリプションURLと手動ノードの共有テキストをそれぞれ保存します。ルールの優先順、DNS、アプリ一覧、ローカルポートも別途記録してください。機密情報は暗号化ストレージに保存し、公開ドキュメントには記載しないでください。

  2. アプリのバックアップを作成

    現在使用しているクライアントに搭載されたバックアップ・エクスポート機能を優先し、対象範囲を確認してください。ポータブル版v2rayNのデータフォルダーをコピーする必要がある場合は、まずアプリを終了し、ファイルの書き込みが完了したことを確認してから、実際のユーザーデータの保存場所をコピーします。アプリ本体だけをコピーしないでください。

  3. データを分けて復元

    同じクライアント間では、クライアントの復元機能を使ってインポートします。PCからAndroidへ移行する場合は、サブスクリプションと手動ノードをそれぞれインポートしたうえで、ルーティングなどの設定を再作成してください。v2rayNのデータベースやアプリ設定ファイルをv2rayNGに直接読み込ませないでください。

  4. 復元用のコピーを残す

    復元後、サブスクリプションURL、手動グループ、ルーティング設定が揃っているかを確認し、接続テストを行います。正常に動作すると確認できるまでは、旧端末のデータを削除したり、唯一のバックアップを空の設定で上書きしたりしないでください。

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

動作確認では、変更する条件を一度に1つに絞りましょう。まず移行先端末のデフォルト設定など、動作を把握しやすいルーティングで対象ノードに接続します。その後、カスタムDNS、通信の振り分け、アプリの対象範囲を1つずつ戻します。ノード情報と端末側の設定、どちらに問題があるかを切り分けやすくなり、失敗の原因をすべてサブスクリプションのせいにせずに済みます。

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

まず両方の端末でサブスクリプションの編集画面を開き、URL全体を照合してから、それぞれのグループを更新します。ノードのフィルター設定や、一方のクライアントが一部のプロトコルに対応していない可能性も確認してください。元のサブスクリプション形式を確認したうえで、配信元が異なる内容を返しているのか、ローカルでの解析結果に差があるのかを判断します。

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

新しいノードの編集画面を開き、元の端末とポート、トランスポートのパス、サーバー名、REALITYの項目を照合してから、起動ログを確認します。PCでは使用中のコアが該当プロトコルに対応しているか確認してください。証明書の検証を無効にして、設定項目の確認を代用しないでください。

スマートフォンでノード名を変更すると、PCにも反映される?

反映されません。名前の変更はスマートフォン本体に保存され、サブスクリプションは双方向の書き込みには対応していません。両方の端末で同じ名前にする場合は、それぞれで変更してください。手動管理のノードは別のグループに保存すると、その後の更新で名前が置き換わるのを避けられます。

サブスクリプションURLを誤って共有した場合、メッセージを削除すれば大丈夫?

それだけでは不十分です。サブスクリプションサービスのアカウントから認証情報をリセットし、各端末のURLを変更して更新してください。サブスクリプションの認証情報と個々のノードの認証情報は、別々に管理されている場合があります。ノードの認証情報も漏えいした場合は、サービス提供元が対応する方法で該当する認証情報を変更してください。

複数端末を安定して管理するには、サブスクリプションでノード一覧を管理し、手動グループでカスタムノードを管理し、各端末の実行環境はそれぞれ個別に設定します。サブスクリプションの更新、ノード単体の共有、アプリのバックアップを分けて扱えば、端末を買い替える際に復元するデータと、再確認が必要な設定を把握しやすくなります。

v2rayN をダウンロード4つのプラットフォーム向けクライアントを見る