PCとAndroid端末で同じノードを継続して使うなら、各端末に同じサブスクリプションを登録するのがおすすめです。ノードを一つだけ一時的に移す場合は共有リンクやQRコード、同じクライアントを使う端末への機種変更ではアプリのバックアップを検討しましょう。方法によって移行できる内容は異なります。この記事ではノード情報、サブスクリプションの取得元、端末内の設定に分けて手順を解説し、移行後の確認方法も紹介します。
1. ノードの同期とアプリ設定の移行を区別する
「設定の同期」には、少なくとも3つの意味があります。2台の端末で同じサーバー一覧を使うこと、サブスクリプションURLやグループを引き継ぐこと、ルーティングやDNS、待ち受けポートなどのローカル設定を複製することです。サブスクリプションで通常共有できるのは最初の項目です。共有リンクは主に個別のノード情報を表し、アプリのバックアップにはより多くのローカルデータが含まれる場合があります。これらを同じ種類のファイルと考えると、「ノードはインポートできたのに、動作が違う」といった問題につながります。
v2rayNはデスクトップ向けクライアント、v2rayNGはXrayコアを使用するAndroidクライアント、v2flyNGはV2Flyコアを使用するAndroidクライアントです。同じアプリの別画面ではなく、設定データベースも互換性があるとは限りません。VMessやVLESSなど同じプロトコルに対応していても、すべてのクライアントやコアのバージョンで同じトランスポートやセキュリティ設定を解釈できるとは限りません。
同じサブスクリプションを使う
おすすめ各端末が同じ配信元からノード一覧を取得します。サーバー側で変更があった場合は、それぞれの端末で更新します。選択中のノードやローカルルール、更新時刻は端末ごとに保存されます。
向いている用途:PCとスマートフォンで同じノード群を継続して使う場合。
共有リンクまたはQRコード
移行時点のノード設定をスナップショットとして渡す方法です。QRコードはリンクを別の形式で表示したもので、通常、元のサブスクリプションURLは含まれず、その後のノード変更も反映されません。
向いている用途:一時的なテスト、少数の手動設定ノード、対面での移行。
アプリのバックアップファイル
保存される内容はクライアントのバックアップ機能によって異なり、グループやアプリ設定が含まれることもあります。復元前に、クライアント、バージョン、バックアップ形式の互換性を確認してください。
向いている用途:同じクライアントを使った機種変更、再インストール前の設定保存。
結論:日常的な更新はサブスクリプション、端末固有の設定は各端末で管理
まずノードの取得元を統一し、デスクトップのシステムプロキシとAndroidのアプリ別プロキシは端末ごとに設定しましょう。両端を「完全に同じ」にするために、本来異なるローカルルールまで上書きする必要はありません。
2. 同じサブスクリプションを各端末に登録して個別に更新
まず、サブスクリプション提供元が許可する端末数と同時接続数を確認してください。2台の端末で同じURLを読み込めても、それはURLにアクセスできるという意味であり、アカウントが無制限の同時接続を許可しているとは限りません。提供元が案内するHTTPS形式のサブスクリプションURLを使い、Web管理画面のログインURLをサブスクリプションとして登録しないでください。
- デスクトップでグループを追加:v2rayNの「サブスクリプショングループ」→「サブスクリプショングループの設定」を開き、新しいグループを作成します。メモとサブスクリプションURLを入力して保存してください。照合しやすいよう、グループ名を「日常用サブスクリプション」などに統一できます。
- デスクトップでノードを取得:「サブスクリプショングループ」に戻り、「現在のサブスクリプションを更新(プロキシを使用しない)」または該当する更新メニューを実行します。バージョンによって表示名は多少異なります。保存したグループを選択して更新してください。URLを保存しただけでは、ノード一覧は自動で表示されません。
- Androidで取得元を登録:v2rayNGのサイドメニューから「サブスクリプショングループの設定」を開き、新しいグループに同じURLを入力します。メイン画面に戻り、右上のメニューから「サブスクリプションを更新」を選択してください。v2flyNGではアプリ固有のサブスクリプション設定と更新メニューを使用し、v2rayNGのアプリデータフォルダーはインポートしないでください。
- 端末ごとに結果を照合:グループ内のノード数と名前を確認し、ノードを一つ選んでサーバーアドレスとポートを比較します。提供元がクライアントごとに異なる内容を返す場合、ノード数が違うことがあります。すぐに何度もインポートせず、形式の互換性を確認してください。
初回の更新に失敗したら、まずどの段階でエラーが起きたか確認しましょう。URLにアクセスできない、ログインページが返る、サブスクリプションの内容を解析できない、はそれぞれ異なる問題です。現在のネットワークから直接取得できない場合、すでに利用可能な接続があることを前提に、クライアントの「プロキシ経由で更新」を試せます。使えるノードがない状態で更新方法を何度切り替えても、設定が新たに取得できるわけではありません。
おすすめの方法:取得元は共通、動作設定は端末ごとに管理
デスクトップ:v2rayN
- サブスクリプションURLを登録し、更新後に使用するノードを選択します。
- 用途に合わせてシステムプロキシとルーティングモードを設定します。
- 自動更新を使う場合は、利用中のバージョンに更新間隔の設定があるか確認します。
Android:v2rayNG
- 同じサブスクリプションを個別に登録し、更新後に取得結果を確認します。
- 接続時にAndroidのVPN接続許可を行います。
- アプリ別プロキシとバッテリー使用の権限を端末側で設定します。
同じURLで統一できるのはノードの取得元です。選択中のノード、更新時刻、ローカルのプロキシモードはリアルタイムで同期されません。
3. 共有リンクとQRコードで個別ノードを移行
手動設定のノードが少ない場合や、移行先のクライアントで特定の設定が動作するか確認したい場合は、共有リンクが手軽です。一般的なノードリンクはvmess://またはvless://で始まります。サブスクリプションURLは通常HTTPS形式ですが、接頭辞だけで内容は判断できません。HTTPSのURLが単なるWebページを指す場合もあるため、クライアントが実際に取得した応答を確認してください。
- 移行元でノードを選び、ノードメニューから共有、共有リンクのエクスポート、またはQRコードを選択します。メニュー名はバージョンによって異なります。サブスクリプショングループのアクセスURLではなく、ノードをエクスポートしてください。
- 移行先がv2rayNの場合は、「サーバー」→「クリップボードから一括URLをインポート」を使用できます。v2rayNGの場合は、メイン画面の「+」→「クリップボードからインポート」または「QRコードをスキャン」を選択します。
- インポート後、接続を開始する前にプロトコル、サーバーアドレス、ポート、ユーザーID、トランスポート方式、TLS設定を確認してください。ノード名が同じでも、設定が同一とは限りません。
- 移行先で正常に接続できることを確認したら、一時的な転送記録や不要になったQRコード画像を削除してください。認証情報を含むQRコードを、共有アルバムにスクリーンショットとして長期間保存しないでください。
VLESSノードでは、サーバー名、フロー制御、公鍵などの設定が必要な場合があります。WebSocketトランスポートではパスやHostが必要になることもあります。移行先クライアントが一部の項目を認識しないと、インポートに成功しても接続できない場合があります。設定画面と移行元の値を比較し、安易に別のトランスポート方式へ変更しないでください。移行元に必要な設定がそろっていて移行先に該当項目がない場合は、まずクライアントとコアのバージョンが対応しているか確認します。
4. バックアップをインポートする前に、何がエクスポートされたか確認
「サーバーをエクスポート」「設定全体をエクスポート」「アプリデータをバックアップ」は似た名前でも、対象範囲が異なります。サーバーの共有情報に含まれるのは主にノード情報です。コアの実行設定には、インバウンド、アウトバウンド、ルーティング、DNSが含まれることがあります。アプリのバックアップには、クライアント固有のグループや設定が保存される場合があります。コアで読み込めるJSONが、クライアントの画面設定を復元するバックアップファイルとして使えるとは限りません。
| エクスポート対象 | 主な内容 | インポート前の確認項目 |
|---|---|---|
| ノードの共有情報 | サーバー、認証情報、トランスポート設定 | 移行先クライアントがリンク形式とプロトコル項目に対応しているか |
| コアのJSON設定 | インバウンド、アウトバウンド、ルール一式が含まれる場合があります | コアの種類、対応フィールド、参照ファイルのパス |
| クライアントアプリのバックアップ | アプリとバージョンによって異なります | 復元メニュー、形式のバージョン、上書きか統合か |
同じクライアントを使う端末への機種変更では、現在のバージョンが正式に提供するバックアップ・復元機能を優先し、移行元のバージョンも記録しておきましょう。完全なバックアップ機能がない場合、「ノードのエクスポート」を完全なバックアップとみなさないでください。サブスクリプショングループ、ルーティング、DNS、ポートは別途記録できます。v2rayN、v2rayNG、v2flyNG間で移行する場合は、サブスクリプションまたは標準の共有リンクを使い、他のクライアントのデータファイルを直接上書きしないでください。
- 復元前:まず移行先のデータをバックアップし、復元によって既存のノードやグループが上書きされるか確認します。明確な説明がない場合は、上書きされる可能性があるものとして扱ってください。
- コピー前:クライアントのドキュメントに従って設定ファイルをコピーする場合は、データベースへの書き込みが完了するよう、先にアプリを終了します。ドキュメントで指定された設定だけをコピーし、インストールフォルダー全体は複製しないでください。
- 復元後:ルールファイル、証明書、その他のローカルファイルへの参照を確認します。古いPCの絶対パスは、新しい端末では通常使えません。
- 動作確認後:古い端末のデータを削除します。バックアップファイルはアクセスを管理できる場所に保管し、公開された同期フォルダーには置かないでください。
5. 移行後の確認:サーバーポートとローカルポートを区別する
同じノードを使っているのに接続結果が異なる場合、まず通信がクライアントに届いているか確認しましょう。デスクトップのシステムプロキシ、AndroidのVPNによる通信制御、ルーティング、DNSはいずれも端末側の設定です。サブスクリプションでこれらが自動的に統一されることはありません。サーバーへの接続ポートを、別の端末で使うローカル待ち受けポートに変更しないよう注意してください。
上記の数値はポートの役割を区別するための例であり、必ずこの値を使う必要はありません。ノードにはリモートサーバーで実際に開放されているポートを設定します。ブラウザーなどのローカルアプリには、現在のクライアントが待ち受けるプロキシのアドレスとポートを設定してください。別々の端末がそれぞれローカルの127.0.0.1:10808で待ち受けても、互いに競合しません。同じPC上の2つのプロセスが同じアドレスとポートを使おうとすると、起動に失敗します。
- ノードを確認:両端で互換性のある同じノードを選び、ログに項目の解析エラー、認証エラー、接続エラーがないか確認します。
- 通信の取り込みを確認:v2rayNではシステムプロキシの状態を確認します。プロキシを手動指定しているアプリでは、アプリ側の設定も確認してください。v2rayNGまたはv2flyNGでは、AndroidのVPN接続許可と接続状態を確認します。
- ルーティングを確認:バイパスルールが有効か、テスト対象のアプリが除外されていないか確認します。Androidのアプリパッケージ名による対象指定を、デスクトップのアプリ設定にそのまま置き換えることはできません。
- DNSを確認:同じノードで一部のドメインだけ接続できない場合は、両端のDNSとルーティング設定を比較します。設定は一度に一つだけ変更し、元に戻せるよう変更前の値を記録してください。
結論:まず通信がクライアントに届いていることを確認し、その後ノード設定を比較
同じノードと同じテスト先を使い、両端のログを確認します。移行先に該当する接続記録がない場合は、まずプロキシによる通信の取り込みやアプリの対象設定を確認してください。接続エラーが記録されている場合は、認証、トランスポート、サーバー設定を確認します。
6. 継続利用の注意点:更新、重複ノード、認証情報の無効化
複数端末で長期間使う場合、初回のインポートよりも、片方の端末だけ古いノード一覧のまま使い続けることがよく問題になります。提供元がノードを変更したら、各端末で個別に更新し、成功したことを確認してから、現在も利用できるノードを選び直してください。サブスクリプションの更新で、PCの使用中ノードがスマートフォンに同期されることは通常ありません。
同じサブスクリプションを使っているのに、端末によってノード数が違うのはなぜ?
まず、両端で同じグループを更新し、どちらも更新に成功していることを確認してください。次に、サブスクリプションの応答がクライアントごとに異なる形式になっていないか、移行先が未対応のプロトコルや設定項目を除外していないか確認します。ノード数をそろえるために共有リンクを一括で何度も貼り付けると、更新できない重複ノードが残りやすくなります。
ノード名や設定を手動で変更した場合、更新後も保持されますか?
サブスクリプションノードの置き換えや照合方法はクライアントによって異なるため、ローカルでの変更が必ず保持されるとは限りません。長期的に使う手動設定は手動管理のグループに保存し、取得元も記録してください。サブスクリプショングループは提供元の内容を反映するものとして維持すると、更新のたびに設定をやり直さずに済みます。
サブスクリプションURLが変更されたら、ノードをすべて再インポートする必要がありますか?
まず既存のサブスクリプショングループでURLを変更して更新し、古いノードが削除されたか、現在のノードが引き続き使えるか確認してください。新しいグループを作成する必要がある場合は、先に新しいグループの動作を確認してから古いグループを削除しましょう。移行中に使える設定を失うのを防げます。
サブスクリプションURLやバックアップが漏えいした場合、端末上のファイルを削除するだけで十分ですか?
いいえ。提供元の管理画面でサブスクリプションへのアクセス認証情報を再発行してください。ノードの認証情報も漏えいした場合は、提供元の手順に従って該当する認証情報も変更します。サブスクリプションURLだけを再発行しても、エクスポート済みのノードが無効になるとは限りません。その後、各端末で更新し、古いリンクやバックアップの共有コピーを削除してください。
認証情報を含めずに、クライアントのバージョン、サブスクリプショングループ名、最後に更新が成功した日付、ローカルのルーティングやDNSの変更内容を記録しておくと便利です。端末を移行するときは、まずノードの取得元を復元し、この記録を見ながら端末固有の設定を戻します。再インポートを減らせるだけでなく、問題が取得元、互換性、端末設定のどこにあるか切り分けやすくなります。