v2rayN Windowsインストール・設定完全ガイド:Desktop版とWPF版の選び方、よくあるエラーの解決法

インストーラーの選択、解凍先、ランタイムの準備から、ノードのインポート、システムプロキシ、TUNモードまで設定します。初回起動時のポート、権限、コア関連エラーはログから原因を切り分けます。

この記事の概要

この記事は、Windowsにv2rayNを初めてインストールする方や、起動後にノードへ接続できない、システムプロキシが機能しない、トレイアイコンが消えたといった問題に困っている方に向けたものです。手順に沿って進めれば、バージョン選択、実行環境の準備、サブスクリプションのインポート、プロキシの有効化、基本的なトラブルシューティングまで完了できます。

インストール前にDesktop版とWPF版を選ぶ

v2rayNのWindowsビルドには、DesktopとWPFの2種類のインターフェースが用意されている場合があります。どちらも設定管理、サブスクリプション更新、ルーティング、コア制御を担います。VMess、VLESS、Trojan、Shadowsocks、REALITYなどの対応プロトコルは、画面の種類ではなく、選択したコアとそのバージョンに左右されます。

WPF版はWindows Presentation Foundationを使用し、従来のWindowsデスクトップアプリに近い操作感です。Windowsだけで使い、クラシックなトレイメニューやウィンドウ操作を好む方に向いています。Desktop版は新しいデスクトップUIを採用し、他のデスクトップ環境に近い設定構成です。新しい画面や統一された操作感を使いたい方に適しています。

比較項目 Desktop版 WPF版
主な位置づけ 新しいデスクトップUI、統一感のあるレイアウト WindowsネイティブのデスクトップUI
対応システム 対応する64ビットWindowsでの利用を推奨 Windowsデスクトップ環境専用
プロトコル対応 Xray、v2flyなどのコアによって決まる Xray、v2flyなどのコアによって決まる
設定の移行 アップグレード前にGUI設定とサブスクリプション情報をバックアップ アップグレード前にGUI設定とサブスクリプション情報をバックアップ
おすすめの利用場面 新規インストール、新しいUIを使いたい場合 従来のウィンドウやトレイ操作に慣れている場合

インストールパッケージ名にSelfContainedが含まれている場合、通常は必要な.NETランタイムコンポーネントが同梱されています。サイズは大きくなりますが、ランタイム不足による起動失敗を減らせます。この表記がないパッケージはサイズが小さい一方、現在のバージョンに合う.NET Runtimeまたは.NET Desktop Runtimeを事前にインストールする必要があります。必要な依存関係は、ダウンロードページと起動時のメッセージを確認してください。

7.x
この記事で扱う主なUI
.NET 8
よく使われるランタイムの基盤バージョン
x64
多くのPCで選ばれるアーキテクチャ
2種類
DesktopとWPFのUI

結論:迷ったらSelfContainedのDesktopパッケージ

64ビットWindowsに新規インストールする場合は、まずx64のSelfContained Desktopパッケージを選ぶとよいでしょう。従来のWindows UIに慣れている場合は、対応するWPFパッケージを選んでください。UIのバージョンを切り替える前に、元のフォルダーをバックアップし、実行中のプログラムへ直接上書きしないでください。

ダウンロード、解凍、初回起動

v2rayNは通常、圧縮ファイルで配布されています。ダウンロード後は、まずすべてのファイルを解凍してから、フォルダー内のメインプログラムを起動してください。圧縮ソフトのプレビュー画面から直接ダブルクリックして実行すると、コア、言語ファイル、設定フォルダーが完全に展開されず、プロセスが一時的に表示された後、そのまま終了することがあります。

