同じノードを継続して使うなら、両方の端末に同じサブスクリプションを追加するのがおすすめです。ノードを1つだけ移すならQRコード、手動登録したノードをまとめて移すなら共有リンク、同じクライアントの環境を復元するなら設定バックアップを使います。ノードが同じでも、ルーティング、DNS、プロキシの設定まで一致するわけではありません。ここでは、パソコンのv2rayNとAndroidのv2rayNGでの操作を説明し、同期後の確認手順も紹介します。
4つの同期方法:ノードとクライアント設定を区別する
端末間で共有するのは、サーバーへの接続に必要な情報であり、実行環境全体ではありません。サーバーアドレス、ポート、ユーザーID、通信方式、TLS設定はノードと一緒に移せます。一方、Windowsのシステムプロキシ、AndroidのVPN許可、アプリごとの振り分け、ローカルの待ち受けポートは端末ごとに設定が必要です。v2rayNはデスクトップ向け、v2rayNGはXrayコアを使用するAndroid向けのクライアントで、設定フォルダーを相互に流用することはできません。
サブスクリプションリンク
おすすめそれぞれの端末でノード一覧を取得します。サーバー側でアドレスが変わったり、ノードが追加・削除されたりした場合も、両方の端末で個別に更新すれば反映されます。同じリンクを使えるかどうかは、配信形式やアカウントのデバイス制限によります。
おすすめ:同じ提供元のノードを長く使い、変更も継続して受け取りたい場合。
QRコードで読み取る
現在のノード接続情報を1つだけ移す方法です。QRコードには通常、共有リンクが含まれます。以後の同期は行われず、クライアントの設定全体も含まれません。
おすすめ:パソコンとスマートフォンが手元にあり、ノードを1つだけ移したい場合。
共有リンクでまとめてインポート
ノードの共有リンクを1行に1つずつ並べ、一度に複数件をインポートします。手動でインポートしたノードは通常、元のサブスクリプション更新には追従しないため、手動用のグループに分けておきましょう。
おすすめ:自分で構築したノードをまとめて移す場合や、ノード一覧を保存しておきたい場合。
クライアント設定のバックアップ
元のクライアントのグループや設定をできるだけ維持する方法です。復元先には互換性のあるバージョンの同じクライアントを使い、デスクトップ版のプログラムフォルダーをAndroidで読み込ませないでください。
おすすめ:同じ種類の端末への買い替え、再インストール、アップグレード前の備え。
ノードを共有する前に、サービスの利用条件も確認してください。アカウントによっては同時接続数や登録できる端末数に制限があります。同じサーバーに2台から接続しても、通信量の上限が2倍になるわけではありません。利用可能なサブスクリプションを関係のないアカウントに転送しないでください。
サブスクリプションを同期する:各端末に追加して個別に更新
サブスクリプションは長期的な同期に向いていますが、端末間でリアルタイムに更新をプッシュする仕組みではありません。パソコンで更新しても、スマートフォンのローカル一覧は自動では変わりません。スマートフォン側でも更新を実行すると、その時点でサーバーから返された内容を取得できます。以下では日本語UIのメニュー名を記載します。バージョンによってアイコンや更新メニューの表記が多少異なる場合があります。
-
サブスクリプションの提供元を確認する
サービス提供元のアカウントページから、v2rayNとv2rayNGに対応したサブスクリプションURLを取得します。コピーするのはURL全体です。アカウントのログインページや、
vmess://またはvless://で始まる単一ノードのリンクではありません。 -
パソコンでグループを追加する
v2rayNのメイン画面で「サブスクリプショングループ」→「サブスクリプショングループの設定」を開き、新しい項目を追加します。「別名」を入力し、「アドレス(Url)」にサブスクリプションURLを貼り付けて保存します。バージョンによっては、アドレス欄が「アドレス」とだけ表示されます。
-
パソコンでサブスクリプションを更新する
メイン画面に戻り、「サブスクリプショングループ」→「すべてのサブスクリプションを更新(プロキシを使用しない)」を選びます。サブスクリプションサーバーに直接接続できない場合は、先に利用可能なノードを選び、対応する「プロキシ経由で更新」の項目を使ってください。ログを確認し、対象グループにノードが追加されていることを確かめます。
-
スマートフォンでサブスクリプションを追加する
v2rayNGのメイン画面で右上のメニューを開き、「サブスクリプショングループの設定」を選択します。「+」をタップして「備考」と「アドレス(Url)」を入力し、保存します。メイン画面に戻り、右上のメニューから「サブスクリプションを更新」を選びます。
-
それぞれの端末でノードを選ぶ
両方の端末で目的のノードを選択します。パソコンでは必要に応じてシステムプロキシを有効にします。スマートフォンでは接続ボタンをタップし、システムの確認画面でVPN接続を許可します。サブスクリプションをインポートしただけでは、通信の振り分けは始まりません。
QRコードと共有リンク:移せるのは現在の情報
ノードを1つだけ移す場合は、パソコンにQRコードを表示してスマートフォンで読み取ります。v2rayNのサーバー一覧でノードを選び、右クリックメニューの「サーバーを共有」からQRコードを選択します。バージョンによっては「サーバーQRコードを共有」と直接表示されます。v2rayNGのメイン画面で「+」→「QRコードをスキャン」をタップし、パソコン画面にかざしてインポートします。
- QRコードの内容:通常は単一ノードの共有リンクです。読み取り結果がHTTPSアドレスの場合は、サブスクリプションURLなのか一般のWebページなのかを確認してください。すべてをノードとしてインポートできるわけではありません。
- 読み取りに失敗する場合:QRコードの表示を拡大し、周囲に余白を残して、画面の反射を避けてください。内容が長くコードが細かくなりすぎる場合は、テキスト形式の共有リンクを使います。
- Androidからパソコンへ共有:v2rayNGのノード行にある共有メニューから、QRコードを表示するかリンクをコピーできます。テキストを受け取ったら、v2rayNの「サーバー」メニューから「クリップボードからURLを一括インポート」を選びます。
- まとめてインポート:v2rayNのサーバー一覧で対象ノードを複数選択し、右クリックの共有メニューから共有URLをコピーします。1つのリンクを1行ずつに分けて、v2rayNGで「+」→「クリップボードからインポート」をタップします。
共有リンクの一般的なプレフィックスはvmess://、vless://、trojan://です。プレフィックスによって解析方法が決まるため、書き換えて別のプロトコルに変換することはできません。VMessの共有形式とVLESSのURIパラメーターの表し方も異なります。クライアントで認識された後も、ノードの編集画面で重要な項目を確認してください。
まとめてインポートしたノードは、サブスクリプション更新で上書きされるグループに混ぜず、手動用のグループに分けるのがおすすめです。同じリンクをもう一度貼り付けると、項目が重複することがあります。ノード名が同じでも設定が一致するとは限りません。削除する前にアドレス、ポート、ユーザーIDを比較してください。
端末間で確認すること:ノード情報はそろえ、ローカル設定は別々に管理
ノード名は単なるラベルです。同じ地域名のノードでも、ポート、通信方式、サーバー名が異なる場合があります。確認するには、v2rayNではノードをダブルクリックして編集画面を開き、v2rayNGではノード行の編集ボタンを使います。以下の2つのカードで、移行するサーバー側の情報と、端末ごとに設定するローカル情報を分けて説明します。
ノードの接続情報
- アドレスとポート
- サービス提供元の値を使用します。443は一般的な例にすぎません。
- 認証情報
- VMessとVLESSではUUIDを確認し、その他のプロトコルでは対応する認証情報を確認します。
- 通信方式
- TCPやWebSocketなどの種類に加え、実際に使用するHostとパスを確認します。
- セキュリティ設定
- TLSのserverNameを確認します。Realityでは公開鍵やshortIdなども確認してください。
設定値はサブスクリプションまたはサーバー設定を参照してください。ノード名から推測したり、「互換性」のために証明書検証を安易に無効にしたりしないでください。
端末ごとのローカル設定
- ローカルの待ち受け
- 例:127.0.0.1:10808。実際の値は端末の「パラメーター設定」で確認してください。
- 通信の振り分け
- デスクトップではシステムプロキシとTUNを区別し、AndroidではVPNの接続状態を確認します。
- ルーティング
- 直接接続、プロキシ、ブロックの各ルールを個別に確認します。ノードのQRコードでは同期されません。
- DNSとアプリ
- 名前解決の設定をそれぞれ確認します。Androidでは対象アプリが除外されていないかも確認してください。
ローカルポートとリモートサーバーのポートは別物です。接続を調べるために10808をノードのサーバーポート欄へ入力しないでください。
v2rayNでは「設定」→「パラメーター設定」でローカルの待ち受けやコア関連の項目を確認できます。v2rayNGではサイドメニューの「設定」からローカル動作の項目を確認します。設定の分類はバージョンによって変わるため、スイッチの位置を覚えるより項目名を記録しておくと確実です。
対応プロトコルは実際に使われているコアにも左右されます。Android版v2rayNGはXrayを、v2flyNGはV2Flyを使用します。名前が似ていても、すべてのノード設定を相互に使えるとは限りません。特にRealityの設定では、移行先クライアントのコアが対応しているか確認してください。インポートに失敗しても、すぐにQRコードの破損と決めつけないようにしましょう。
設定バックアップ:同じクライアントの復元向け。端末をまたいだ一括上書きには不向き
設定バックアップとノード共有では目的が異なります。前者はグループや設定などのローカル状態を復元するためのもの、後者は接続情報をやり取りするためのものです。v2rayNがコアの実行用に生成するJSONも、クライアント自身の設定データベースとは別物です。実行時の設定ファイルだけでは、サーバー一覧やサブスクリプショングループを復元できない場合があります。
- 環境を記録する:クライアントの「バージョン情報」画面でバージョンを確認し、Windows、macOS、Linux、Androidのどれを使っているか、インストール版かポータブル版かも記録します。復元時はまず同じバージョンで確認してから、アップグレードを検討してください。
- 終了してからコピーする:Windowsのポータブル版v2rayNは、タスクトレイのメニューから終了し、プロセスが終了したことを確認してから、ポータブルフォルダー全体をコピーします。実行ファイルだけ、または実行時のJSONだけをコピーしないでください。設定ファイルへの書き込み中に上書きするのも避けてください。
- データの保存場所を確認する:インストール版やその他のデスクトップ環境では、データの保存場所がプログラムの場所と異なる場合があります。使用中のバージョンの説明を確認し、実際のユーザーデータフォルダーを特定してください。見つからない場合は、サブスクリプションURLと手動ノードの共有リンクを先に保存します。プログラムフォルダーのコピーだけで完全なバックアップになるとは限りません。
- Androidでは分けて保存する:v2rayNGのサブスクリプションURLを控え、ノードの共有メニューから手動ノードをエクスポートします。ルーティング、DNS、アプリの選択設定は別途記録してください。共有リンクだけでは設定全体をバックアップできません。
- 少しずつ復元する:まず同じクライアントにグループを1つ復元して接続を確認し、その後に残りを復元します。v2rayNのフォルダーをAndroidアプリのフォルダーにコピーしたり、v2rayNGのアプリデータを別のクライアントに上書きしたりしないでください。
同期後の確認:接続してから通信の振り分け範囲を確認
インポート成功だけで判断しないでください。まず両方の端末で同じ接続情報のノードが選ばれていることを確認し、それぞれで実際に接続します。TCPポートに到達できても、認証、TLS、プロキシ経由の通信まで成功したとは限りません。接続するネットワークが異なる端末間で遅延値が違っても、それだけで同期失敗とは判断できません。
| 確認項目 | パソコン | Android |
|---|---|---|
| ノードの取得元 | 所属するサブスクリプショングループと、直近の更新結果を確認します。 | 古い手動ノードを選んだままになっていないか確認します。 |
| 接続情報 | ノードをダブルクリックし、アドレス、ポート、通信方式、TLSを確認します。 | ノードの編集画面を開き、項目ごとにパソコン側と比較します。 |
| 実際の接続 | 選択中のノードで実接続による遅延テストを行い、ログを確認します。 | 接続後、設定済みの実接続テストを行い、ログを確認します。 |
| アプリからのアクセス | システムプロキシまたはTUNが対象アプリの通信を実際に処理しているか確認します。 | VPNの接続状態とアプリごとの設定を確認します。 |
| 更新後の再確認 | サブスクリプションを更新した後、現在のノードを再確認します。 | パソコン側の更新結果に頼らず、端末ごとに更新を実行します。 |
複数端末の同期に関するよくある質問
パソコンでは使えるのに、スマートフォンではインポート後に接続できません。まず何を確認すればよいですか?
まずv2rayNGの編集画面で、サーバー側のポート、通信方式、TLSのserverName、認証情報を比較します。次に、システム時刻の自動設定とVPNの許可状態を確認してください。その後、モバイル回線とWi-Fiの両方で試します。特定のアプリだけ失敗する場合は、ノードをすべて再インポートする前に、サイドメニューの「設定」でアプリごとの設定を確認してください。
サブスクリプションを更新すると、QRコードでインポートしたノードも更新されますか?
更新されません。QRコードからのインポートは通常、独立したスナップショットです。サーバー側でポートや認証情報が変更されても、古い情報のまま残ります。継続して使う場合は、スマートフォンの「サブスクリプショングループの設定」で該当するサブスクリプションを追加してください。新しいグループで接続できることを確認してから、古い手動登録を削除します。
2台の端末で同じローカルポートを使う必要がありますか?
必要ありません。パソコンの127.0.0.1:10808はパソコン自身を指し、スマートフォンで同じアドレスを使うとスマートフォン自身を指します。各端末の設定に合わせて使ってください。この記事のように端末間でノードを共有するだけなら、LAN向けの待ち受けを開放する必要はありません。サブスクリプション同期のために待ち受けアドレスを0.0.0.0へ変更しないでください。
更新後、同じ名前のノードが2つ表示されるのはなぜですか?
まずサブスクリプション由来のノードと手動インポートしたノードの両方が残っていないか確認し、次にサブスクリプショングループを重複して追加していないか確認してください。v2rayNまたはv2rayNGの「サブスクリプショングループの設定」でURLを照合します。利用中のグループを残し、接続できることを確認してから重複した取得元を削除してください。備考が同じという理由だけでまとめて削除しないでください。