v2rayNのAvalonia版とWPF版の違い|対応OSと選び方

v2rayNの2つのUI版を比較。WPF版はWindows向け、Avalonia版はmacOS・Linuxにも対応。OSに合わせた選び方を解説します。

この記事のポイント

まずOSに合ったUI版を選び、次にプロセッサのアーキテクチャに合うインストーラーを選びます。WPFとAvaloniaが決めるのはウィンドウやメニュー、OSとの連携方法であり、ノードの通信速度やプロトコルの対応状況ではありません。v2rayNのインストーラーを選びたい方、Windowsから別のデスクトップOSへ移行する方、UI版を変更すべきか迷っている方に向けて、選択から移行、接続確認まで順を追って解説します。

UIフレームワーク・プロキシコア・ノード設定を区別する

WPFはWindows向けのデスクトップUIフレームワークです。AvaloniaはクロスプラットフォームのデスクトップUIフレームワークで、v2rayNではmacOSやLinux向けのデスクトップ版にも採用されています。どちらもv2rayNのGUIで、サーバー一覧の表示やサブスクリプション管理、ルーティングの編集を行い、設定をプロキシコアに渡して実行します。Avaloniaを新しいプロキシプロトコルと捉えたり、WPFをコアの名称と混同したりしないようにしましょう。

たとえば、サブスクリプションにVLESSの設定が含まれていても、UI版を変えるだけで接続問題が解決するわけではありません。利用できるかどうかは、コアが該当パラメーターに対応しているか、サーバー側の設定と一致しているか、インポート後に必要な項目がそろっているかによります。同じノード、同じコア、同じルーティング設定なら、UIフレームワークだけでどちらが速いかは判断できません。

OSに合わせてWPF版とAvalonia版を選ぶ

まずダウンロードページで、現在提供されているOS別の選択肢を確認します。Windowsでは使い慣れた操作方法や配布パッケージに応じて選べます。macOSとLinuxでは、WPF版を動かそうとせず、それぞれのOS向けAvaloniaデスクトップ版を選びましょう。以下では「Windowsで従来のUIを使い続ける」ケースを紹介しますが、すべての端末でWPF版が適しているわけではありません。

WPF版:Windowsで従来のUIを使う

おすすめ

Windowsで動作します。設定が安定しており、現在のメニューやトレイ操作に慣れているなら、OSに合ったWPF版を使い続けることで操作を覚え直す手間を減らせます。追加の実行環境が必要かどうかは、選んだパッケージの説明を確認してください。

おすすめのユーザー:Windowsを日常的に使う方、WPF版の設定をすでに使っている方、従来の操作方法を継続したい方。

Avaloniaデスクトップ版:OSに合ったパッケージを選ぶ

クロスプラットフォームのデスクトップUIを備え、macOSとLinuxに対応しています。対応パッケージが提供されていれば、Windowsでも利用できます。ただし、トレイ操作や権限、システムプロキシの動作はOSごとに異なります。UIが似ていても、システム側の設定がすべて同じとは限りません。

おすすめのユーザー:macOSやLinuxのデスクトップで使う方、複数のOSを使う方、共通したUIレイアウトを使いたい方。

現在のWPF版でサブスクリプションの更新やルーティング設定、日常の接続に問題がなければ、「クロスプラットフォームだから」という理由だけで移行する必要はありません。macOSやLinuxでv2rayNを使う場合は、対象OSに対応するデスクトップ版を選び、利用できる機能を確認しましょう。Windows版のスクリーンショットを見ながら、まったく同じ名前のメニューを探す必要はありません。

OSのアーキテクチャ、パッケージ形式、実行環境を確認する

