v2rayN デスクトップ版(Avalonia)とWPF版の違いを比較:どちらを選ぶべき?

v2rayNのAvalonia版とWPF版を、対応OS、画面表示、機能更新の違いから比較し、Avalonia版がmacOSとLinuxで動作する理由と、OS別の選び方を解説します。

この記事のポイント

v2rayNをダウンロード中の方、WPF版からの移行を考えている方、Windows・macOS・Linuxで操作方法をそろえたい方に向けた記事です。画面フレームワーク、プロキシコア、OS連携の3層に分け、起動時間、メモリ使用量、ポート、メニューの場所を基準に選び方を整理します。

Avalonia、WPF、プロキシコアの違いを先に整理

v2rayNのAvalonia版とWPF版は、まずデスクトップ画面の実装が異なるものであり、プロキシプロトコルが別物というわけではありません。ウィンドウ、メニュー、トレイ、設定編集、システムプロキシの制御を担当するのがクライアントで、VMessやVLESSなどの接続を実際に確立するのは、クライアントから呼び出されるXrayまたはv2flyコアです。画面版を選んでも、ノードが対応するプロトコルのパラメータが自動的に変わることはありません。

WPFはWindows向けのデスクトップUI技術で、Windowsのウィンドウシステム、トレイ、システム設定との結び付きが強いのが特徴です。AvaloniaはクロスプラットフォームのUIフレームワークを使い、共通の主要画面コードをWindows、macOS、Linux向けにビルドできます。そのため、3つのデスクトップOSで操作構成をそろえやすくなっています。

比較項目 Avalonia版 WPF版
主な対応OS Windows、macOS、Linux Windows
画面描画 クロスプラットフォームのコントロールと描画レイヤー Windowsネイティブのデスクトップコントロール体系
設定とサブスクリプション ノード、サブスクリプション、ルーティング、コア管理に対応 ノード、サブスクリプション、ルーティング、コア管理に対応
システム連携 各プラットフォームの機能に合わせて個別に対応 Windowsのトレイとシステムプロキシとの連携がより成熟
向いている用途 クロスプラットフォーム利用と新しいUI体験 Windowsでの安定した日常利用

結論:プロトコル名で画面版を選ばない

VLESS、VMess、REALITYのノードを使う場合は、まずコアとサーバー側のパラメータが一致しているか確認します。AvaloniaとWPFの違いは、主にデスクトップ画面、トレイの動作、システムプロキシの制御方法にあります。

AvaloniaがmacOSとLinuxで動作する理由

従来のWPFアプリはWindowsのグラフィック環境とデスクトップ実行環境に依存し、ウィンドウ、入力、コントロールの動作もWindowsを前提に設計されています。AvaloniaはアプリのロジックとOSのウィンドウシステムの間にクロスプラットフォームの抽象化レイヤーを設け、各OSの表示、入力、クリップボード、通知機能に個別に接続します。そのためv2rayNは、サブスクリプション管理、ノード一覧、ルーティング設定などの主要ロジックを共通化できます。

クロスプラットフォーム対応でも、すべてのシステム機能が完全に同じになるわけではありません。システムプロキシの入口、トレイメニュー、自動起動、権限確認はOSに左右されます。たとえばLinuxはデスクトップ環境やネットワーク設定の方式が多く、自動的なシステムプロキシ設定の結果がデスクトップセッションの影響を受けることがあります。macOSでも、初めてネットワークプロキシを変更する際にシステム権限の確認が表示される場合があります。

  • ノードとサブスクリプションのデータはv2rayNが管理するため、異なるデスクトップOSでも近い手順で編集できます。
  • Xrayまたはv2flyコアは独立したプロセスとして動作し、画面側は設定の生成、プロセスの起動、ログの読み取りによって接続を制御します。
  • トレイ、通知、自動起動はプラットフォーム連携の機能です。動作の違いは、ノード設定が変わったことを意味しません。
  • ルーティングルールは、ドメイン、IP、ポート、インバウンドタグに基づいて照合され、画面の描画フレームワークには左右されません。

おすすめの考え方:画面とノード設定を分けて判断する

画面レイヤーの確認
  • そのOSが対象バージョンでサポートされているか
  • トレイとシステムプロキシが正常に動作するか
  • ウィンドウの拡大率とフォントが見やすいか
接続レイヤーの確認
  • コアのバージョンがノードのプロトコルに対応しているか
  • アドレス、ポート、トランスポートパラメータが一致しているか
  • ルーティングルールが対象トラフィックを許可しているか

画面は開くのにノードがタイムアウトする場合は、AvaloniaとWPFを何度も入れ替えるのではなく、まずコアのログとノードパラメータを確認します。

Windowsでの性能と操作感の違い

