まず、ノード情報とクライアント設定を分けて考えましょう。PCとAndroidで同じノードを継続利用するなら、同じサブスクリプションを登録するのが基本です。ノードを1つだけ一時的に移す場合は、共有リンクやQRコードを使います。端末を買い替えてソフトの設定も引き継ぐなら、同じクライアントのバックアップと復元を検討してください。ここではv2rayN、v2rayNG、v2flyNGそれぞれの適用範囲と、インポート後に個別確認が必要なプロキシ、DNS、ルーティング設定を説明します。
同期方法を選ぶ:サブスクリプション、ノード共有、バックアップ
「V2Rayの設定を共有する」といっても、通常は2つの作業に分かれます。1つはサーバーへの接続に必要なノード情報のコピー、もう1つは端末上の通信をどう振り分けるかという設定の移行です。ノード情報はサブスクリプションや標準形式の共有リンクで移せます。一方、通信設定はOS、クライアント、コアに依存するため、ノード名が同じでも設定全体が同期されたとは限りません。
サブスクリプションURLを共有
おすすめ両方の端末に同じサブスクリプションURLを登録し、それぞれで更新します。ノードの変更はサブスクリプションから取得できるため、毎回手動で転送する必要はありません。ただし複数端末での利用可否は、サービス提供元の端末数や同時接続のルールを確認してください。
おすすめの用途:PCとスマートフォンで継続利用する場合、ノード一覧が頻繁に変わる場合。
共有リンクとQRコード
選択中のノードを共有URIとして書き出すか、対応するQRコードを表示します。受信側に渡るのはその時点の設定情報で、元のノードに後から加えられた変更は自動反映されません。
おすすめの用途:一時的な移行、ノードを1つまたは少数だけ転送する場合。
クライアントのバックアップと復元
クライアントのバックアップ機能を使い、実際に保存される設定の範囲を確認します。バックアップのファイル構成はクライアントごとに異なります。v2rayNのデータフォルダーを、そのままv2rayNGやv2flyNGのバックアップとして使うことはできません。
おすすめの用途:同じクライアントのまま端末を買い替える場合、再インストール前に設定を保存する場合。
サブスクリプションを共有する:両方に登録して個別に更新
まず、サービス提供元から完全なサブスクリプションURLを取得します。vmess://やvless://で始まる個別ノードのリンクを、サブスクリプションURLと取り違えないでください。サブスクリプションURLは通常HTTPS経由で複数のノードを取得します。パスやクエリパラメーターにアクセス情報が含まれる場合があるため、末尾が欠けないようURL全体をコピーしてください。
-
利用上限を確認する
サブスクリプションのアカウントで、登録可能な端末数と同時接続数の制限を確認します。2台の端末にURLを保存できても、両方から同時に接続できるとは限りません。
-
PCにサブスクリプションを追加する
v2rayNで「サブスクリプショングループ」→「サブスクリプショングループの設定」を開き、新しいグループを作成して、名前とサブスクリプションURLを入力し保存します。続いて「サブスクリプショングループ」に戻り、更新を実行します。メニューにプロキシ経由・プロキシなしの選択肢がある場合は、現在のネットワークからURLにアクセスできる方法を選んでください。
-
Androidにサブスクリプションを追加する
v2rayNGのサイドメニューから「サブスクリプショングループの設定」を開き、「+」をタップして同じURLを入力し、保存します。メイン画面に戻り、右上のメニューから「サブスクリプションを更新」を実行します。バージョンによっては現在選択中のグループだけが更新されるため、追加したグループが選ばれていることを確認してください。
-
インポート結果を確認する
両方の端末でグループ、ノードアドレス、プロトコルを確認します。一覧が異なる場合は、まずそれぞれで更新し、更新ログを確認してください。ノード名だけでは判断しないでください。異なるノードに同じ名前が付いていることがあります。
-
端末ごとにノードを選ぶ
各端末で使用するノードを選び、接続を開始します。定期的に更新する場合は、それぞれのクライアントで更新間隔を設定してください。一方の端末に該当する設定がない場合は手動更新を使い、もう一方の設定が適用されていると思い込まないようにしましょう。
ここで紹介したのは、一般的な中国語UIでの操作例です。ボタン名はバージョンによって異なる場合があります。v2flyNGはv2flyコアを使用します。画面がv2rayNGに似ていても、サブスクリプション内のすべてのプロトコルやトランスポートの組み合わせに対応するとは限りません。まずインポートしてログを確認し、その端末で使えるか判断してください。
PCとスマートフォンで使う:接続元は共有し、端末ごとの動作は個別に設定
PC:v2rayN
- サブスクリプションURLを保存し、手動で更新してノードを確認する。
- 用途に応じて、システムプロキシまたはTUNを設定する。
- ローカルのルーティング、DNS、待ち受けポートを記録しておく。
Android:v2rayNG
- 同じURLを追加し、個別にサブスクリプションを更新する。
- 初回起動時に、システムのVPN許可を確認する。
- スマートフォンの用途に合わせて、ルーティングやアプリごとのプロキシを設定する。
両方の端末で同じサブスクリプションを取得できれば、ノードの取得元は共通にできます。一方、使用中のノード、ルーティング、プロキシの適用方法は端末ごとに設定します。
ノードを1つ転送する:共有URIとサブスクリプションURLの違い
PCで使っているノードを1つだけスマートフォンに移す場合は、v2rayNでそのノードを選択し、右クリックメニューの共有またはエクスポート機能から共有URLをコピーします。受信側のv2rayNGでは、メイン画面の「+」→「クリップボードからインポート」をタップします。逆方向に転送する場合は、スマートフォンでノードの操作メニューから共有リンクをコピーし、v2rayNの「サーバー」メニューにあるクリップボードからのインポート機能を使います。
- ノードURIを見分ける:
vmess://とvless://は、よく使われるノード共有用のプレフィックスです。接続情報を表すもので、サブスクリプションの更新先ではありません。インポートできるかどうかは、受信側がその形式に対応しているかによります。 - 文字列全体を保持する:エンコードされた内容、クエリパラメーター、エスケープ文字を手作業で変更しないでください。貼り付ける前に、誤って含まれた引用符や説明文を取り除き、チャットの文章全体をノードとしてインポートしないようにします。
- 重要な項目を確認する:サーバーアドレス、ポート、ユーザーID、トランスポート方式、TLS、サーバー名、パスを確認します。一部の拡張パラメーターがエクスポートまたは認識されないと、ノードが一覧に表示されても接続できないことがあります。
- 更新されない範囲を把握する:共有リンクからインポートしたノードは、通常は独立して保存されます。サーバー側でアドレス、ユーザーID、鍵が変更された場合は、あらためて共有してください。元のサブスクリプション更新で修正されることはありません。
QRコードは文字列を図柄に変換したもので、暗号化されているわけではありません。v2rayNでは選択中のノードの共有QRコードを表示できます。v2rayNGでは「+」→「QRコードをスキャン」を選び、カメラの使用を許可してから、コード全体が画面に入るよう読み取ります。パラメーターが長くコードが細かくなりすぎる場合は、スクリーンショットを繰り返し圧縮するのではなく、完全なテキストリンクで転送してください。
バックアップと復元:対象範囲を確認して同じ種類のクライアントへ移行
バックアップは、端末上の利用状態を保存するのに便利ですが、「設定のエクスポート」が「クライアント全体のバックアップ」とは限りません。選択したノードだけを含むもの、コアで動作させる設定ファイル、グループやアプリ設定まで含むものがあります。操作前にエクスポートの説明とファイル形式を確認し、拡張子だけで復元範囲を判断しないでください。
- 移行元の状態を記録する。クライアント名とバージョン、使用中のノード、サブスクリプショングループ、ルーティングモード、DNS、カスタムルールを控えておきます。実際には存在しない共通のバックアップメニューを想定せず、現在のバージョンに備わっているバックアップまたはエクスポート機能を使ってください。
- 終了してから保存する。ポータブル版のv2rayNでユーザーデータをコピーする場合は、まずクライアントを終了し、使用中のバージョンのデータフォルダーに関する説明に従って保存します。プログラム本体とユーザーデータは別の場所にある場合があるため、実行ファイルだけをコピーしないでください。
- 移行先のデータを先に保護する。復元前に、移行先端末にある設定をバックアップします。クライアントが明示的にサポートするインポートまたは復元方法を選んでください。バージョンをまたぐ移行では互換性の説明を確認し、データベースを直接上書きしないようにします。
- 再認証して動作を確認する。復元後、サブスクリプションが有効か、使用中のノードが存在するか、ローカルパスが使えるかを確認します。AndroidのVPN許可、デスクトップの権限、仮想ネットワークアダプターの状態は、新しい環境で再確認が必要です。
v2rayN、v2rayNG、v2flyNGでは、アプリの設定、データ構造、実行環境が異なります。クライアントをまたいで移行する場合は、サブスクリプションまたは対応するノードURIを移し、ローカル設定は手動で再構築してください。両方のクライアントが同じJSONファイルを読み込めても、バックアップ形式全体に互換性があるとは限りません。
ポート、DNS、ルーティングは個別に設定し、ローカル設定をそのままコピーしない
ノードのポートはリモートサーバーへの接続に使います。ローカルの待ち受けポートは端末上のアプリからプロキシへ接続するためのもので、DNSポートは名前解決に使います。それぞれ役割が異なります。移行時はノードに設定された実際のサーバーポートを維持し、「設定を統一する」ためにすべてのポートを同じ番号に変更しないでください。
たとえば、PCのアプリに127.0.0.1:10808を設定すると、そのPC自身のポートに接続します。同じアドレスをスマートフォンのアプリに設定した場合は、スマートフォン自身を指し、PCには自動接続されません。両方の端末でクライアントを動かすなら、PCのLAN向け待ち受けを開いたり、スマートフォンからPCのポートを使ったりする必要はありません。
| 設定項目 | ノードと一緒に移行できるか | 新しい端末での対応 |
|---|---|---|
| サーバーと認証の情報 | 標準の共有形式で対応している項目は引き継げる | アドレス、ポート、トランスポート、安全設定を確認する |
| ローカルの待ち受けポート | 通常、ノードURIには含まれない | 現在のクライアント設定を確認し、ポートの競合を避ける |
| システムプロキシとTUN | 端末ごとの通信適用設定 | デスクトップOSの権限と用途に応じて有効にする |
| Androidのアプリごとのプロキシ | 端末にインストールされているアプリ一覧に依存 | スマートフォンでアプリを選び直してテストする |
| DNSとルーティングルール | 一般的なノードサブスクリプションに端末側のポリシー全体は含まれない | クライアントが対応するルール形式で再設定する |
v2rayNGはXrayコア、v2flyNGはv2flyコアを使用します。プロトコル名が同じでも、拡張機能が完全に同じとは限りません。特にVLESS、REALITY、特殊なトランスポート設定を使う場合は、受信側の対応状況を項目ごとに確認してください。互換性の問題を隠すために、プロトコルを安易に変更したりTLSを無効にしたりしないでください。
問題の層ごとに同期結果を確認する
インポート後は、まずデータ、次に接続、最後にアプリの通信を確認します。これにより、「サブスクリプションを取得できない」「ノード設定に互換性がない」「クライアントが通信を処理していない」という問題を切り分けられ、何度もインポートし直す事態を避けられます。
同じサブスクリプションなのに、端末によってノード数が違うのはなぜ?
まずURLが完全に一致しているか確認し、次に選択中のグループ、フィルター、最後の更新が成功したかを調べます。サーバー側がリクエストごとに異なる内容を返す場合や、クライアントが未対応の項目を読み飛ばす場合もあります。エラーログにあるプロトコルや解析に関するメッセージを残し、サブスクリプションの認証情報を隠して調査してください。ノード一覧の合計数だけで比べないようにしましょう。
スマートフォンでは接続できるのに、PCにインポートすると通信できないのはなぜ?
まず、PCで選択中のノードがスマートフォンと同じか確認します。次に、PCでコアが起動しているか、システムプロキシまたは必要な通信適用方法が設定されているかを確認してください。その後、システム時刻、DNS、サーバー名、ログのハンドシェイクエラーを調べます。設定を1件インポートできたことは、形式が受け付けられたことを示すだけで、リモート接続が確立したことを意味しません。
PCでルーティングを変更したのに、スマートフォンに反映されないのはなぜ?
一般的なノードサブスクリプションが配布するのは主にサーバー情報で、複数端末の設定データベースではありません。PCのドメインルール、直接接続リスト、DNSポリシーは、スマートフォン側で対応する方法に合わせて設定してください。Androidのアプリごとのプロキシはインストール済みアプリにも依存するため、デスクトップのアプリ一覧をそのまま移すことはできません。
2台同時に接続できない場合、もう一度コピーすれば直りますか?
まず各端末を1台ずつ接続して確認し、次にアカウントの同時接続制限、利用可能な通信量、サービスの稼働状況を調べます。単独なら使えて同時接続だけ失敗する場合は、サービス提供元の接続制限を確認してください。同じノードを何度インポートしても、アカウントの同時接続可能数は増えません。
サブスクリプションの認証情報を守り、復元用のコピーを保管する
サブスクリプションURL、ノード共有リンク、バックアップファイルにはアクセス情報が含まれる場合があります。Base64は単なるエンコード方式で、情報を秘匿するものではありません。QRコードの画像も読み取られる可能性があります。自分で管理できる方法で転送し、不要になったクリップボードの内容や公開済みの画像は削除してください。
- 公開の場に貼り付けない。完全なサブスクリプションURL、ユーザーID、QRコードを公開の質問サイトなどに投稿しないでください。トラブル時のスクリーンショットにはエラーの種類だけを残し、機密性のあるパスやパラメーターを隠します。
- バックアップファイルを分けて保管する。アクセス制御された保存先にバックアップを保管し、その保存先が提供する暗号化機能を有効にします。クライアント名とバックアップ日も記録してください。
- 削除と認証情報の無効化を区別する。端末上のノードを削除しても、すでに共有した認証情報は無効になりません。漏えいが疑われる場合は、サービス提供元でサブスクリプショントークンまたはノードの認証情報を再発行し、すべての端末で更新してください。
- 元に戻せる状態を保つ。新しい端末でサブスクリプションの更新、接続、想定どおりのルーティングを確認してから、古い端末のデータを整理します。初回のインポートが成功しただけで、唯一のバックアップをすぐに削除しないでください。
日常の運用は、シンプルな手順にまとめられます。両端末に同じサブスクリプションを登録してそれぞれ更新し、一時的なノードはURIまたはQRコードで共有。同じクライアントへの移行では先にバックアップを取り、システムプロキシ、TUN、DNS、ルーティングは端末ごとに確認します。重複入力を減らしながら、変更がどの端末に影響するかも把握できます。