フレームワーク選びは最初の一歩にすぎません。OSやプロセッサのアーキテクチャが合わない場合や、パッケージが必要とする実行環境が不足している場合、アプリが起動しないことがあります。ファイル名にv2rayNとあるだけで判断し、上書きインストールしないでください。

  1. Windowsでシステムの種類を確認:「設定」→「システム」→「バージョン情報」を開き、「デバイスの仕様」にあるシステムの種類を確認して、ダウンロードページで実際に提供されているx64版またはARM64版を選びます。
  2. macOSでチップを確認:Appleメニューから「このMacについて」を開き、AppleシリコンかIntelプロセッサかを確認します。ダウンロードページの表記に従って、対応するアーキテクチャを選びましょう。
  3. Linuxでアーキテクチャを確認:次のコマンドを実行します。一般に、出力がx86_64ならx64、aarch64ならARM64です。その後、ディストリビューションに合った実際のパッケージ形式を選びます。
  4. 依存関係の説明を確認:単体で動作するパッケージか、システムの実行環境に依存するパッケージかを確認します。.NETランタイムが必要かどうかは、配布パッケージの説明と起動時のエラーを基準に判断してください。WPFやAvaloniaという名前だけでは判断できません。
uname -m

Linuxのdeb、rpm、アーカイブ形式は、自由に置き換えられるものではありません。ディストリビューションのパッケージ管理方式に合うものを選びます。アーカイブを使う場合は、実行権限や関連する依存関係も確認してください。macOSでセキュリティ警告が表示された場合は、まずパッケージの入手元とOSとの互換性を確認し、OS標準の許可手順に従ってください。セキュリティ機能を一括で無効にしないでください。

サブスクリプションとルーティングの移行:設定元を引き継ぎ、OS固有の項目を確認

WPF版からAvalonia版へ切り替えるときや、Windowsから別のデスクトップ端末へ移行するときは、まず同じサブスクリプションを利用します。サブスクリプションで配信されるのは通常ノード設定であり、クライアントのすべての設定ではありません。システムプロキシ、待ち受けアドレス、DNS、ルール、ローカルファイルのパスは、移行先で一つずつ確認してください。

移行方法:旧環境を残し、新環境を個別に検証する

元の端末またはUI版
  • サブスクリプションの配布元とグループ名を記録し、アクセス情報を含むURLは安全に保管します。
  • 現在のノード、ルーティングモード、DNS、ローカル待ち受け設定を記録します。
  • 元の設定をバックアップし、正常に動作している環境をすぐに削除しないでください。
移行先の端末または新しいUI版
  • 同じサブスクリプションURLを追加して保存し、サブスクリプションを更新します。
  • ノードを選択し、プロトコル、通信方式、安全性に関するパラメーターがそろっているか確認します。
  • OS固有の項目を一つずつ設定し直し、ログとWebサイトへのアクセスを確認します。

同じサブスクリプションを使っても、すべての設定が共有されるわけではありません。まずノードを検証し、その後ルーティングと通信の捕捉方法を移行します。

日本語以外の一般的なUIを使うv2rayNでは、「サブスクリプショングループ」→「サブスクリプショングループの設定」からURLを追加し、「サブスクリプショングループ」メニューの更新操作でノードを取得できます。バージョンによって項目名や場所が異なる場合があります。同じ名前の項目が見つからないときは、「サブスクリプショングループの管理」や「サブスクリプションの更新」に相当する機能を探してください。サブスクリプションURLを単一ノードのリンクとしてインポートしないようにしましょう。

ローカルのルーティングファイルを移行する場合は、パスが有効かどうかも確認してください。Windowsのドライブ文字を含むパスは、macOSやLinuxではそのまま使えません。ファイル名の大文字・小文字も読み込みに影響することがあります。設定全体をバックアップする場合は、移行先のバージョンがその形式に対応しているか確認してください。アプリの実行中に設定ディレクトリ全体を別のOSへ強制的に上書きしないでください。

ローカルの待ち受けとシステムプロキシを確認し、UIの表示だけで接続を判断しない

インポート後は、まずプロキシコアが正常に起動したことを確認し、アプリが実際にローカルプロキシを利用しているか調べます。以下ではローカルの待ち受け例として127.0.0.1:10808を使いますが、この番号がすべての配布版の標準値というわけではありません。実際のアドレス、ポート、受け入れ方式は、使用中のクライアント設定とログを確認してください。