プログラムは、現在のユーザーアカウントに完全な読み書き権限がある固定パス(例:D:\Apps\v2rayN)に配置することをおすすめします。パスはできるだけ短くし、管理者権限が必要なシステムフォルダーは避けてください。コアの更新、ログの書き込み、設定の保存はすべてこのフォルダーにアクセスします。

  1. インストールパッケージを選ぶ

    当サイトのインストールパッケージページを開き、システムのアーキテクチャに合わせてWindows x64のDesktop版またはWPF版を選択します。ランタイムが不明な場合は、SelfContained表記のあるパッケージを優先してください。

  2. 完全に解凍する

    圧縮ファイルを右クリックして「すべて展開」を選び、展開先をD:\Apps\v2rayNなどに指定します。メインプログラム、コアフォルダー、リソースファイルが同じ解凍先にあることを確認してください。

  3. ファイルのブロックを解除する

    圧縮ファイルのプロパティに「ブロックの解除」が表示される場合は、チェックを入れてから解凍します。解凍済みのファイルがブロックされている場合は、元の圧縮ファイルを再処理してもう一度解凍してください。

  4. メインプログラムを起動する

    v2rayN.exeをダブルクリックし、初回起動後にタスクバーの通知領域を確認します。ウィンドウを閉じても、通常はプログラムがトレイで動作し続けるため、終了したとは限りません。

  5. コアを確認する

    「設定」→「パラメータ設定」を開き、Coreの種類がノードのプロトコルと合っていることを確認します。VLESSやREALITYなどの設定では、対応するフィールドを備えたXrayコアを使うのが一般的です。

初回起動後は、「設定」→「パラメータ設定」でUI言語、スタートアップ起動、ログレベル、ローカル待受ポート、Coreの種類を確認できます。Coreの種類や重要なポートを変更した場合は、現在のコアを停止してからノードを再起動し、新しい設定が完全に読み込まれるようにしてください。

サブスクリプションを追加して初回接続を完了する

サブスクリプションURLと単一の共有リンクは、別の入口です。サブスクリプションURLは通常、更新可能な複数のサーバー設定を返すため、サブスクリプショングループに登録します。vmess://vless://trojan://ss://で始まる内容は通常、単一の共有リンクであり、クリップボードから一括インポートできます。

サブスクリプションを追加するには、「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、新しいグループを作成してエイリアスとURLを入力します。保存後、「サブスクリプショングループ」→「すべてのサブスクリプションを更新(プロキシを使用しない)」で初回取得を実行します。既存のプロキシ経由でしかアクセスできない場合は、まず利用可能なノードへ接続してから、プロキシ経由で更新する項目を選択してください。

  1. グループを追加する

    「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、「追加」をクリックします。識別しやすいメモを入力し、完全なサブスクリプションURLを貼り付けてください。

  2. リストを更新する

    保存後、「サブスクリプショングループ」→「すべてのサブスクリプションを更新(プロキシを使用しない)」を選択します。更新に成功すると、メインリストにサーバーアドレス、ポート、プロトコル、通信方式が表示されます。

  3. ノードを選ぶ

    メインリストからノードを1つ選び、アクティブサーバーに設定します。まず実際の遅延または接続テストを実行し、タイムアウトするノードは、その後のシステムプロキシ検証に使わないでください。

  4. システムプロキシを有効にする

    トレイメニューまたはメイン画面のシステムプロキシ項目で「システムプロキシを自動設定」を選び、トレイの状態が変わったことを確認してからブラウザーでテストします。

単一の共有リンクは、まずクリップボードにコピーし、「サーバー」メニューのクリップボードからのインポート機能を使います。インポート後は、アドレス、ポート、ユーザーID、通信方式、TLS、SNI、フィンガープリント、Flowを確認してください。VLESSとREALITYの組み合わせでは、公開鍵、Short ID、Server Nameがサーバー側の設定と一致していることも確認します。

確認項目 一般的な値 不一致の場合の症状
プロトコル VMess、VLESS、Trojan、Shadowsocks コア起動後にハンドシェイクが失敗する
通信方式 TCP、WebSocket、gRPC 接続確立直後に切断される
TLS / REALITY サーバー側のパラメータに従って有効化 証明書名またはハンドシェイクパラメータのエラー
Flow xtls-rprx-visionまたは空欄 VLESSノードの認証後に転送できない
サーバーポート 1~65535の範囲で指定されたポート タイムアウトまたは接続拒否

システムプロキシ、ポート、TUNモードの設定方法

システムプロキシモードとTUNモードでは、解決できる問題が異なります。システムプロキシはWindowsのプロキシ設定をv2rayNのローカル待受ポートへ向け、システムプロキシに対応したブラウザーやアプリの通信をノード経由にします。システムプロキシを参照しないプログラムは、直接接続する場合があります。TUNモードは仮想ネットワークインターフェースを通じて、より広い範囲の通信を引き受けるため、ブラウザー以外のアプリもプロキシしたい場合に適しています。

