DesktopはAvaloniaを採用したクロスプラットフォームのUI、WPFはWindows向けのデスクトップUIです。macOS・Linuxでは各OS用のDesktop版を選びます。Windowsでは、現在の設定や操作方法、必要な機能を基準に選びましょう。この記事では、各版の見分け方、UIとコアの役割の違い、設定の移行方法、切り替え後の確認手順を解説します。UIフレームワークの違いを、プロトコルの対応状況や通信速度の差と混同しないためのポイントも紹介します。
Desktop版とWPF版の違い
AvaloniaとWPFはいずれもUIフレームワークであり、プロキシプロトコルでもネットワーク接続を処理するコアでもありません。v2rayNのサーバー一覧、サブスクリプションのグループ、設定画面はクライアントのUIにあたります。接続できるかどうかは、実際に使用するコア、サーバーの設定値、ルーティングルール、ネットワーク環境にも左右されます。画面が開いても、コアが正常に起動したとは限りません。
| 比較項目 | Desktop(Avalonia) | WPF |
|---|---|---|
| 対応OS | Windows・macOS・Linux向け。OSに合ったパッケージが必要 | Windows向け。ほかのOSではネイティブアプリとして動作しない |
| UIの実装 | クロスプラットフォームのコントロールとレイアウトを採用。OSとの連携は各プラットフォームに合わせて調整 | Windowsのデスクトップ向けコントロールと操作体系を採用 |
| プロトコル対応 | 使用するコアと、その設定の対応状況による | 同様に、使用するコアとその設定の対応状況による |
| 使い方の違い | トレイ、ショートカット、ウィンドウの拡大縮小、権限の動作確認が必要 | 従来のWindowsの操作方法を引き続き使いたい場合に適している |
| 設定の移行 | 移行先パッケージの設定形式と機能の場所を確認する | バージョンが異なれば設定をそのまま上書きできるとは限らない |
どちらもXrayコアを使う場合、ウィンドウの見た目だけでVLESS、VMess、REALITYの対応状況は判断できません。実際に使うコアのバージョンと、サーバーが要求する設定項目を確認してください。また、「クロスプラットフォームだから速い」「Windows専用だから低遅延」とも限りません。速度を比較するには、サーバー、コア、ルーティング、テスト条件をそろえる必要があります。
結論:まずOSを確認し、機能を検証する
ダウンロード前に対応OSを確認し、インストール後は同じサーバーを使って、サブスクリプションの更新、プロキシの適用、コアのログをチェックしましょう。サーバーとのハンドシェイク失敗を解決するために、すぐUIフレームワークを変更するのは避けてください。
Windowsでの選び方
Windowsでは、どちらのUIも選択肢になります。初めてインストールする場合は、まずDesktop版を試すのもよいでしょう。WPF版で安定した使い方ができているなら、UIの名称だけを理由に移行する必要はありません。以下のおすすめは初回インストール向けです。すべてのデバイスで一方が速い、または機能が多いという意味ではありません。
Desktop(Avalonia)
おすすめ初めてインストールする場合の選択肢として適しています。特に、macOSやLinuxでもv2rayNを使う予定がある方におすすめです。操作の考え方をOS間でそろえやすい一方、トレイやシステムプロキシの動作はOSごとに確認してください。
おすすめ:Windowsへの新規インストール、複数のデスクトップOSでの利用
WPF
現在の設定が問題なく動いているなら、そのまま使い続けられます。特定のショートカットや一覧操作、ウィンドウ配置に依存している場合は、必要な操作を整理してからDesktop版で実現できるか確認しましょう。移行してから代わりの操作を探す必要はありません。
おすすめ:現在の設定が安定している方、従来のWindowsの操作方法を使い続けたい方
システムのアーキテクチャと実行環境
- Windowsの「設定」→「システム」→「バージョン情報」を開き、「システムの種類」を確認します。x64とARM64は対応するアーキテクチャのパッケージを選んでください。「64ビット」をそのままx64とみなさないようにしましょう。
- クライアントのダウンロードページで、Windows版のUIタイプ、アーキテクチャ、実行環境の要件を確認します。ランタイムの追加インストールが必要かどうかは、各パッケージの説明に従ってください。
- 起動後は、メインウィンドウ、トレイアイコン、終了操作を確認します。ウィンドウが起動しない場合は、まずランタイムとアーキテクチャを確認してください。ウィンドウは起動するのにプロキシが使えない場合は、コアのログを調べます。
UIアプリとコアは別のプロセスです。誤ったパッケージでは、ウィンドウが開く前に起動に失敗することがあります。一方、コアのファイル不足、ポートの競合、設定項目の非互換は、サーバーを選んだ後に判明する場合があります。この2つの段階を分けて記録すると、何度も上書きインストールするより効率よく対処できます。
macOS・Linuxでのパッケージ選び
macOSとLinuxでは、それぞれのOSに対応したDesktop版を選びます。Windows用のWPF版をコピーして起動できないからといって、サブスクリプションが無効だと判断しないでください。OS、CPUアーキテクチャ、パッケージ形式はそれぞれ別の条件です。個別に確認しましょう。
OS別の選び方:まずアーキテクチャを確認し、OSとの連携をチェック
macOS
- Appleメニューから「このMacについて」を開き、「チップ」または「プロセッサ」を確認します。
- Apple Silicon搭載MacにはARM64版、Intel搭載Macにはx64版を選びます。
- 起動後、トレイメニュー、システムプロキシ、終了後にプロキシ設定が元に戻ることを確認します。
- TUNを使う場合は、使用中のディストリビューションの案内に従って権限を設定してください。TUNを通常のシステムプロキシ切り替えと同じものとして扱わないようにしましょう。
Linux
- ターミナルで
uname -mを実行し、マシンのアーキテクチャを確認します。 x86_64はx64、aarch64は通常ARM64に対応します。- ディストリビューションに応じて、deb、rpm、または提供されているほかのパッケージ形式を選びます。
- デスクトップ環境のトレイ対応、プロキシ設定、TUNに必要な権限を確認します。
同じDesktop版でも、OSとの連携方法がすべてのプラットフォームで同じとは限りません。まず普段使うアプリでプロキシが動作するか確認し、必要に応じてTUNを設定してください。
Linuxのデスクトップシステムプロキシは、通常、デスクトップ環境とアプリの対応状況に依存します。ブラウザーは設定を参照できても、ターミナルのプログラムではプロキシを個別に指定する必要がある場合があります。TUNは仮想ネットワークインターフェースやルーティングの制御に関わり、必要な権限や実装方法も異なります。ターミナルの通信を制御できないからといって、Desktop版のサーバー接続機能がないとは限りません。
用途ごとに機能を確認する
UIの名称だけでは機能の有無は判断できません。サブスクリプションのインポート、グループ管理、ルーティング設定、コアの選択、システムプロキシ、TUNを個別に確認しましょう。メニューの配置や機能の実装状況は、パッケージによって異なる場合があります。次の表に記載したメニュー名は機能を探す際の目安です。実際の場所はインストールしたバージョンで確認してください。
| 作業 | 操作場所または設定項目 | 確認内容 |
|---|---|---|
| サブスクリプションの更新 | 「サブスクリプショングループ」→「サブスクリプショングループの設定」から更新を実行 | 既存のサブスクリプションを更新でき、グループとフィルターの結果も想定どおり |
| ローカルリスナー | 「設定」→「パラメーター設定」でローカルのリスニングアドレスとポートを確認 | コアのログにアドレスの競合がなく、アプリが実際のリスニングポートに接続できる |
| システムプロキシ | メイン画面またはトレイの「システムプロキシ」メニュー | システムプロキシがクライアントの実際のポートを参照し、解除後に想定どおりの状態に戻る |
| ルーティング | 「設定」→「ルーティング設定」でルールの順序とアウトバウンドのタグを確認 | 直接接続する宛先とプロキシ経由にする宛先が想定どおりに振り分けられる |
| コアとの互換性 | コアの選択項目と起動ログ | 必要なプロトコル、トランスポート方式、安全性の設定を実際のコアが受け付ける |
| TUNによる通信の制御 | TUNの切り替え、権限に関する案内、関連ログ | 有効時にルーティングが正しく行われ、無効にするとネットワークが元に戻る |
たとえば、これまでアプリが 127.0.0.1:10808 に接続していた場合、移行先のインスタンスも同じポートで待ち受けているか、そのポートがどの種類のプロキシを受け付けるか確認します。ここで示した 10808 は確認用の例であり、すべてのパッケージで共通の初期値ではありません。HTTPプロキシからSOCKS専用のポートへは接続できません。混合プロキシに対応しているかどうかは、実際の設定を確認してください。
- UIの問題:ボタンの位置、一覧の列幅、ショートカット、表示倍率に問題がある場合は、まずUIのバージョン、OS、ディスプレイの拡大率を記録します。
- コアの問題:ログに設定項目やプロトコルが認識されないと表示された場合は、使用中のコアと設定を確認します。ウィンドウのレイアウトだけをリセットしても解決しません。
- プロキシ適用の問題:コアは動作しているのにアプリがプロキシを使わない場合は、サブスクリプションを削除する前に、システムプロキシ、アプリ側のプロキシ設定、TUNを確認します。
設定の移行と元に戻す手順
移行では、サブスクリプションやルールを再利用します。古いディレクトリ全体を新しいパッケージに上書きすることではありません。バージョンによってデータベースや設定の構造が変更されていることがあります。移行先で設定を読み込めても、変更後のファイルを旧バージョンで読み込めるとは限りません。設定ディレクトリを共有するより、個別のバックアップを残すほうが安全です。
- 現在の状態を記録する。クライアントのバージョン、コアの種類、ローカルのリスニングポート、現在のルーティングモード、サブスクリプショングループを控えます。サブスクリプションURLは機密情報です。公開用のスクリーンショットには載せないでください。
- 旧インスタンスを終了してバックアップする。まずシステムプロキシを解除し、TUNを無効にしてからクライアントを終了します。現在のバージョンに備わっているバックアップまたはエクスポート機能を使ってください。設定ディレクトリをコピーする場合は、プログラムの終了後に行います。
- 移行先のUIを別にインストールする。プログラム用のディレクトリを分け、パッケージが対応する方法で設定も分離してください。プログラムを別のディレクトリに置くだけで、データも分離されるとは限りません。
- 設定を段階的に戻す。まずサブスクリプションをインポートし、接続できることが分かっているサーバーで動作を確認します。その後、カスタムルーティング、DNS、ほかの設定を移行してください。変更を一度にすべて適用してから、原因を探すのは避けましょう。
- ポートと通信の制御を確認する。旧コアが終了していること、新しいインスタンスとのポート競合がないことを確認します。まず明示的なプロキシ設定でテストし、次にシステムプロキシ、最後にTUNを試してください。
- 元に戻す手段を確保する。必要な機能を使えない場合は、新しいインスタンスを終了し、個別に保存したバックアップを復元します。新しいバージョンで書き換えられ、互換性を確認していない設定を旧バージョンで読み込ませないでください。
一般的な使い方で動作を確認する場合は、まずUIだけを変更してください。サーバー、コア、DNS、ルーティングも同時に変更すると、どの変更が結果に影響したのか分からなくなります。ログにサブスクリプションURL、ユーザー識別情報、サーバーの認証情報が含まれている場合は、共有前に削除してください。
バージョン選びでよくある質問
WindowsでWPF版が問題なく使えている場合、Desktop版に切り替える必要はありますか?
UIの名称だけを理由に切り替える必要はありません。複数のデスクトップOSで使いたい、画面の拡大縮小を確認したい、特定の機能の場所を使いたいなど、実際の要件を整理してから、設定を分けてDesktop版を試してください。現在のサブスクリプション更新、ルーティング、システムプロキシが安定しているなら、そのまま使い続けられます。
Desktop版は起動するのに、サーバーへ接続できないのはなぜですか?
まずコアの起動ログを確認し、ポート競合、ファイル不足、設定の解析エラーがないか調べてください。次に、サーバーのアドレス、ポート、トランスポート方式、安全性に関する設定を確認します。ウィンドウが開いたことから分かるのはUIプロセスが起動したということだけで、コアが接続を確立した証拠にはなりません。
Avalonia版に変えると、VLESSやVMessの速度は上がりますか?
UIフレームワークを変更するだけで速度が上がるとは一概に言えません。同じサーバー、コア、ルーティングを使ってテストし、バックグラウンドのサブスクリプション更新や別のプロキシプロセスが影響していないことも確認してください。条件が異なる場合、結果をAvaloniaによるものとは判断できません。
macOSやLinuxでWindowsと同じメニューが見つからない場合はどうすればよいですか?
まず、OSに対応したDesktop版をダウンロードしたことを確認してください。そのうえで、メイン画面、設定画面、トレイメニューから「サブスクリプション」「ルーティング」「システムプロキシ」「TUN」などの機能名で探します。使用中のパッケージに該当する項目がない場合は、パッケージの説明を確認し、ほかのOSの設定手順をそのまま当てはめないでください。
古い設定のインポートでエラーが出ます。ディレクトリ全体を上書きしてもよいですか?
上書きせず、まずバックアップを残してください。サブスクリプションだけをインポートし、基本的な接続を確認してからルールを一つずつ戻します。設定全体を移行する必要がある場合は、移行元と移行先のバージョンが対応する形式を確認してください。元に戻すときは、移行前に別途保存したバックアップを使います。