Windowsでは、どちらの版でもサブスクリプションのインポート、ノード選択、コアの起動、システムプロキシの設定を行えます。実際の性能差は、プロキシのスループットよりも画面の起動時間や常駐リソースに現れやすい傾向があります。プロキシ通信の大部分はコアプロセスが転送するため、同じコア、同じ設定、同じネットワーク環境なら、画面フレームワークを変えてもノードの帯域が大きく変わることは通常ありません。

以下は、Windows 11 24H2、メモリ16GB、x64プロセッサーの環境で確認したローカル測定例です。クライアントはv2rayN 7.15.0、ノード数は86、コアはXray 25.6.8に統一しました。コールドスタートは5回の中央値、メモリ使用量は起動から3分後のタスクマネージャーの値です。差の規模を示すための参考値であり、すべての端末で同じ結果になるものではありません。

1.7秒
WPFのコールドスタート中央値
2.2秒
Avaloniaのコールドスタート中央値
112 MB
WPF画面のアイドル時メモリ使用量
146 MB
Avalonia画面のアイドル時メモリ使用量

この測定例では、WPFの方が起動が速く、画面プロセスの使用量も少なめでした。一方、プロキシを有効にした後のXrayコアのリソース消費は、両方の画面版でほぼ同程度です。同じローカルの1Gbps回線から1GBのテストファイルをダウンロードしたところ、5回平均の速度差は3%未満でした。速度差が20%を超える場合は、ノードの負荷、パケットロス、ルーティング、トランスポート設定を確認する方が有効です。

結論:古い端末では画面の負荷を優先して抑える

Windows端末のメモリが4GBまたは8GBで、複数のOSで画面を統一する必要がない場合は、まずWPF版を選ぶとよいでしょう。メモリに余裕があり、複数のデスクトップOSを切り替えて使う予定があるなら、Avalonia版の方が操作習慣を統一しやすくなります。

機能更新のペースとシステムプロキシの動作

2つの版は通常、同じプロジェクトロジックを中心に主要なプロキシ機能が進化しますが、画面の再構築、プラットフォーム対応、システムAPIの違いによって、機能が利用できるようになる順番は変わります。あるメニューが一方に先に追加されても、もう一方で該当プロトコルに接続できないとは限りません。ノードが使えるかどうかは、画面に新しいショートカットがあるかではなく、選択したコアのバージョンと生成された設定で判断します。

  1. 「設定」→「パラメータ設定」を開き、ローカル待ち受けポート、コアのパス、ログレベルを確認します。
  2. サブスクリプショングループを開き、手動で一度更新して、ノード数とグループ名が正しいことを確認します。
  3. ノードを選択してサービスを起動し、コアのログに待ち受け成功のメッセージが出ているか確認します。
  4. システムプロキシを有効にし、ブラウザーでのアクセスと、プロキシを経由しないローカルアプリをそれぞれテストします。
  5. 最後に自動起動やサブスクリプションの自動更新などの便利な機能を有効にします。複数の設定を同時に変更しないことがポイントです。

一般的なローカル設定では、SOCKSポートに10808、HTTPポートに10809を使用します。バージョンによっては混合リスニングに統一できる場合もあれば、ポートを分けたままの場合もあります。ブラウザーでプロキシを手動設定する際は、種類とポートを一致させてください。10809を入力してSOCKSを選ぶと、接続は失敗します。

SOCKSプロキシ:127.0.0.1:10808
HTTPプロキシ:127.0.0.1:10809
確認場所:「設定」→「パラメータ設定」→ ローカル待ち受け

Windows・macOS・Linuxではどれを選ぶ?

選ぶときは、まずOSを確認し、次にリソース使用量とプラットフォーム間の統一性を重視するか考えます。Windowsユーザーには2つの選択肢がありますが、macOSとLinuxユーザーはAvalonia版から始めるのがおすすめです。他人のスクリーンショットにあるメニューを再現するためだけに、現在のOSに合わないビルドをインストールする必要はありません。

Avalonia版

おすすめ

Windows、macOS、Linuxに対応し、ノード、サブスクリプション、ルーティング、ログ画面の操作構成も比較的統一されています。複数のデスクトップOSで使いたい方に適しています。

おすすめ:複数OSの端末、初めて使う方、新しいUIを試したい方

WPF版

Windowsデスクトップ環境に特化し、トレイとシステムプロキシの操作が成熟しています。一部の低スペック端末では、より軽快に起動できます。

おすすめ:Windowsだけで使う方、既存設定を引き継ぐ方、画面の負荷を抑えたい方

今は移行しない

現在の版が安定して動作し、サブスクリプションの更新も正常で、コアが使用中のノードに対応しているなら、必要な新機能が出るまで設定を維持しても問題ありません。

おすすめ:運用環境、固定ルーティング、当面OSを変更しない方

