Windowsで初めてv2rayNを設定する方や、WPF版からDesktop版へ移行する方に向けた手順ガイドです。まずアーキテクチャとランタイムを確認し、解凍、サブスクリプションの更新、システムプロキシの設定を順に進めます。最後にローカルポート、コアのログ、ブラウザーのリクエストから問題を切り分けます。ポート番号は設定例です。実際の値はクライアントの表示を確認し、ノードの設定値をそのまま転記しないでください。
1. WPF版とDesktop版:画面を選び、アーキテクチャを確認
v2rayNは、ノードやサブスクリプション、ルーティング、ローカルプロキシの入口を管理するデスクトップクライアントです。実際の通信は、呼び出されたコアが処理します。WPF版とDesktop版の違いは主に画面の実装とプラットフォームへの対応であり、ノードのプロトコルが異なるわけではありません。同じサブスクリプションを利用できるかは、ノードの設定、選択したコア、サーバー側の構成によって決まります。画面の見た目だけでは判断できません。
Desktop版
おすすめ初めて設定する場合は、ダウンロードページでWindowsのアーキテクチャを確認したうえで、Desktop版から始めるとよいでしょう。クロスプラットフォームのUIを採用しているため、従来のWPF版とはコントロールの配置が異なることがあります。チュートリアルの画面と違う場合は、ボタンの位置ではなく設定項目の名前を探してください。
おすすめのユーザー:初めてインストールする方、クロスプラットフォームの画面を使いたい方。
WPF版
従来型のWindows向け画面で、これまでの操作に慣れている方に適しています。WPF版を古いプロトコル専用と考える必要はありません。また、画面を切り替える際に、起動中のプログラムフォルダーへ別の版を上書きしないでください。移行前に元のプログラムを終了し、設定をバックアップしてください。
おすすめのユーザー:WPF版の操作に慣れている方、従来の画面を使った手順を参照したい方。
Windowsの「設定」→「システム」→「システム情報」で「システムの種類」を確認してください。環境によっては、最後の項目が「バージョン情報」と表示されます。一般的なIntel・AMD搭載PCではx64を選びます。Windows on ARM搭載機ではARM64版を優先して確認してください。CPUのメーカーだけで判断せず、Windowsに表示されるアーキテクチャとダウンロードページの説明に従いましょう。
- まずアーキテクチャを確認:x64版とARM64版は、ファイルサイズだけを見て代用できません。アーキテクチャが異なると、アプリやコアが起動しないことがあります。
- 次にパッケージの種類を確認:ランタイムや必要なコアが含まれているかは、現在のリリースノートで確認してください。ファイル名に特定の略称があるかどうかだけで、中身を判断しないようにしましょう。
- 最後にシステム要件を確認:古いWindowsでは、現在のクライアントやランタイムの要件を満たさない場合があります。同じパッケージを何度もダウンロードしても、互換性の問題は解決しません。
2. 解凍と初回起動:フォルダー構成を保つ
当サイトのクライアントダウンロードページから、Windows版のダウンロード項目を選びます。アーカイブを入手した場合は、すべて解凍してから実行してください。圧縮ソフトのプレビュー画面から実行すると、コアや設定ファイル、依存ライブラリが一時フォルダーに残り、画面は開いても接続できないことがあります。
-
保存先を用意
D:\Tools\v2rayNのように、一般ユーザーが書き込める専用フォルダーを作成します。Dドライブがない場合は、ユーザーフォルダー内に作成してください。追加の書き込み権限が必要なシステムフォルダーは避けましょう。 -
すべて解凍
アーカイブの内容をすべて解凍し、元のサブフォルダー構成を保ってください。
v2rayN.exeだけを取り出したり、異なるアーキテクチャや画面のファイルを同じフォルダーに混在させたりしないでください。 -
メインプログラムを起動
v2rayN.exeを実行します。通常のシステムプロキシの利用に管理者権限は必要ありません。初回設定ではTUNを無効にし、権限や仮想ネットワークアダプターによる要因を増やさないようにしましょう。 -
ランタイムを確認
.NETが見つからないというダイアログが表示されたら、必要なフレームワーク名、メジャーバージョン、アーキテクチャを確認し、指示に合ったランタイムをインストールします。インストール後はクライアントを再起動してください。SDKだけを入れて依存関係がすべてそろったと判断しないようにしましょう。
-
ログを確認
メイン画面が正常に開くことを確認し、ログ欄にコアの不足、起動失敗、設定の解析エラーが出ていないか確認します。この時点でサブスクリプションのノードがなくても正常です。インストール失敗を意味するものではありません。
3. サブスクリプション登録:URLの保存とノードの更新を区別
サブスクリプションURLは、通常、複数のノード設定を取得するためのものです。ローカルプロキシのアドレスではなく、Windowsの「プロキシサーバー」に直接入力するものでもありません。URL内のトークンが個人アカウントに紐づいている場合があります。スクリーンショットやログの共有、リモートサポートの際は、URL全体を必ず隠してください。
- メイン画面の「サブスクリプショングループの設定」を開きます。画面によっては「サブスクリプショングループ」メニュー内にあります。「追加」を選び、識別しやすい名前とサブスクリプションURL全体を入力して保存します。
- 「サブスクリプショングループ」メニューに戻り、初回は「サブスクリプションをすべて更新(プロキシを使用しない)」を選びます。画面によっては括弧内の表記が省略されていますが、ローカルプロキシを経由しない更新方法を選んでください。
- 更新後、現在のグループ選択と検索欄を確認し、ノードがフィルターで隠れていないか確かめます。サブスクリプションURLを保存しただけでは、ノードの取得成功は確認できません。
- ノードを1つ選び、右クリックメニューから「アクティブサーバーに設定」を選択します。ステータスバーまたは現在のノード表示が切り替わったことを確認してから、プロキシのテストに進んでください。
現在のネットワークからサブスクリプションサーバーに直接接続できず、クライアントに接続可能なノードがすでにある場合は、そのノードを有効にしてから「サブスクリプションをすべて更新(プロキシを使用)」を実行できます。初回インストールでリストが空の場合、利用可能な送信経路がないため、プロキシ経由の更新を繰り返しても解決しません。サブスクリプション提供元に、URLの有効性とアクセス方法を確認してください。
4. システムプロキシとローカルポート:まずブラウザーで接続を確認
アクティブノードを選択したら、通知領域のアイコンを右クリックし、「システムプロキシ」から「システムプロキシを自動設定」を選びます。ここでの「自動設定」は、クライアントがWindowsのシステムプロキシを設定するという意味です。すべてのアプリがその設定に従うとは限りません。最初のテストにはブラウザーが適しています。ゲームやコマンドラインツールなどは、個別に設定が必要な場合があります。
「設定」→「パラメーター設定」を開き、ローカルの待ち受けアドレスとポートを確認します。リリースによってはHTTPとSOCKSの共通入口が用意されていたり、それぞれの入口が別々に表示されたりします。古いチュートリアルの10809を、現在のHTTPポートと決めつけないでください。共通入口でHTTPとSOCKSの両方を受け付けられるのは、現在のコア設定が対応している場合に限られます。
最初の接続確認に使う設定
- ローカルアドレス
- 127.0.0.1
- ポートの例
- 10808(実際の入口を確認)
- システムプロキシ
- システムプロキシを自動設定
- TUNの状態
- オフ
まずシステムプロキシに対応したブラウザーで確認し、仮想ネットワークアダプターや追加権限の影響は避けます。
コマンドラインで切り分ける際の基本設定
- テストする入口
- 確認済みのHTTPまたは共通入口
- 接続先
- https://example.com
- タイムアウト
- 15秒
- 判定に使う情報
- コマンドの出力と同時刻のコアログ
プロキシを明示すると、アプリがシステムプロキシを参照するかどうかの影響を避けられます。入口の問題とリモート接続の問題を切り分けるのに役立ちます。
ローカルの10808がHTTPまたは共通入口だと確認できている場合は、PowerShellで次のテストを実行できます。SOCKS入口しかない場合は2つ目のコマンドを使います。両方を実行する必要はありません。ポート番号は実際の値に置き換えてください。接続先はリクエスト経路の確認用です。1つのサイトに接続できても、すべてのルーティングが正常とは限りません。
curl.exe --proxy http://127.0.0.1:10808 --connect-timeout 5 --max-time 15 -I https://example.com
curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 5 --max-time 15 -I https://example.com
1つ目のコマンドで200 Connection establishedだけが表示された場合、プロキシがトンネル要求を受け付けたことは分かりますが、その後のTLS接続や接続先へのリクエストが成功したとは限りません。最終的な応答や後続のエラーも確認してください。2つ目はsocks5hを使い、接続先のドメイン名の処理をプロキシ側に任せます。ローカルの名前解決に問題があるかを切り分けるのに役立ちます。
5. ルーティングとコア:設定は1つずつ変更
システムプロキシは「アプリのリクエストをクライアントに渡すか」を制御し、ルーティングルールは「クライアントに届いたリクエストをどの送信先へ流すか」を制御します。別々の設定です。ステータスバーまたはメイン画面の「ルーティング」選択欄で現在のルールを確認してください。「システムプロキシを有効にすれば、すべてのドメインがリモートノードを経由する」とは限りません。
- まずはデフォルトのルーティングを維持:プロキシが必要だと分かっている接続先でテストし、ログに表示される送信先を確認します。ページが開いても、ログに直接接続と表示されている場合、リモートノードの動作確認にはなりません。
- 次にプロトコルとの互換性を確認:VMessとVLESSはプロトコル名、Xrayは接続処理に使えるコアの1つです。未対応の項目がある場合は、コアとノードの要件を確認してください。「コアを変えれば速くなる」と考えて、むやみに切り替えないようにしましょう。
- 最後にDNSを確認:ドメイン名の解決エラーが発生した場合は、エラーがローカル、コア、リモートのどこで起きているかを確認します。DNSアドレスを適当なパブリックDNSに変えても、ルーティングやサブスクリプションへのアクセス障害が解決するとは限りません。
6. 起動失敗とポート競合:エラーに応じて切り分ける
メイン画面が正常に開いても、コアが起動しているとは限りません。ログにaddress already in useやバインド失敗が表示された場合は、ローカルの待ち受けポートを確認します。ファイルが見つからないというエラーなら、解凍先とセキュリティソフトの履歴を確認してください。どちらもサーバーへの接続前に発生する問題です。サブスクリプションを買い直したり変更したりしても、通常は解決しません。
| 症状 | まず確認する項目 | 対処方法 |
|---|---|---|
| ダブルクリックしても画面が表示されない | 通知領域とランタイム | 通知領域にすでに起動中のインスタンスがないか確認し、起動時のダイアログに表示された不足フレームワークとアーキテクチャを確認します。 |
| コアのファイルが見つからない | 解凍が完了しているか | プログラムのサブフォルダーとWindowsセキュリティの保護の履歴を確認し、ファイルが隔離されていないか調べます。 |
| ローカルポートのバインドに失敗する | 別のインスタンスまたはプロキシプロセス | 待ち受けポートのプロセスIDを調べ、プログラムを確認してから重複したインスタンスを終了するか、ローカルポートを変更します。 |
| 終了後にブラウザーがインターネットにつながらない | システムプロキシの設定が残っている | クライアントを再起動して「システムプロキシを解除」を選ぶか、Windowsのプロキシ設定で手動プロキシを確認します。 |
| ノードへの接続がタイムアウトする | リモートアドレスとネットワーク経路 | ローカルの入口が正常であることを確認してから、ノードの有効性、サーバーポート、ネットワークの到達性を確認します。 |
10808を例に、PowerShellで待ち受け状態を確認します。最後の列にプロセスIDが表示されます。実際の結果が4321だった場合は、2つ目のコマンドでプログラム名を調べます。このプロセス番号は説明用です。実際のPCでそのままプロセスを終了しないでください。
netstat -ano -p tcp | findstr ":10808"
tasklist /FI "PID eq 4321"
出力の「ローカルアドレス」が対象のポートで終わっていることと、状態が「待ち受け」になっていることを確認します。リモート接続の記録をポート競合と取り違えないようにしてください。占有しているのが古いv2rayNのインスタンスなら、通常の方法で終了します。ほかの必要なソフトウェアが使用中の場合は、v2rayNのパラメーター設定で未使用のローカルポートに変更し、コアを再起動してからシステムプロキシを再設定します。
7. よくある質問:サブスクリプション、権限、接続の復旧
サブスクリプションの更新に成功しても、リストが空なのはなぜですか?
まず検索条件をクリアし、正しいグループに切り替えてから、更新ログの解析結果を確認します。リクエストが成功しても、返された内容がログインページや期限切れの通知である場合があります。URLに空白や改行が入っていないか、トークンが欠けていないかを確認してください。個人用のサブスクリプションURLを公開の掲示板に貼り付けないでください。
毎回、右クリックして管理者として実行する必要がありますか?
通常のローカルプロキシや、現在のユーザーに適用するシステムプロキシでは、通常必要ありません。TUNなど、システムのネットワーク機能に関わる機能を有効にする場合は、現在の実装によって管理者権限やサービスのインストールが必要になることがあります。最初のトラブルシューティングではTUNを無効にし、通常の権限でブラウザーの接続を確認してください。権限の問題とノードの問題を混同せずに済みます。
ウィンドウを閉じても、プログラムが動作し続けるのはなぜですか?
設定によっては、閉じるボタンを押すとプログラムが終了せず、通知領域に格納されます。Windowsの通知領域を開き、v2rayNのアイコンを右クリックして、まず「システムプロキシを解除」を選び、その後「終了」を実行してください。タスクバーからウィンドウが消えただけでは、プロセスが終了したとは限りません。
クライアントを終了した後、ブラウザーでまったくWebページを開けなくなった場合は?
Windowsの「設定」→「ネットワークとインターネット」→「プロキシ」を開き、「プロキシサーバーを使う」が停止中のローカルポートを参照していないか確認します。個人用PCでは残った設定を解除できます。組織のポリシーで管理されている端末の場合は、既存のプロキシ設定やスクリプトを上書きせず、先に管理者へ相談してください。
Webページは開けるのに、特定のアプリだけプロキシを経由しないのはなぜですか?
まず、そのアプリがWindowsのシステムプロキシを参照するか確認します。アプリがHTTPプロキシまたはSOCKSプロキシの個別設定に対応している場合は、クライアントが実際に待ち受けているアドレス、ポート、入口の種類を指定してください。対応していない場合は、TUNによる通信の取り込みを検討します。1つのアプリがシステムプロキシを使わないからといって、サブスクリプションのノードを次々と切り替えないでください。
8. アップデートと移行:バックアップしてから入れ替える
アップデート前にシステムプロキシを解除してクライアントを終了し、旧プロセスが終了したことを確認してから、設定とサブスクリプション情報をバックアップします。設定にはノードの認証情報が含まれる場合があるため、バックアップは自分で管理できる場所に保存し、公開のオンラインストレージにはアップロードしないでください。WPF版とDesktop版の間では、すべての設定ファイルをそのまま引き継げるとは限りません。
- 元に戻せるようにバックアップ:古いプログラムフォルダーと実際の設定フォルダーを、それぞれバックアップします。設定の保存場所はリリース方法によって異なる場合があるため、現在のクライアントに表示されるフォルダーの場所やリリースノートを確認してください。
- 別のフォルダーで新しい版を試す:新しいパッケージを別のフォルダーにすべて解凍し、2つのインスタンスを同時に起動しないでください。まず起動ログを確認し、その後サブスクリプションを登録してアクティブノードを確認します。
- ローカルの入口を再確認:アップデート前後の待ち受けアドレス、ポート、システムプロキシのモード、ルーティング設定を記録します。外部アプリにポートを手動設定している場合は、その設定も確認してください。
- 最後に追加機能を戻す:ブラウザーからの基本的なリクエストが正常に動作した後、カスタムDNS、ルーティングルール、TUNを1つずつ元に戻します。変更のたびにテストすれば、競合の原因を特定しやすくなります。
インストールが完了したことを確認するには、クライアントがコアを起動できること、サブスクリプションから選択可能なノードが取得できること、実際のリクエストが想定した送信先を経由して応答を受け取れることの3点を確認します。メイン画面やノード数が表示されたこと、遅延を一度測定したことだけでは、これらの確認にはなりません。問題が起きたら「ローカルの入口 → システムプロキシ → ルーティング → リモート接続」の順に見直すと、最初から再インストールするより原因を特定しやすくなります。