v2rayNはWindows向けのGUIクライアントで、サブスクリプション、ノード、ルーティングルール、システムプロキシを管理します。実際の接続処理はXrayまたはv2flyコアが担当します。インストール時に混乱しやすいのはプロトコル設定よりも、パッケージのランタイム、解凍先、プロキシモード、ローカルポートです。「パッケージ選択、起動、取り込み、有効化、確認」の順に進めれば、多くの問題はログから原因を特定できます。
v2rayNを初めてインストールする方、または移行するWindows 10・Windows 11ユーザー向けです。デスクトップ版とWPF版の選択、.NETランタイム、サブスクリプションの取り込み、Xrayコアの起動、システムプロキシの確認、ポート競合やセキュリティソフトによるブロックなどを扱います。
デスクトップ版とWPF版の選び方
v2rayN 7.x系では、異なるUI技術やランタイム構成のWindows向けインストールパッケージが提供される場合があります。主な違いはGUI、システムランタイムへの依存、パッケージ容量であり、サブスクリプション内のVMess、VLESS、Trojanなどのノードパラメータは変わりません。同じXrayコアを使う同一ノードなら、接続性能は通常、UIの種類ではなくコアのバージョンとサーバー設定で決まります。
WPF自己完結パッケージ
おすすめランタイムがパッケージに含まれているため、解凍後すぐに起動できます。対応する.NET Desktop Runtimeがインストール済みか分からない環境に適しています。その分、ダウンロード容量とディスク使用量は大きくなります。
おすすめ:初回インストール、独立したディレクトリへの配置、ランタイム関連の切り分けを減らしたい場合
WPFフレームワーク依存パッケージ
パッケージ容量は小さいものの、Windowsに対応する64ビット版.NET Desktop Runtimeが必要です。ランタイムが不足していると、起動時にエラーが表示されます。
おすすめ:.NET実行環境を一元管理しているPC
クロスプラットフォーム・デスクトップUIパッケージ
UIレイアウトはWPF版と異なりますが、基本設定とサブスクリプションデータは同様の接続フローで利用できます。古いPCでは、システムバージョンとグラフィック環境の互換性を先に確認してください。
おすすめ:新しいデスクトップUIを使いたい場合、操作レイアウトを統一したい場合
自己完結パッケージかどうかは、圧縮ファイルのサイズだけで判断せず、ファイル名のSelfContained表記と対応バージョンの説明も確認してください。起動時に「.NETのインストールまたは更新が必要です」と表示される場合、そのパッケージは外部ランタイムに依存しています。システムのアーキテクチャに合うx64 Desktop Runtimeをインストールしてから、v2rayNを再起動します。通常のx64 WindowsデバイスにArm64ランタイムを混在させないでください。
| 確認項目 | 推奨値 | 不一致時の症状 |
|---|---|---|
| システムバージョン | Windows 10 22H2またはWindows 11 23H2以降 | UIを初期化できない、またはシステムコンポーネントの呼び出しに失敗する |
| システムアーキテクチャ | 一般的なデバイスではx64を選択 | プログラムが起動しない、またはランタイムのアーキテクチャエラーが発生する |
| .NETの種類 | Desktop Runtime(基本Runtimeのみでは不可) | WPFウィンドウの起動に失敗する |
| コアのアーキテクチャ | クライアントおよびシステムのアーキテクチャと一致 | コア起動直後に終了する |
結論:ランタイムの状態が不明なら、まず自己完結パッケージを選ぶ
自己完結パッケージなら、初回起動時の変数をシステムアーキテクチャ、解凍権限、セキュリティポリシーの3点に絞れます。環境が安定してから、容量の小さいフレームワーク依存パッケージを検討するとよいでしょう。
解凍、初回起動、設定ディレクトリ
v2rayNは通常、圧縮ファイルで配布されます。圧縮ソフトのプレビュー画面からメインプログラムを直接ダブルクリックしないでください。コア、言語ファイル、設定コンポーネントが完全に展開されない場合があります。D:\Apps\v2rayN\のような固定ディレクトリを作成し、完全に解凍してから起動することをおすすめします。パスにはできるだけ一般的な文字だけを使い、現在のWindowsアカウントに書き込み権限があることを確認してください。
- 旧バージョンのv2rayNを終了し、タスクバーの通知領域にプロセスが残っていないことを確認します。
- 圧縮ファイルを独立したディレクトリへ完全に解凍し、実行中の旧ディレクトリを上書きしないでください。
- 初回起動時にメインプログラムを実行し、通知領域にv2rayNのアイコンが表示されるか確認します。
- 「設定」→「パラメーター設定」を開き、UI言語、スタートアップ起動、ローカルリスニングポートを確認します。
- ログウィンドウを開き、コアの起動失敗、設定の解析失敗、ポート競合が発生していないことを確認します。
プログラムをデスクトップ、ダウンロードフォルダー、システム保護フォルダーに置くと、更新時の上書き、権限の継承、パスの変化が起きる可能性があります。データベース、サブスクリプション、ルーティング設定を保持するには、固定ディレクトリが適しています。旧バージョンから移行する場合は、最初から旧ファイルをすべて新バージョンへ上書きしないでください。旧ディレクトリを残したまま新バージョンを起動し、サブスクリプションを取り込んでから、カスタムルーティングとパラメーターを項目ごとに移行する方が安全です。
初回起動後にメインウィンドウが表示されなくても、起動に失敗したとは限りません。v2rayNはタスクバーの通知領域へ最小化でき、アイコンをダブルクリックするとウィンドウを復元できます。通知領域にもアイコンがない場合は、タスクマネージャーでメインプログラムが瞬時に終了していないか確認し、Windowsのイベントビューアーで.NET RuntimeまたはApplication Errorの記録を確認してください。
推奨インストールディレクトリ:
D:\Apps\v2rayN\
一般的なローカルリスニングポート:
SOCKS 127.0.0.1:10808
HTTP 127.0.0.1:10809
実際のポートは「設定」→「パラメーター設定」にあるローカルリスニング設定を基準にしてください。
サブスクリプションの取り込み、更新、ノード選択
サブスクリプションURLはノード設定を一括取得するために使います。単一のVMessまたはVLESSリンクでも、ローカル設定ファイルでもありません。取り込む前にURLが完全か確認し、コピー時に改行、日本語の引用符、末尾の空白を混入させないでください。サブスクリプションの内容はサーバーから提供され、v2rayNはそれを読み込んでローカルのサーバー一覧へ変換します。
おすすめ:サブスクリプションと手動ノードを分けて管理
サブスクリプションノード
- 「サブスクリプショングループ」→「サブスクリプショングループ設定」からURLを追加
- 保存後、「サブスクリプションをすべて更新」を実行
- 更新前に現在選択中のノードを記録
- サーバー側の変更後に再度速度を測定
手動ノード
- クリップボードから単一の共有リンクを取り込む
- URL、ポート、トランスポート層、TLSパラメーターを確認
- 一時的なテストや障害の切り分けに使用
- 同名のサブスクリプションノードとの混同を避ける
サブスクリプションの更新では、ノードの追加、削除、名前変更が発生する場合があります。カスタムルーティングルールは個別に保存し、ノードの表示名を唯一の判定条件にしないでください。
一般的な操作手順は、「サブスクリプショングループ」→「サブスクリプショングループ設定」→「追加」の順に進み、別名とサブスクリプションURLを入力して保存し、「サブスクリプショングループ」→「サブスクリプションをすべて更新」を実行します。7.xの細かなバージョンによってメニュー名は多少異なる場合がありますが、先にサブスクリプショングループを作成し、その後手動で更新する流れは同じです。現在のネットワークからサブスクリプション元へ直接アクセスできない場合は、利用可能なノードに接続してから、サブスクリプション設定でプロキシ経由の更新を有効にしてください。
ノードを取り込んだ後、遅延の列だけで判断しないでください。遅延テストは通常、対象との接続確立可否を確認するもので、実際のスループットを示すものではありません。まずノードを選択して実際の遅延テストを行い、その後ブラウザーで対象サービスへアクセスします。一覧内の全ノードが同時に失敗する場合は、サブスクリプションの有効性、システム時刻、コアログを優先して確認します。1つのノードだけ失敗する場合は、そのノードのアドレス、ポート、UUID、トランスポート層、TLS、サーバー設定が一致しているか確認してください。
- VMess:ユーザー識別子、サーバーポート、トランスポート方式、TLS設定を重点的に確認します。
- VLESS:ユーザー識別子に加え、flow、SNI、Reality公開鍵、short IDなどのサーバーパラメーターも確認します。
- WebSocket:パスとHostはサーバー設定と一致させる必要があります。スラッシュが1つ多いだけでもハンドシェイクに失敗する場合があります。
- gRPC:サービス名は正確に一致させる必要があり、ノードのメモで代用することはできません。
システムプロキシを有効にして通信経路を確認
ノードを選択してコアを起動しても、ローカルプロキシポートが待ち受け状態になっただけで、Windowsアプリが必ず通信を渡すとは限りません。ブラウザーやシステムプロキシに従うデスクトップアプリでは、システムプロキシも有効にする必要があります。システムプロキシを参照しないアプリでは、SOCKSまたはHTTPアドレスを個別に入力するか、v2rayNが提供する別の取り込み方法を使用してください。
- サーバー一覧からノードを1つ選択し、アクティブサーバーに設定します。
- 通知領域のアイコンを右クリックし、「システムプロキシ」→「システムプロキシを自動設定」を選択します。
- 実行状態にコアが起動済みと表示され、ログで再起動が連続していないことを確認します。
- Windowsの「設定」→「ネットワークとインターネット」→「プロキシ」で、スクリプトまたはプロキシの状態が変化していることを確認します。
- 新しいブラウザーウィンドウを開いてテストし、古い接続の再利用による誤判定を避けます。
v2rayNの一般的な初期ポートはSOCKSが10808、HTTPが通常10809ですが、ユーザーによる変更、ポートの自動繰り上げ、バージョンごとの設定によって実際の値は異なる場合があります。正確な値は「設定」→「パラメーター設定」に表示されるローカルリスニング設定と起動ログを基準にしてください。他のソフトを手動設定する場合、サーバーアドレスには127.0.0.1を指定し、リモートノードのアドレスは入力しないでください。
| 確認レベル | 確認方法 | 正常な結果 |
|---|---|---|
| コアプロセス | v2rayNの実行ログを確認 | 設定の読み込みが完了し、プロセスが繰り返し終了していない |
| ローカルポート | netstat -ano | findstr 10808を実行 |
127.0.0.1に対応するポートがLISTENING状態 |
| システムプロキシ | Windowsのプロキシ設定を確認 | 状態がv2rayNの現在のモードと一致 |
| ブラウザーのリクエスト | 新しいウィンドウで対象サイトへアクセス | ページが読み込まれ、ログにアウトバウンドの記録が表示される |
| ルールの適用 | ルーティングログと対象ドメインを確認 | 通信が想定したdirect、proxy、またはblockのアウトバウンドへ入る |
結論:まずリスニングを確認し、その後ノードの品質を判断
10808または画面に表示されたポートが待ち受け状態でなければ、問題はローカルのコアまたは設定にあります。ポートは待ち受けているのに対象リクエストがログに入らない場合は、システムプロキシ、アプリのプロキシ設定、または接続の再利用が原因である可能性が高いです。
システムプロキシモードは、ブラウザーやWindowsのプロキシ設定に従う多くのソフトに適しています。グローバルモードまたはルールモードは、v2rayNに入ったリクエストをどのアウトバウンドから送るかを決めるもので、システムプロキシとは別の設定です。切り分けでは、まず明示的なプロキシモードで接続を確認し、その後ドメインやIPに基づくルーティングルールへ戻すと、GeoSite、GeoIP、カスタムルールによる干渉を減らせます。
頻出トラブル:ランタイム、ポート、セキュリティポリシー
インストールが完了しても使えない場合、主に4種類に分けられます。メインプログラムが起動していない、コアが起動していない、ローカルポートが待ち受けできない、アプリの通信がプロキシに入っていない、のいずれかです。サブスクリプション、DNS、ルーティング、システムプロキシを同時に変更しないでください。一度に1項目だけ変更し、変更前のログを残すことで、どの層で問題が起きたか判断できます。
v2rayNをダブルクリックするとウィンドウが一瞬で消える?
まずタスクバーの通知領域を確認してください。アイコンがない場合は、イベントビューアーで.NET Runtimeの記録を確認します。フレームワーク依存パッケージには、システムのアーキテクチャに合う.NET Desktop Runtimeをインストールし、その後メインプログラムを再起動してください。
ログにポートが使用中と表示された場合は?
コマンドプロンプトでnetstat -ano | findstr 10808を実行し、ポートを使用しているPIDを記録してから、タスクマネージャーでプロセスを確認します。競合しているプログラムを終了するか、「設定」→「パラメーター設定」でローカルポートを10818に変更し、他のソフトのプロキシポートも合わせて変更してください。
サブスクリプションの更新は成功したのに、すべてのノードがタイムアウトする?
まずWindowsの日付、時刻、タイムゾーンを正しく設定し、任意のノードでコアログを確認します。TLSハンドシェイクが集中して失敗する場合は、SNI、システム時刻、サーバーの状態を確認します。接続が拒否される場合は、リモートポートがまだ有効か確認してください。
コアファイルがセキュリティソフトに隔離された場合は?
まずセキュリティソフトの隔離履歴で、処理されたファイルのパスと検出時刻を確認し、インストールパッケージが本サイトのダウンロードページから取得したものか確認します。復元前に実行中のv2rayNを終了し、復元後に不足しているコンポーネントを再度解凍してから起動し、コアのバージョン情報を確認してください。
v2rayNを終了してもウェブページにアクセスできない場合は?
Windowsにローカルポートを指すプロキシ設定が残っている可能性があります。v2rayNを再起動し、「システムプロキシ」→「システムプロキシを解除」を実行してから終了し、「設定」→「ネットワークとインターネット」→「プロキシ」を再確認してください。
ポート競合は、別のv2rayN、他のローカルネットワークツール、または前回の異常終了後に残ったコアプロセスが原因になることがあります。タスクマネージャーでプロセスを終了する前に、PIDからプログラムの正体を確認してください。ポートを10808から10818へ変更すれば競合を回避できますが、ブラウザー拡張機能、ダウンロードツール、開発ツールに保存したプロキシアドレスも合わせて変更する必要があります。
セキュリティソフトがコアファイルを処理した後も、v2rayNのメイン画面は正常に開く場合があります。しかしノードをクリックすると、コアがすぐに終了します。このときログには「ファイルが見つからない」「プロセスの起動に失敗」「パスへのアクセスが拒否された」といった内容がよく表示されます。まず処理されたファイルを特定し、完全なインストールパッケージから対応するバージョンを復元してください。異なるバージョンのコアとリソースファイルを同じディレクトリに混在させないよう注意します。
- メイン画面のエラー:まず.NET Desktop Runtime、システムアーキテクチャ、ディレクトリの権限を確認します。
- コアのエラー:まず設定の構文、コアファイル、ポート競合、バージョン互換性を確認します。
- サブスクリプションのエラー:まずURLの完全性、ネットワーク到達性、システム時刻、プロキシ経由の更新設定を確認します。
- ウェブページのエラー:まずシステムプロキシの状態、ブラウザーのプロキシ設定、DNS、ルールの適用結果を確認します。
アップグレード移行と最終確認
旧バージョンからアップグレードする場合は、新旧ディレクトリを併存させる方法が最も安全です。旧バージョンを終了してディレクトリ全体をバックアップし、新しいディレクトリへ新バージョンを解凍して個別に起動します。サブスクリプション、ノード、ルーティング、システムプロキシが正常に動作することを確認してから、旧設定を移行するか判断してください。新バージョンが旧フィールドの読み込みに失敗しても、元のディレクトリへすぐ戻って再現・比較できます。
カスタムルーティングは特に個別確認が必要です。旧設定のドメインルール、GeoSiteタグ、GeoIPタグ、アウトバウンド名は、データファイルやコアのバージョン変更によって一致しなくなる場合があります。アップグレード後は、直接接続するサイト、プロキシ経由にするサイト、ブロックするドメインを少なくとも1つずつテストし、ページが開くかだけでなく、ログから実際のアウトバウンドを確認してください。
- インストールパッケージのアーキテクチャがWindowsのアーキテクチャと一致していることを確認します。
- フレームワーク依存パッケージに対応する.NET Desktop Runtimeがあることを確認します。
- v2rayNが固定され、書き込み可能なディレクトリへ完全に解凍されていることを確認します。
- サブスクリプションの更新が完了し、現在のノードパラメーターが完全であることを確認します。
- Xrayまたはv2flyコアが起動後に繰り返し終了していないことを確認します。
- ローカルのSOCKSおよびHTTPポートが待ち受け状態であることを確認します。
- システムプロキシモードが現在の利用環境に合っていることを確認します。
- ブラウザーのリクエストがログに入り、想定したルーティングに適用されることを確認します。
- 終了前にシステムプロキシを解除するか、明確なスタートアップ起動ポリシーを設定しておきます。
これらの確認を終えれば、v2rayNのインストール状態を「アイコンの色が変わったか」という単一のサインに頼る必要はありません。プロセス、ポート、プロキシ設定、ログ、実際のリクエストを組み合わせて検証できます。今後サブスクリプションやノードが変わっても、同じ手順でローカルの問題とリモート設定の問題を素早く切り分けられます。