macOS・Linuxでは各OS向けのAvaloniaデスクトップ版を選びます。Windowsで新規に使い始める場合はデスクトップ版を候補にし、従来の操作に慣れている場合や表示互換性の切り分けが必要な場合はWPF版も検討できます。主な違いは画面を構成する技術であり、どちらかが本質的に高速という意味ではなく、対応プロトコルが決まるわけでもありません。この記事ではOS、実行環境、表示、設定移行の4つの観点から選び方を解説し、ポートとシステムプロキシの確認方法も紹介します。
画面を構成する技術とプロキシコア
AvaloniaとWPFはウィンドウを担当し、接続はプロキシコアが処理します。v2rayNはサーバー一覧、サブスクリプション管理、ルーティング設定、コアプロセスの管理などを行うデスクトップクライアントです。WPFはWindows向けのUIフレームワーク、AvaloniaはWindows・macOS・Linuxで使えるクロスプラットフォームのUIフレームワークです。ダウンロードページの「デスクトップ版」と「WPF版」は、主にこの2種類の画面実装を区別しています。
実際のプロキシ接続では、クライアントによる設定の生成、コアの起動、外向き接続の確立なども必要です。VMess、VLESS、REALITYが使えるかどうかは、選択したコアとそのバージョン、ノードのパラメーター、サーバー側の設定を確認してください。ウィンドウの見た目だけでは判断できません。Avalonia版に切り替えてもサブスクリプションの内容は自動で変わらず、WPF版に切り替えても特定のプロトコルが使えるようになるわけではありません。
| 階層 | 主な役割 | 確認するポイント |
|---|---|---|
| 画面フレームワーク | ウィンドウのレイアウト、フォント表示、リスト操作、入力操作 | 拡大率、ウィンドウ表示、トレイ、デスクトップ環境 |
| クライアント設定 | サブスクリプション、ノード選択、ルール、コアの起動パラメーター | 設定の不足、アウトバウンドの設定、ルールの適用状況 |
| プロキシコア | プロトコル処理、トランスポート接続、DNS、ルーティング | コアのログ、プロトコルの項目、サーバーへの接続結果 |
| OS | プロセス権限、システムプロキシ、ネットワークインターフェース、ルーティングテーブル | ポートの競合、権限、アプリがシステムプロキシを利用するか |
そのため、画面の動作が重い場合とWebサイトに接続できない場合は、分けて調べましょう。前者はグラフィック描画、拡大率、デスクトップセッションなどが原因の可能性があります。後者は、まずコアが起動しているか、ローカルポートで待ち受けているか、アプリの通信がプロキシに流れているかを確認します。
Windows・macOS・Linuxでの選び方
まずOSで絞り込み、次にCPUアーキテクチャを確認してから、画面の違いを比較します。フレームワークがOSに対応していても、すべてのリリースで各OS・アーキテクチャ向けのインストーラーが用意されるとは限りません。実際に選べるパッケージは、クライアントのダウンロードページに掲載されている内容を確認してください。
Avaloniaデスクトップ版
おすすめ新規インストール時の第一候補です。異なるデスクトップOSでも、近い操作レイアウトを使いやすくなります。Windowsでは表示やショートカット、日々の操作に合うか確認してください。macOS・Linuxでは各OS向けのパッケージを選び、Windows版で代用しないでください。
おすすめの用途:新規インストール、複数のデスクトップ端末、macOS・Linux環境
WPF版
Windows専用です。従来の画面に慣れている場合、現在の設定で安定して動作している場合、Avalonia版との比較で表示の問題を切り分けたい場合は、引き続き選択肢になります。低スペック端末で必ず高速になるわけではなく、OSの対応状況を確認する必要もあります。
おすすめの用途:Windowsの従来型UI、既存設定の継続、画面表示の比較・切り分け
- Windows:「設定」→「システム」→「バージョン情報」でシステムの種類を確認します。プロセッサとOSに合ったパッケージを選んでください。画面の名称とアーキテクチャの名称を混同しないようにしましょう。
- macOS:「このMacについて」でチップまたはプロセッサを確認し、AppleシリコンとIntelプロセッサを判別してから、対応するアーキテクチャを選びます。
- Linux:
uname -mを実行してアーキテクチャを確認します。一般的にx86_64はx64、aarch64はARM64に対応します。ディストリビューションに合ったパッケージ形式も選んでください。
選び方の結論:まずOSとアーキテクチャの不一致を除外
macOS・Linuxでは各OS向けのデスクトップ版を確認します。Windowsでは2種類の画面の使い勝手を比較しましょう。アプリが起動しない場合は、ノードのプロトコルを変更する前に、パッケージ形式、アーキテクチャ、実行環境を確認してください。
表示、実行環境、OSとの連携
2種類の画面では、リストの情報量、メニューの位置、フォントの見え方、高解像度ディスプレイでの拡大率などに違いが出ることがあります。Avaloniaは独自のクロスプラットフォームUIを採用し、WPFはWindowsのデスクトップ環境との親和性が高い設計です。ただし、フォントの見やすさやウィンドウ操作の滑らかさは、グラフィックドライバー、OSの拡大率、ビルドによっても変わります。フレームワークの名称だけで結論を出すことはできません。
どちらも.NET技術を使用しますが、追加のランタイムが必要かどうかはパッケージの公開方式によって異なります。自己完結型の公開では必要な実行コンポーネントが同梱されます。フレームワーク依存型の場合は、対応するランタイムがシステムに必要です。片方なら必ず追加のランタイムが不要、とは限りません。また、別の端末にある実行環境から、この端末の要件を判断することもできません。
確認方法:起動環境とネットワーク権限を分けて確認
アプリの起動と画面表示
- OS、CPUアーキテクチャ、システム要件がパッケージに合っているか確認します。
- 起動時のメッセージを確認し、不足している実行コンポーネントだけを用意します。ランタイムをむやみに複数インストールしないでください。
- 高解像度ディスプレイでは、まずOS推奨の拡大率で確認し、次にディスプレイ間でウィンドウを移動して試します。
- Linuxではデスクトップセッション、グラフィック関連の依存関係、トレイの対応状況を確認します。
接続と権限
- コアプロセスが正常に起動していることを確認し、クライアントのログを確認します。
- 別のクライアントのプロセスがローカルの待ち受けポートを使用していないか確認します。
- システムプロキシとTunを別々にテストし、複数の設定を同時に変更しないでください。
- Tunを使う場合は、OSの要件に応じて権限とネットワークコンポーネントを準備します。
通常のシステムプロキシでのテストが成功してからTunを有効にしてください。画面が開くことと、仮想ネットワークアダプターやルーティング権限の準備ができていることは別です。
トレイの動作も個別に確認しましょう。Linuxのデスクトップ環境では、トレイ拡張機能や関連コンポーネントが必要な場合があります。ウィンドウを閉じた後もアプリが動作するかは、クライアントの設定を確認してください。「閉じたらウィンドウが見つからない」場合は、プロセス、トレイ、終了時の動作設定を確認します。何度も起動して複数のプロセスを作ると、画面の問題がローカルポートの競合につながるおそれがあります。
設定の移行とサブスクリプションの復元
画面の異なるバージョンに切り替える前に、サブスクリプションURLと重要な設定を控え、既存のユーザーデータをバックアップしてください。サブスクリプションからサーバー一覧を復元できる場合でも、ローカルのルーティング、カスタムDNS、ショートカット、待ち受けポート、カスタム設定まで含まれるとは限りません。サブスクリプションURLを保存しただけでは、設定全体のバックアップにはなりません。
リリースによってデータ構造や保存場所が変わることがあるため、旧バージョンのフォルダーをそのまま新しいフォルダーに上書きしないでください。特にOSをまたぐ移行では、パスの区切り文字、コアの実行ファイルの場所、権限が異なる場合があります。まず現在のバージョンにエクスポート、インポート、バックアップ機能があるか確認してください。該当機能がない場合も、少なくとも元データを別に保管し、手動で再設定する項目を記録しておきましょう。
- 現在の設定を記録:サブスクリプションの取得元、使用中のノード、ルーティングモード、ローカルポートを控えます。画面に「設定」→「パラメーター設定」がある場合は、待ち受け設定と基本項目を確認してください。項目名や分類は現在の画面により異なります。
- 旧プロセスを終了:先にシステムプロキシまたはTunを無効にしてから、クライアントを終了します。旧コアが待ち受けポートを使用していないことを確認し、新しいバージョンを起動してください。
- サーバー一覧を復元:サブスクリプション管理から元のURLを追加し、更新します。サブスクリプションURLに認証情報が含まれることがあります。URL全体が見えるスクリーンショットやログを公開しないでください。
- まず最小限の動作確認:利用可能と分かっているノードを1つ選び、システムプロキシだけを有効にしてWebアクセスとログを確認します。その後、ルーティング、DNS、Tunを1つずつ戻します。
- 元に戻せる状態を維持:新しいバージョンのテストが終わるまで、元データを削除しないでください。元に戻す場合は新しいプロセスを終了してから旧環境を復元し、2つのプロセスが同時にシステムプロキシを変更しないようにします。
接続確認とポートの例
「デスクトップ版は接続できるのに、WPF版では接続できない」場合でも、フレームワークの違いが原因とは限りません。使用中のノード、コアのバージョン、ルーティングモード、待ち受けポートが異なることがよくあります。比較する前に条件をそろえ、もう一方のプロセスを終了してから、同じ接続先をテストしてください。以下の数値は接続確認の説明用で、すべてのパッケージの初期値を示すものではありません。
クライアントのローカルプロキシポートが10808に設定されていると仮定し、まずループバックアドレスで待ち受けているか確認します。WindowsではPowerShellで次のコマンドを実行できます。これはローカルポートへのTCP接続を確認するもので、ノード、DNS、接続先のWebサイトの状態は確認しません。
Test-NetConnection -ComputerName 127.0.0.1 -Port 10808
Linuxでは次のコマンドで、該当するTCPの待ち受け状態を確認できます。出力がない場合は、サブスクリプションをすぐに変更せず、コアの起動ログと実際のポート設定を確認してください。macOSではlsof -nP -iTCP:10808 -sTCP:LISTENで待ち受け中のプロセスを確認できます。
ss -ltnp 'sport = :10808'
- 待ち受けがない:コアの起動失敗、設定の解析エラー、ポートの競合を確認します。現在の画面に表示された実際のポートを確認してください。
- 待ち受けは正常だがブラウザーで接続できない:システムプロキシのアドレスとポートが正しいか確認し、ブラウザー独自のプロキシ設定も確認してください。
- 一部のアプリだけプロキシを経由しない:アプリがシステムプロキシを利用しない可能性があります。まずアプリの設定を確認し、そのうえでTunを使うか判断してください。
- 一部のWebサイトだけ問題がある:DNS、ルールの適用状況、ノードのアウトバウンドログを確認してください。特定の通信だけに起きる問題をAvaloniaやWPFのせいにしないようにしましょう。
通常のノード遅延テストだけでは、アプリ全体の動作確認にはなりません。ダウンロード速度を比較する場合は、同じノード、接続先、時間帯、ルーティング設定を使用してください。条件をそろえなければ、速度差を画面フレームワークの違いに結びつけることはできません。実測条件のない性能ランキングは掲載していません。
よくある選び方の質問
WindowsでWPF版が問題なく使えています。乗り換える必要はありますか?
画面の名称だけを理由に乗り換える必要はありません。まず現在のバージョンがプロトコルとOSの要件を満たしているか確認しましょう。新しい画面を使いたい場合や複数端末で近い操作感にそろえたい場合は、バックアップを取ってからデスクトップ版を試してください。一部のWebサイトだけ開けない場合は、ポート、システムプロキシ、ルーティングの順に確認します。
macOSにWPF版をインストールできますか?
WPFはWindows向けです。macOSでは、対応するアーキテクチャのAvaloniaデスクトップ版を選んでください。「このMacについて」でチップを確認し、ダウンロードページから合致するパッケージを選びます。Windows用のインストーラーをmacOSアプリとして使うことはできません。
デスクトップ版に切り替えたのに、以前のサブスクリプションが表示されないのはなぜですか?
新しいバージョンではユーザーデータの保存場所が異なる場合や、元データがまだインポートされていない場合があります。古いデータを残したうえで、元のクライアントからサブスクリプションURLを確認し、新しい画面のサブスクリプション管理から追加して更新してください。ルーティングとDNSは別途復元し、設定フォルダー全体をそのまま上書きしないでください。
比較のために2つのバージョンを同時に起動してもよいですか?
システムプロキシやTunを2つのクライアントで同時に制御することはおすすめしません。同じローカルポートを奪い合うこともあります。比較するときは片方を終了してからもう片方を起動し、使用中のノード、コア、待ち受けポート、ルーティングモードを記録して、同じ条件で順番にテストしてください。
Android端末でもAvalonia版とWPF版から選ぶのですか?
ここでの名称はデスクトップ画面の比較に使っています。Androidでは、コアの要件に応じてv2rayNGとv2flyNGを確認してください。前者はXrayコア、後者はV2Flyコアを採用しています。ノードを利用できるかどうかは、プロトコル、トランスポートのパラメーター、コアの対応状況を個別に確認してください。デスクトップ版の選び方をそのまま当てはめることはできません。