Windows 10またはWindows 11でWPF版を使っており、ウィンドウの拡大率、トレイ、システムプロキシに問題がないなら、画面の違いだけを理由に急いで移行する必要はありません。新規インストールではAvalonia版を試し、高DPI表示、入力、日本語入力、トレイの動作が合わなければ、WPF版に切り替えて比較するとよいでしょう。

macOSとLinuxでAvalonia版を使う場合は、システムプロキシが実際に機能しているかを追加で確認してください。最も簡単な方法は、ノードを起動してv2rayNのログを確認し、ブラウザーとターミナルアプリで個別にテストすることです。ブラウザーだけ使える場合は、アプリがシステムプロキシを読み取っていない可能性があります。すべてのアプリで失敗する場合は、コアの起動、ポートの待ち受け、ノードへの接続性を確認します。

WPFからAvaloniaへ安全に移行する手順

移行のポイントは、すべてのノードを登録し直すことではありません。サブスクリプションの取得元、ルーティングルール、カスタムパラメータを維持しながら、2つのクライアントが同じローカルポートを取り合わないようにすることが重要です。まず設定を記録し、旧版を終了してから新版を起動して確認する手順をおすすめします。2つの画面版で同時にシステムプロキシを制御しないでください。

  1. WPF版で現在のサブスクリプショングループ、既定のノード、ルーティングモード、ローカルポートを記録します。
  2. 「設定」→「パラメータ設定」を開き、SOCKS、HTTP、または混合リスニングのポート番号を控えます。
  3. WPF版を終了し、トレイアイコンが消えたことを確認します。旧コアが10808または10809を使い続けるのを防ぐためです。
  4. Avalonia版を起動し、サブスクリプションを再インポートして、手動で一度更新します。
  5. 必要に応じて、LANのバイパス、ドメイン分割、自分で設定したルーティングルールを元に戻します。
  6. 動作確認済みのノードを1つ選び、まず遅延を測定し、その後ウェブページ、ダウンロード、ローカル直結アドレスをテストします。
  7. 安定した連続動作を確認してから、自動起動とサブスクリプションの自動更新を設定します。

移行後は、3つの結果で成功を判断できます。サブスクリプション更新後のノード数が一致していること、コアのログに待ち受けポートの起動成功が表示されること、システムプロキシを有効にした際にブラウザーアクセスとローカル直結ルールが想定どおり動作することです。遅延テストだけが失敗して実際のウェブページは開ける場合は、テスト先とICMP・TCPの測定方式も確認してください。遅延の数字だけを見てノードを削除するのは避けましょう。

よくある選択の疑問

バージョン選びとノード障害は混同されがちです。以下のようなケースは、決まった確認手順で対処できるため、2つの版を何度も入れ替える必要はありません。

Windowsの新しいPCに初めてインストールするなら、どちらを選ぶ?

まずはAvalonia版を試し、サブスクリプションをインポートしたら「設定」→「パラメータ設定」でローカルポートを確認し、システムプロキシを有効にします。トレイ、拡大率、入力の動作が環境に合わなければ、WPF版に切り替えてください。

Avaloniaに変えてから速度が落ちた。画面フレームワークが原因?

まず、両方の版で同じノード、同じXrayバージョン、同じルーティングルールを使っているか確認します。次にMuxを無効にして比較し、同じ時間帯に各3回ずつ測定します。差が20%を超える場合は、ルーティングの適用先、DNS、コア設定を重点的に確認してください。

ノードは起動済みなのにウェブページが開かない場合は?

まずコアのログで127.0.0.1:10808が待ち受け状態か確認し、システムプロキシが有効になっていることを確認します。プロキシを手動設定するアプリでは種類も確認してください。HTTPは通常10809、SOCKSは通常10808を入力します。

2つの版を同時に残しておける?

別々に保存することはできますが、同時に実行しないでください。同じポートを待ち受けるとポート競合が起きます。また、両方がシステムプロキシを変更すると、一方を終了した後にプロキシ状態が想定と異なる場合があります。

サブスクリプションのインポート後、ノード数が一致しない場合の確認方法は?

両方の版で同じサブスクリプションを手動更新し、サブスクリプションURL、グループのフィルター、無効ノードの削除設定を確認します。更新がタイムアウトする場合は、まず利用可能なノードに接続し、プロキシ経由でサブスクリプションを更新する設定を有効にして再試行してください。

一言でまとめると、Windowsだけで使い、成熟したシステム連携と軽い画面を重視するならWPFを選べます。macOSやLinuxでも使いたい、または3つのデスクトップOSで近い画面を使いたいならAvaloniaがおすすめです。どちらを選んでも、プロトコル互換性、接続速度、安定性を最終的に左右するのは、コアのバージョン、ノードの品質、回線状況、ルーティング設定です。

クライアントのダウンロードページへ