一般的な設定では、ローカルSOCKSポートに10808、HTTPポートに10809を使う場合があります。最近の設定では、1つのmixedポートで両方のリクエストを処理することもあります。ポート番号をそのまま流用せず、「設定」→「パラメータ設定」で実際の待受値を確認し、Windowsのシステムプロキシに設定されたアドレスとポートを1項目ずつ照合してください。

127.0.0.1
既定のローカル待受アドレス
10808
一般的なSOCKSまたはmixedポート
10809
一般的な独立HTTPポート

ブラウザーではウェブページを開けるのに、特定のデスクトップアプリだけ接続できない場合は、そのアプリがWindowsのシステムプロキシを読み取れるか確認します。SOCKSアドレスにしか対応していないアプリでは、独自のネットワーク設定に127.0.0.1とv2rayNの現在のSOCKSポートを入力し、遠隔サーバーのアドレスは指定しないでください。

TUNモードを有効にする前に、まずシステムプロキシでノード自体が利用できることを確認します。その後、v2rayNのTUN項目から仮想ネットワークアダプターを有効にし、表示される指示に従って権限操作を完了します。TUNの起動に失敗する場合は、他の仮想ネットワークアダプター、同じルートを使用するネットワークツール、ドライバーやネットワーク設定の変更を妨げるWindowsのセキュリティポリシーを確認してください。

結論:まずノードを検証し、その後に適用範囲を広げる

初回設定では、まずシステムプロキシを使ってサブスクリプション、プロトコル、コアが正常に動作することを確認します。システムプロキシを参照しないアプリを実際に引き受ける必要がある場合に限り、TUNを有効にしてください。これにより、ノードの障害と仮想ネットワークアダプターの障害を分けて切り分けられます。

起動失敗とコアエラーの対処法

トラブルシューティングでは、まずログを開き、メインリストの遅延結果だけを見ないでください。ログ画面を開いた状態でアクティブサーバーを再起動し、GUIが読み込まれる前、コアプロセスの起動時、ローカルポートのバインド時、名前解決時、遠隔ハンドシェイクの拒否時のどの段階でエラーが出ているかを確認します。段階によって対処方法はまったく異なります。

エラー:You must install or update .NET to run this application

原因と対処:現在のインストールパッケージに必要なランタイムが含まれていないか、システムの.NETメジャーバージョンが一致していません。プログラムが案内するx64版.NET Runtimeまたは.NET Desktop Runtimeをインストールするか、同じバージョンのSelfContainedパッケージに切り替えてください。

エラー:Failed to start Core

原因と対処:コアファイルが不足している、システムにブロックされている、または存在しないCoreが設定されています。インストールパッケージを完全に解凍し直し、「設定」→「パラメータ設定」でCoreの種類を確認して、コアファイルがプログラムフォルダーに残っているか確認してください。

エラー:Only one usage of each socket address is normally permitted

原因と対処:ローカルの待受ポートが別のプロセスに使用されています。重複起動しているv2rayNを終了するか、パラメータ設定のSOCKS、HTTP、mixedポートを未使用の番号に変更してからコアを再起動してください。

エラー:failed to find an available destination

原因と対処:遠隔アドレスを解決できないか、対象ドメイン、SNI、REALITYのパラメータが正しくありません。ノードアドレスの入力を確認し、利用可能なDNSへ切り替え、Server Nameを再確認してからコアを起動してください。

エラー:Access to the path is denied

原因と対処:プログラムフォルダーへの書き込みが現在のアカウントに許可されておらず、設定やログの保存に失敗しています。完全なフォルダーをD:\Apps\v2rayNなど、ユーザーが書き込める場所へ移動してください。メインプログラムだけを移動しないでください。

エラーがサブスクリプション更新時だけ発生する場合は、HTTPステータスエラーと接続タイムアウトを分けて考えます。401または403は、通常、サブスクリプション認証情報の期限切れ、アクセス制限、URLの欠落を示します。404は、通常、パスが変更されたことを示します。接続タイムアウトでは、DNS、現在のネットワーク、プロキシ経由での更新が必要かどうかを確認してください。

コアは起動するのにすべてのノードがタイムアウトする場合は、まず異なる2つのサーバーアドレスへ切り替えて比較し、次にシステム時刻を確認します。TLSとREALITYのハンドシェイクは正確なローカル時刻に依存するため、Windowsの時刻ずれが大きいと異常が発生します。時刻を同期したら、古いコアプロセスを完全に停止してから再試行してください。