127.0.0.1
リモートサーバーのアドレスではなく、ローカルのループバックアドレス
10808
記事内の待ち受けポートの例。実際の設定を確認してください
  1. コアの起動を確認:設定の解析エラー、コアファイルの不足、ポートの競合がログに出ていないか確認します。Webサイトを試す前に、起動エラーを解消してください。
  2. 待ち受け方式を確認:ポートがSOCKS、HTTP、または混合型のどれを受け付けているか確認します。アプリにプロキシを手動設定する場合、プロトコルの種類を待ち受け方式に合わせてください。
  3. システムプロキシを確認:v2rayNのシステムプロキシ設定で通信の振り分け方法を選び、OS側のプロキシ状態も確認します。システムプロキシの参照範囲はデスクトップ環境によって異なります。
  4. ルーティングと通信の捕捉を区別:システムプロキシは、一部のアプリからのリクエストをクライアントへ渡します。ルーティングは、渡されたリクエストを直接接続するかプロキシ経由にするかを決めます。ルーティングをグローバルプロキシに設定しても、すべてのアプリの通信が捕捉されるとは限りません。
  5. 実際のアプリでテスト:まずシステムプロキシを参照するブラウザーでアクセスし、次に対象のアプリをテストします。アプリに独自のプロキシ設定がある場合は、個別に設定してください。

ノードの遅延テストに成功しても、確認できるのはテスト経路から応答があったことだけです。Webサイトへのアクセス、DNSの名前解決、対象アプリの動作確認の代わりにはなりません。AvaloniaとWPFの見た目の違いだけでは、OSごとのシステムプロキシの挙動の違いを説明できません。「ノード一覧では速度測定できるのにアプリがネットにつながらない」場合は、サブスクリプションを何度もインポートし直すのではなく、上記の手順で通信の捕捉範囲を確認してください。

よくある質問:切り替える前に確認したいこと

WindowsでWPF版を使っています。サブスクリプションを使い続けるにはAvalonia版への切り替えが必要ですか?

UIフレームワークが異なるという理由だけで切り替える必要はありません。まずサブスクリプションを更新し、該当ノードのパラメーターとコアのログを確認してください。特定のノードだけ接続できない場合は、プロトコルのパラメーター、サーバーの状態、コアの対応状況を調べます。UIの選択とサブスクリプションの有効期限は別の問題です。

Avalonia版に切り替えたらノードは残っているのに、ルーティングの動作が変わったのはなぜですか?

まず現在のルーティングモード、ルールの順序、DNS設定を確認し、次にシステムプロキシやTUNが実際に有効になっているかを調べます。サブスクリプションを再インポートしても通常はノード一覧が復元されるだけで、元の端末のすべてのルールやシステム設定が自動で再現されるわけではありません。

2つのバージョンを同時に起動すると、片方が起動しないのはなぜですか?

まず一方を終了してから、起動に失敗した側のログを確認してください。アドレスやポートが使用中と表示される場合は、ローカルの待ち受けポートを確認します。通常はシステムプロキシを管理するプロセスを1つにしてください。ポートを分けた場合でも、2つのプロセスで同じシステムプロキシ設定を同時に管理するのは避けましょう。

PCとAndroid端末で、同じ設定ディレクトリをそのままコピーして使えますか?

ディレクトリ全体をそのままコピーしないでください。デスクトップではv2rayN、Androidではv2rayNGまたはv2flyNGを使用できますが、設定の保存方法や項目は同じではありません。各端末で同じサブスクリプションを追加し、ルーティングは端末ごとに設定してください。v2rayNGはXrayコア、v2flyNGはv2flyコアを使用するため、ノードに必要な機能が各コアでサポートされているかも確認しましょう。

選ぶ順番はシンプルです。まずOS、次にアーキテクチャを確認し、配布パッケージの依存関係を調べてから、サブスクリプション、コア、通信の捕捉を検証します。WindowsではUIの使い慣れ具合に応じて選べます。macOSとLinuxではOSに合ったAvaloniaデスクトップ版を選びましょう。フレームワーク名を速度の順位と捉えたり、UIを統一するために端末ごとのネットワーク設定を無視したりしないでください。

v2rayN をダウンロードプラットフォームに合ったクライアントを選択