Windowsで初めてv2rayNを設定する方や、UI版を切り替えた後に起動できなくなった方に向けたガイドです。CPUアーキテクチャ、UIフレームワーク、ランタイム要件を確認してパッケージを選び、すべてのファイルを展開してサブスクリプションを追加します。まずシステムプロキシでブラウザーの接続を確認し、システムプロキシを使わないアプリがある場合に限りTUNを個別にテストしましょう。記載のポート番号は設定例であり、すべてのバージョンの初期値ではありません。
デスクトップ版とWPF版の違い:UIとアーキテクチャを確認
v2rayNは、サブスクリプションの管理や設定の生成、プロキシの操作を行うデスクトップクライアントです。実際の接続は付属のコアが処理します。ダウンロードページで「デスクトップ版」と「WPF版」が分かれている場合、前者は通常Avaloniaを採用したUI、後者はWindowsのWPFを採用したUIを指します。内部コンポーネントは名称だけで判断せず、選んだパッケージの説明を確認してください。
UIフレームワークによって対応プロトコルや通信速度が決まるわけではありません。VLESSやVMessの設定を利用できるかは、付属するコアとそのバージョン、設定項目によって異なります。UI版を切り替えても、サーバーアドレスやUUID、トランスポートパス、REALITYの設定ミスは解消されません。
Windows版パッケージの選び方
デスクトップ版
- ダウンロードページでAvaloniaデスクトップ版と案内されている場合は、そのビルドの依存関係を確認してインストールしてください。
- Windows用のパッケージであることを確認し、他のOS向けファイルと混同しないでください。
- 初めて使う場合は、ダウンロードページで現在推奨されているWindows版から試すとよいでしょう。
WPF版
- WindowsのUIフレームワークを採用しており、使い慣れたWPFの操作画面を使いたい場合に適しています。
- フレームワーク依存型のパッケージでは、対応するバージョンとアーキテクチャの.NET Desktop Runtimeが必要です。
- 特定のUI動作に問題がある場合は、既存ファイルを上書きせず、別のフォルダーにもう一方のビルドを展開して試してください。
まずWindowsのバージョンとCPUアーキテクチャの要件を満たしていることを確認し、そのうえで使い慣れたUIを選びます。どちらのビルドも、有効なサブスクリプション設定の代わりにはなりません。
Windowsの「設定」→「システム」→「バージョン情報」を開き、「システムの種類」を確認します。x64システムではx64版を、ARM64デバイスではARM64版が提供されていればそちらを選んでください。アーキテクチャはインストールの前提条件であり、デスクトップ版とWPF版は別の選択基準です。混同しないようにしましょう。
ファイルをすべて展開し、ランタイムを確認する
起動する前に、圧縮ファイルをすべて展開してください。圧縮ソフト内から実行ファイルを直接開くと、一部のファイルしか一時展開されず、コアやリソースフォルダー、設定データベースを読み込めないことがあります。D:\Tools\v2rayNのような、書き込み可能な通常のフォルダーへの展開がおすすめです。Dドライブがない場合は、ユーザーフォルダー内にツール用のフォルダーを作成してもかまいません。
-
アーキテクチャを確認
「設定」→「システム」→「バージョン情報」でx64またはARM64を確認し、ダウンロードページから対応するWindows版を選びます。デスクトップ版かWPF版かも記録しておきましょう。
-
ファイルをすべて展開
圧縮ファイル内のすべてのファイルを専用フォルダーに展開し、その中の
v2rayN.exeを実行します。フォルダー構成を保ち、実行ファイルだけをコピーしないでください。 -
依存関係をインストール
.NETのインストールを求めるメッセージが表示されたら、フレームワーク名、バージョン、アーキテクチャを確認します。WPFのフレームワーク依存型パッケージでは、指定されたDesktop Runtimeをインストールしてください。SDKや別のランタイムを同じものとして扱わないようにしましょう。
-
起動を確認
通常起動して、メインウィンドウとログ欄が使えることを確認します。まずはTUNやスタートアップを有効にせず、フォルダーのアクセス権やファイルの不足がないかを確認してください。
サブスクリプションの追加と更新:設定をサーバー一覧に反映
v2rayNをインストールしただけでは、利用可能なサーバーが設定されたことにはなりません。サブスクリプションURLは通常、設定一覧を返すアドレスで、アクセス情報が含まれる場合があります。利用権限があり、提供元が明確なURLだけを使い、URL全体を公開スクリーンショットや問い合わせ内容に載せないでください。
以下は一般的な日本語UIでの手順です。ビルドによって同じ機能がメニューバーやツールバーに配置され、ボタン名も多少異なることがあります。その場合は「サブスクリプショングループ」と「サブスクリプションを更新」に相当する機能を探してください。サブスクリプションURL全体を、個別サーバーのアドレス欄に入力しないでください。
-
グループを追加
「サブスクリプショングループ」→「サブスクリプショングループの設定」→「追加」を開き、識別しやすい名前を入力します。URL欄にサブスクリプションURL全体を貼り付けて保存してください。
-
初回の更新
「サブスクリプショングループ」メニューから「すべてのサブスクリプションを更新(プロキシを使用しない)」を選びます。利用可能なプロキシがまだない場合は、現在のネットワークからサブスクリプション提供元に直接アクセスできるか確認してください。
-
一覧を確認
更新後、対象グループにサーバーが表示されていることを確認します。更新成功と表示されても項目がない場合は、グループの絞り込み、サブスクリプションの形式、サーバーからログイン画面やエラーページが返されていないかを確認してください。
-
使用するサーバーに設定
サーバー一覧で対象の項目を右クリックし、「アクティブサーバーに設定」を選択して、コアのログを確認します。一覧への追加と設定の有効化は別の操作です。サブスクリプションを更新しただけでは、接続できるとは限りません。
すでに接続確認済みの設定があり、サブスクリプションURLへのアクセスにプロキシが必要な場合は、「すべてのサブスクリプションを更新(プロキシを使用)」を選びます。接続できる設定がない状態でこの項目を何度切り替えても、URLの無効化、アクセストークンの期限切れ、サーバー側のエラーは解決できません。VLESS、VMess、トランスポートのセキュリティ設定はサブスクリプションの値を優先し、「互換性」のためにむやみに変更しないでください。
システムプロキシ:ブラウザーの接続を確認
初回はシステムプロキシだけを有効にするのがおすすめです。Windowsのプロキシ設定に従うアプリが、リクエストをローカルの待ち受けポートに送るようになりますが、すべてのアプリの通信が取り込まれるわけではありません。タスクトレイの「システムプロキシ」→「システムプロキシを自動設定」から、Windowsのプロキシ設定を変更できます。「自動設定」を選んでも、すべてのサイトが必ずリモートサーバーを経由するとは限りません。実際の経路はクライアントのルーティングルールにも左右されます。
ローカル待ち受けの設定例
- 待ち受けアドレス
127.0.0.1- HTTPポート
10809(設定例)- SOCKSポート
10808(設定例)- 設定画面
- 「設定」→「パラメーター設定」内のローカル待ち受け設定
ビルドによっては混合ポートを使用します。実際の画面とログを確認し、独立したHTTPポートが表示されない場合は、設定例をそのまま当てはめないでください。
Windowsのプロキシ設定を確認
- 確認場所
- 「設定」→「ネットワークとインターネット」→「プロキシ」
- プロキシアドレス
- ローカルの待ち受けアドレスと一致していること
- プロキシポート
- HTTPまたは混合待ち受けポートに対応していること
- 終了時の処理
- 先にシステムプロキシを解除してから、クライアントを終了
クライアントを終了してもローカルプロキシの設定が残っていると、ブラウザーが待ち受けを停止したポートに接続しようとすることがあります。
以下の3つの数値は、ローカル環境で確認する項目を覚えておくための例です。現行バージョンの初期設定でも、リモートサーバーのポートでもありません。実際の設定がこれらの値と一致する場合に限り、後述のコマンドをそのまま実行できます。
Windowsのプロキシ設定が正しく表示されていても、コアが起動しているとは限りません。「有効な設定が選択されている」「コアが実行中」「ローカルポートが待ち受け中」のすべてを確認してください。ブラウザー拡張機能が独自にプロキシを指定する場合もあります。切り分けの際はブラウザーをシステムプロキシに従う設定にし、複数の設定が異なるポートを指さないようにしてください。
TUNとルーティング:必要に応じて通信の取り込み範囲を広げる
TUNは仮想ネットワークインターフェースを通じて通信を取り込み、システムプロキシを使わないアプリにも対応できます。ただし、ルーティング、DNS、アプリの動作、権限などの影響を受けるため、ネットワークの問題をすべて解決する機能ではありません。同じサーバーがシステムプロキシ経由で使えることを確認してからTUNを試すと、サーバー側の問題とローカルの通信取り込みの問題を切り分けられます。
- まず現状を記録:現在の設定、ローカルポート、ルーティングモードを記録し、元に戻せる状態にしておきます。切り分け中は一度に一つの項目だけ変更してください。
- 個別にテスト:タスクトレイの「システムプロキシ」→「システムプロキシを解除」を選び、ブラウザーのプロキシ設定を解除してから、メイン画面で「TUN」を有効にします。両方を併用できないという意味ではありません。個別に試すことで、実際の通信経路を把握しやすくなります。
- 権限を確認:クライアントから権限の昇格を求められた場合は、案内に従って再起動し、許可してください。管理者権限で解決するのは起動条件の一部です。仮想インターフェースやルーティングの競合、関連コンポーネントの不足についてはログも確認してください。
- ルーティングを確認:メイン画面のルーティング設定で、使用中のルールを確認します。通信先はドメイン、IPアドレス、ルールの順序、最終的なアウトバウンドによって決まります。「グローバル」や「バイパス」といった表示だけで、すべての接続経路を判断しないでください。
- テスト後に元へ戻す:TUNを無効にし、通常のネットワーク接続が復旧したことを確認します。システムプロキシに戻す場合は、必要な項目を再度有効にしてください。DNS、ルーティング、サーバーを同時に変更して、どの設定が効いたか分からなくならないようにしましょう。
Windowsでよくあるエラー:ポートとログから原因を探す
まずメイン画面のログを開き、問題が起きた時刻と、最初に表示された具体的なエラーを記録します。「起動に失敗」や「接続に失敗」という末尾だけでは、原因を特定できないことがよくあります。ログを共有する前に、サブスクリプションのトークン、UUID、サーバーアドレスなどの機密情報を削除してください。設定ファイル全体を公開の添付ファイルとして共有しないでください。
以下のコマンドはPowerShellで実行します。HTTPの待ち受けポートが10809の場合を例に、まず待ち受け状態を確認し、プロキシを明示してリクエストを送ります。example.comは接続先の例です。実際のテストでは、アクセス権があり状態が分かっているアドレスを使い、プロキシ経由のアウトバウンドが選ばれているかも確認してください。
# ポートの使用状況と対応するプロセスのPIDを確認
netstat -ano | findstr :10809
# ローカルHTTPプロキシを明示して、アプリがシステムプロキシを使うかどうかを切り分ける
curl.exe --proxy http://127.0.0.1:10809 --connect-timeout 10 --max-time 20 -I https://example.com
# クライアント終了後に通常の直接接続が使えるか確認
curl.exe --noproxy "*" --connect-timeout 10 --max-time 20 -I https://example.com
LISTENINGは、あるプロセスがポートを待ち受けていることを示すだけで、現在のv2rayNのコアだとは限りません。出力されたPIDをタスクマネージャーの「詳細」タブで確認してください。HTTPレスポンスが返っても、リクエストがリモートプロキシを経由したとは限りません。ルーティングログも確認しましょう。接続拒否の場合は、まずローカルの待ち受けを確認します。ハンドシェイクエラーの場合は、プロトコル設定とシステム時刻も確認してください。
ダブルクリックしても画面が出ない。パッケージを間違えた?
まずタスクトレイにすでに起動中のアイコンがないか確認し、圧縮ファイル内から起動していないことも確かめます。書き込み可能なフォルダーにすべて展開し直してください。.NETのメッセージが表示された場合は、指定されたフレームワーク、バージョン、アーキテクチャに合うランタイムをインストールします。Windowsのセキュリティ機能にファイルをブロックされた場合は、保護の履歴とファイルの入手元を確認し、すべての保護機能を無効にしないでください。
ログにaddress already in useと表示される場合は?
ポートを確認するコマンドを実行してPIDを調べ、クライアントが2つ起動していないか確認します。重複したインスタンスを終了するか、「設定」→「パラメーター設定」でローカルの待ち受けポートを変更してください。変更後はWindowsのシステムプロキシとアプリ個別のプロキシ設定も確認し、古いポートを参照したままにならないようにします。
サーバーが表示されるのにブラウザーで開けないのはなぜ?
対象のサーバーがアクティブに設定されていること、コアが起動していること、タスクトレイの「システムプロキシ」が自動設定になっていることを確認します。前述のプロキシを明示するコマンドと比較してください。コマンドでは接続できてブラウザーではできない場合は、ブラウザー拡張機能とシステムプロキシを優先して確認します。どちらも失敗する場合は、サーバー、DNS、ルーティングを確認してください。
終了後に通常のWebページも開けない。どう戻せばいい?
v2rayNを再起動し、まずTUNを無効にしてから、タスクトレイの「システムプロキシ」→「システムプロキシを解除」を選びます。アプリを起動できない場合は、Windowsの「設定」→「ネットワークとインターネット」→「プロキシ」を開き、今回設定された手動プロキシを削除してください。職場や学校のネットワークで使っている既存のプロキシやスクリプト設定は、先に記録し、まとめて削除しないようにしましょう。
アップグレードと移行:設定を保ち、ファイルの混在を防ぐ
アップグレード前に現在の環境が動作することを確認し、設定をバックアップしてください。デスクトップ版とWPF版を切り替える場合は、既存のファイルを上書きするより、別のフォルダーを使うほうが元に戻しやすくなります。ビルドによって設定形式やデータベースの場所、移行方法が異なる場合があります。新バージョンでデータを更新した後、同じデータを旧バージョンでそのまま使うのは避けてください。
- 現在の状態を記録:アプリに表示されるバージョン、パッケージの種類、ローカル待ち受けポート、有効なルーティング、TUNの状態を保存します。「最新版なら同じはず」と決めつけず、実際の情報を記録してください。
- 終了してからバックアップ:システムプロキシを解除し、TUNを無効にしてから、通常の手順でアプリを終了します。ポータブル版は展開済みフォルダー全体をバックアップしてください。ユーザーデータを別の場所に保存する構成の場合は、ビルドの説明に従って該当フォルダーもバックアップします。
- 新しいフォルダーで検証:新しいパッケージをすべて展開し、そのバージョンのインポートまたは移行手順に従って設定を復元します。まず利用可能と確認済みのサーバーで接続し、次にサブスクリプションの更新、システムプロキシ、TUNをテストしてください。
- 最後に自動起動を設定:安定して動作することを確認してから、必要に応じてWindows起動時の自動起動を有効にします。自動起動後に画面は使えてもTUNが失敗する場合は、権限と起動ログを確認してください。スタートアップ項目を重複して登録しても解決にはなりません。
インストールの完了は「アプリが起動すること」だけではありません。現在のパッケージが必要とするもの、使用中の設定、通信が入るポート、終了時にシステム設定を元に戻す方法まで把握しておくことが大切です。この順序で確認しておけば、サブスクリプションの更新失敗、コアのエラー、ルーティングの問題が起きたときも、原因を絞り込みやすくなります。