システムプロキシが効かない、トレイアイコンがない、アップグレードできない場合

システムプロキシが機能しない場合は、まずv2rayNのコアが動作していること、次にアクティブサーバーが選択されていることを確認します。最後に、Windowsのプロキシアドレスが127.0.0.1と現在のHTTPまたはmixedポートを指しているか確認してください。古いポートが残っている場合は、トレイメニューでシステムプロキシを解除してから、自動設定を再び有効にします。

トレイアイコンがないからといって、必ずしもプログラムが終了したとは限りません。Windowsが通知領域の折りたたみメニューにアイコンを移しているか、アプリのトレイ表示を無効にしている可能性があります。まずタスクバー右側の隠しアイコンを開き、Windowsのタスクバー設定でv2rayNの通知領域アイコンを表示にします。タスクマネージャーにv2rayNプロセスがある場合は、何度もダブルクリックして複数起動しないでください。

ウィンドウを閉じた後、もう一度開くには?

タスクバーの通知領域を開き、v2rayNのアイコンをダブルクリックするか、アイコンを右クリックしてメイン画面の表示を選びます。ウィンドウを閉じても、通常はトレイへ最小化されるだけです。プログラムを終了する場合は、トレイメニューの終了を使ってください。

ノードは利用可能なのにウェブページを開けない?

「設定」→「パラメータ設定」でローカルポートを確認し、Windowsのシステムプロキシが同じポートを指しているか確認します。その後、システムプロキシを解除して自動設定を選び直し、古いポート設定が残らないようにします。

サブスクリプション更新後にノード一覧が空になった?

サブスクリプショングループが有効になっているか確認し、URLにスペースや改行がないことを確認します。次に、更新ログのHTTPステータスを確認してください。返された内容がサブスクリプションデータではなくウェブページの場合は、正しいURLを提供元へ確認します。

アップグレード後に以前の設定が見つからない?

新しく解凍したフォルダー内のプログラムを起動していないか確認します。設定は通常、プログラムデータフォルダーまたは選択した保存場所に保存され、新旧のフォルダーは自動的に統合されません。プログラムを終了してから、バックアップから必要な設定データを移行してください。

スタートアップ起動後にプロキシが自動で有効にならない?

「設定」→「パラメータ設定」のスタートアップ起動項目と、システムプロキシの起動ポリシーをそれぞれ確認します。プログラムの自動起動はUIプロセスが動くことを意味するだけで、アクティブサーバーが選択され、システムプロキシが設定されるとは限りません。

アップグレード時は、v2rayNの実行中にファイルを上書きしないでください。まずトレイのプログラムを終了し、旧フォルダーをバックアップとしてコピーしてから、新バージョンを別のフォルダーに解凍します。新バージョンを起動し、サブスクリプショングループ、ルール、カスタムDNS、Coreの種類、ローカルポートを確認してから、旧フォルダーを処理してください。

インストール後の基本チェック

インストール完了の判断を、ウィンドウが開くかどうかだけで行わないでください。再現性のある確認手順は、バージョンとCoreの種類の確認、サブスクリプション更新、アクティブサーバーの選択、コアログの確認、システムプロキシの有効化、ブラウザー接続テスト、最後にルーティングとTUNの確認です。どこかで失敗したら、その段階で止めて対処し、プロトコル、DNS、ポート、コアを同時に変更しないでください。

確認手順 合格基準 失敗時に確認する項目
プログラム起動 メイン画面とトレイアイコンを開ける .NETランタイム、フォルダー権限
コア起動 ログにローカルポートの待受開始が表示される Coreの種類、ポートの競合
ノード接続 ログに継続的なハンドシェイクエラーがない プロトコルの各フィールド、時刻、DNS
システムプロキシ Windowsが現在のローカルポートを参照している 古いプロキシ設定、ポート変更
ルーティング ルールが想定した送信先に適用される ルールの順序、ドメインとIPの条件

ルーティングは、基本的な接続が安定してから設定します。ルールは通常、ドメイン、IP、プロセス、ポートに基づいて、通信をプロキシ、直接接続、またはブロックへ振り分けます。ルールを追加したら適用順に注意してください。より具体的なルールを一般的なルールより前に置き、先行する広い条件が通信を先に取り込まないようにします。

クライアントのインストールパッケージへ Windows、macOS、Android、Linux