Windows
v2rayNにはデスクトップ版と従来のWPF版があります。デスクトップ版はクロスプラットフォームのUIを採用し、WPF版はおなじみのウィンドウ操作を維持しています。初回インストール時はシステム要件を確認し、PCのアーキテクチャに合ったファイルを選びましょう。ダブルクリックしても画面が開かない場合は、実行環境と展開先フォルダーのアクセス権を確認してください。同じ設定フォルダーへの上書きを繰り返すのは避けましょう。
ダウンロードページへ →OSに合ったオープンソースクライアントを選び、実際の設定項目を確認しながらサブスクリプションをインポートしてルーティングを設定。プロトコルとコアの用途も見分けられます。
編集画面は項目を確認するためのものです。example.com、your-uuid、your-public-keyはいずれも説明用の例で、そのままでは接続できません。実際のメニュー名はクライアントの更新により多少異なる場合があります。
CLIENT / PLATFORM
デスクトップではv2rayNから始めましょう。Androidではまずv2rayNGを確認し、コアの要件に応じてv2flyNGを選びます。OSによってインストーラーの種類が決まり、プロセッサのアーキテクチャによって必要なファイルが変わるため、それぞれ確認してください。
v2rayNにはデスクトップ版と従来のWPF版があります。デスクトップ版はクロスプラットフォームのUIを採用し、WPF版はおなじみのウィンドウ操作を維持しています。初回インストール時はシステム要件を確認し、PCのアーキテクチャに合ったファイルを選びましょう。ダブルクリックしても画面が開かない場合は、実行環境と展開先フォルダーのアクセス権を確認してください。同じ設定フォルダーへの上書きを繰り返すのは避けましょう。
ダウンロードページへ →お使いのチップに合ったv2rayNのインストーラーを選びます。「このMacについて」でチップを確認してください。Apple Siliconはarm64、Intelはx64に対応します。インストール後は設定をインポートし、システムプロキシが機能しているか確認しましょう。ほかのプロキシツールを使っている場合は、ネットワーク設定の競合を避けるため、先にそのツールのプロキシ制御を終了してください。
ダウンロードページへ →v2rayNGはXrayコアを使用し、VLESSやREALITYなどを使う設定に適しています。v2flyNGはV2Flyコアを使う選択肢です。比較的新しいスマートフォンの多くはarm64を選べます。判断できない場合はユニバーサル版の説明を確認してください。初回接続時にはAndroidのVPN接続許可が必要です。バックグラウンドで接続が切れる場合は、バッテリー最適化とバックグラウンド実行の権限を確認しましょう。
ダウンロードページへ →v2rayNにはdeb版とrpm版があり、x64とarm64に分かれています。デスクトップ環境の名前だけでなく、ディストリビューションのパッケージ形式に合わせて選びましょう。GUIを起動したら、まずシステムプロキシでブラウザーの接続を確認します。仮想NICで通信を制御する場合は、TUNに必要な権限と既存のネットワーク管理ルールを別途確認してください。
ダウンロードページへ →クライアントのインストールと、サーバー設定の入手は別の作業です。クライアントは設定の管理、コアの起動、ローカルプロキシの設定を行います。実際に接続するには、有効なサブスクリプションURLまたはサーバー情報が必要です。サブスクリプションには接続情報が含まれるため、信頼できる端末だけに保存してください。トラブルの相談時も、URL全体を公開しないようにしましょう。
別の端末から設定を移行する場合は、元の設定で使われているプロトコル、トランスポート、安全レイヤーを確認します。クライアント名が似ていても、機能がすべて同じとは限りません。特にREALITYを使う設定では、コアと各パラメーターの両方が対応している必要があります。プロトコルの選択欄をVLESSに変えるだけでは、設定を変換できません。
SETTINGS / REFERENCE
まず「サーバーの設定値」と「端末側の通信制御方法」を分けて考えましょう。前者はサーバー側と一致させる必要があり、後者はどのアプリがプロキシを使うかを決めます。よくある操作ごとに設定場所を紹介します。右側の画面例は項目名を示すだけで、端末の設定は変更しません。
サブスクリプションURLはサーバー設定をまとめて取得するためのもので、ブラウザーのプロキシアドレスではありません。「サブスクリプショングループ設定」を開き、識別しやすい名前とURLを入力して保存したら、サブスクリプションを更新し、該当グループからサーバーを選びます。個別の共有リンクがある場合は、「クリップボードから複数URLをインポート」も利用できます。項目を手入力する場合と比べ、サブスクリプションなら設定変更を同期しやすい一方、更新時に手動で追加した内容が上書きされることがあります。手動変更を残す場合は、事前に設定を別途保存してください。インポート後は、使用するサーバーと端末側のプロキシ設定も必要です。リストに項目が表示されても、通信がプロキシ経由になったとは限りません。
サブスクリプションのインポート手順を見る →ルーティングでは、コアに届いた接続をプロキシ経由、直接接続、またはブロックのどれにするか決めます。まずは「中国本土を除外」などの組み込みルールで基本設定を整え、用途に合わせて調整しましょう。ルールには通常、評価順があります。先に一致したルールが後の判定に影響し、ドメインルールはDNSやスニッフィングの設定に依存することもあります。すべての通信を一律に扱う場合より、不要な転送を減らせますが、コアに届いていないアプリの通信は制御できません。特定のサイトで問題が起きたら、サブスクリプション、DNS、プロトコルを同時に変えず、まずルールの適用状況とログを確認してください。
ルーティングとプロトコルの違いを見る →クライアントは画面を提供し、コアは設定を解析して接続を確立します。v2rayNでは使用するプロトコルに合わせてコアを選べます。VLESSとREALITYを使う場合は、クライアントのプロトコル一覧に名前があるかだけでなく、Xrayの対応状況を確認しましょう。切り替える前に現在のCoreタイプとサーバー設定を記録し、切り替え後はサービスを再起動してログを確認してください。インストーラーの変更とは異なり、コアの切り替えでは対応する項目やデフォルトの動作が変わることがあります。設定がそのまま使えるとは限りません。v2rayNGとv2flyNGは別々のAndroidクライアントなので、それぞれのコアが対応する機能を確認して選びましょう。
XrayとV2Flyを比較する →TUNは仮想NICを使い、設定に合致する通信を制御します。システムプロキシ設定に従わないアプリに適しています。まず通常のプロキシ接続が使えることを確認し、OSの要件に応じて管理者権限やネットワーク権限を付与してから「TUNモード」を有効にし、ルーティングとDNSの動作を確認しましょう。システムプロキシとの違いは通信を制御する入口にあり、すべての接続が必ずリモートプロキシ経由になるわけではありません。最終的な接続先はルールで決まります。ほかの仮想NICやVPNツールを使っている場合は、競合がないか一つずつ確認してください。テスト後はネットワーク設定が元に戻っているか確認しましょう。ログを調べずにスイッチの切り替えを繰り返すのは避けてください。
TUN設定のメモを読む →ローカルの待ち受けポートは、アプリからクライアントへ通信を渡す入口で、リモートサーバーのポートとは異なります。まずパラメーター設定で待ち受けアドレスとポートを確認し、「システムプロキシを自動設定」を選びます。ブラウザーで手動設定する場合も、同じローカルポートを指定してください。TUNと異なり、システムプロキシが通常影響するのは、その設定に従うアプリだけです。ポートが使用中の場合は、競合するプロセスを特定してから待ち受けポートを変更し、アプリ側の設定も合わせて更新しましょう。一般的な単体利用ならループバックアドレスのままで問題ありません。「LANからの接続を許可」を有効にすると待ち受け範囲が広がるため、アクセス権限にも注意が必要です。
ローカルポートのトラブル対処を見る →項目名は設定場所を見つけるためのもので、推奨値が固定されているわけではありません。変更前に現在の値を記録し、一度に一項目だけ変更してください。接続できている設定はなるべく維持し、新しい設定による変化を確認しましょう。
QUICK START / THREE STEPS
まず必要最低限の設定で接続し、その後ルーティングや通信制御を追加します。デスクトップ版v2rayNとAndroid版v2rayNGではメニューが異なりますが、「設定のインポート、接続先の選択、接続確認」の手順は共通です。
有効なサブスクリプションURLまたは個別のサーバーリンクを用意します。v2rayNではサブスクリプショングループ設定を開いてURLを保存し、更新します。個別のリンクはクリップボードからインポートできます。v2rayNGでは追加メニューから適切なインポート方法を選びます。インポート後はプロトコル、サーバーアドレス、ポートを確認し、特にセキュリティとトランスポートの設定が引き継がれているか注意してください。
リストが空の場合は、URLにアクセスできないのか、内容の形式が対応していないのかを切り分けます。ブラウザーでサブスクリプションURLを開けても、返される内容をクライアントが解析できるとは限りません。エラーメッセージを保存し、配布元のクライアント向け説明を確認してください。サブスクリプションURLをサーバーアドレス欄に入力しないようにしましょう。
使う項目をアクティブなサーバーに設定し、適切なルーティング方式を選びます。デスクトップでは「システムプロキシを自動設定」から始めましょう。Androidでは初回接続時にシステムのVPN接続許可を確認してください。接続をどのクライアントが制御しているか判断しやすくするため、ほかのネットワークツールは終了しておきます。
「グローバルルーティング」と「すべてのアプリの通信を制御する」は同じ意味ではありません。ルーティングの対象はコアに届いた通信だけで、システムプロキシを無視するアプリもあります。基本の接続が正常で、制御範囲を広げる必要がある場合に限ってTUNを検討しましょう。権限の問題とサーバー設定の間違いを混同しないようにしてください。
普段使うWebページを開き、ページ内のリソースも読み込めるか確認してから、クライアントのログに名前解決やハンドシェイクのエラーがないか調べます。リストのテスト結果は特定の方法による確認にすぎず、実際のアクセスを保証するものではありません。テストに失敗してもすぐ設定を削除せず、テスト対象と現在のルールが合っているか確認しましょう。
接続開始と表示されてもWebページが開かない場合は、システムプロキシ、ローカルポート、DNS、システム時刻の順に確認します。初期設定に戻す前に設定をバックアップし、最後に接続できた状態を記録してください。一度に複数の機能を有効にするより、一つずつ確認するほうが原因を特定しやすく、変更の取り消しも簡単です。
PROJECT V / CORE / CLIENT
V2Ray、V2Fly、Xray、v2rayNは、それぞれ異なる役割を持つ名称です。まずプロジェクト、コア、クライアント、プロトコルを区別してから、ダウンロードするプログラムやサーバーの種類を選びましょう。
Project V
V2Fly / Xray
v2rayN / v2rayNG / v2flyNG
Project VのエコシステムはV2Rayなどのツールを基盤とし、インバウンド、アウトバウンド、ルーティング、トランスポート、DNSを組み合わせ可能なモジュールとして構成します。GUIクライアントを使う場合、ひとつの画面で複数種類のサーバーを管理できるため、プロトコルごとに別のプログラムをインストールする必要はありません。クライアントがメニュー操作をコア設定に変換し、コアが実際の接続を処理します。この役割分担を理解すると、「画面上で保存できたこと」と「コアが設定に対応していること」を別々に確認できます。
エコシステム内のプロジェクトはそれぞれ独自に開発されているため、メニュー名、デフォルト値、対応するトランスポートも変わる場合があります。ガイドに記載された操作経路は機能を探すための目安として活用し、最終的には現在のクライアント画面とサーバー側の説明を確認してください。見慣れない項目があれば、プロトコルの識別情報、トランスポート、安全レイヤーのどれに属するかを確かめ、名前が似ているだけで置き換えないようにしましょう。
V2FlyコミュニティはV2Ray関連のコアを保守し、Xrayは共通の技術基盤から独自の機能を発展させています。対応するプロトコルや設定には共通点がありますが、すべての項目、拡張機能、デフォルト動作が同じとは限りません。たとえばREALITYを使う場合は、明確に対応しているコアを選び、フロー制御、フィンガープリント、公開鍵などの関連設定も確認してください。GUIに項目が表示されていても、実際に使用中のコアが対応しているか確認が必要です。
設定を移行する際は、まず現在使えている項目を残し、移行先のコアが対応する範囲を確認します。同じ共有リンクを読み込めても、インポーターが一部の情報を認識したというだけで、その後の接続成功までは保証されません。サーバー側に特定のコア向けの説明がある場合は、そちらを優先してください。拡張機能が必要なければ、名称が新しいという理由だけでコアを頻繁に切り替える必要はありません。
v2rayNはデスクトップ向けで、サーバー管理、サブスクリプションの更新、ルーティング、ローカルプロキシの設定をまとめて行えます。v2rayNGはAndroid向けでXrayコアを使用します。v2flyNGもAndroid向けですが、コアの違いにより用途が異なります。いずれもオープンソースクライアントです。オープンソースとは各プロジェクトのライセンスに基づいてコードが公開されているという意味であり、ライセンス条件、依存関係、配布要件は個別に確認する必要があります。エコシステム全体に一つのプロジェクトのライセンスを当てはめることはできません。
クライアントを選ぶ際は、見た目よりOSへの対応とプロトコルのサポートを重視しましょう。デスクトップではv2rayNを使い、ひとつの管理画面で複数種類のサーバーを整理できます。Androidでv2rayNGまたはv2flyNGを使う場合は、既存設定が必要とするコアに合わせて選んでください。複数のクライアントをインストールしてもサブスクリプションは自動で統合されません。システムプロキシやVPNによる通信制御の状態も、別途確認が必要です。
VMessとVLESSはプロキシプロトコルです。TrojanやShadowsocksにもそれぞれ独自の認証方式とトランスポートの仕様があります。一方、REALITYはトランスポート層のセキュリティ方式で、一般的にはVLESSと組み合わせて使われます。そのため、これらの名称を同じメニュー内の排他的な選択肢として扱うことはできません。設定を確認するときは、共有リンクの名前だけで判断せず、プロトコル、トランスポート、安全レイヤーを合わせて確認してください。
より高速な方式を選ぶ場合も、プロトコル名だけでは判断できません。サーバーの負荷、ネットワーク経路、ハンドシェイク、接続の多重化、端末の性能などが実際の速度に影響します。モバイル端末ではバックグラウンドでの接続維持やネットワーク切り替えが、バッテリー消費と接続の安定性にも影響します。初心者はまず、サーバー側が明示的に提供し、クライアントが完全に対応する組み合わせを使い、同じ条件で実際の使い勝手を確認しましょう。
サブスクリプションには個別の共有リンクをまとめたものと、特定のクライアント向けの設定形式があります。クライアントによって拡張パラメーターの解釈が異なり、変換時にフロー制御、安全レイヤー、トランスポートの項目が欠落することもあります。更新後に一部の項目だけ使えない場合は、元の設定とログを照合して、インポートの不備、コアの非対応、サーバー情報の変更のどれに該当するか確認してください。
サブスクリプションを使っても、クライアントのプロトコル対応機能が増えるわけではありません。同じURLを別のクライアントに貼り付ける前に、サーバー側の説明で対応する形式が提供されているか確認しましょう。トラブル相談用のスクリーンショットを共有する場合は、サブスクリプションURL、ユーザーID、認証情報を隠してください。プロトコル名、メニューの場所、個人情報を除いたエラー内容があれば、通常は状況を把握できます。
GUIクライアントとコアは、それぞれ別々に更新される場合があります。クライアントの更新でメニューや設定生成方法が変わることがあり、コアの更新で機能の対応状況や項目の扱いが変わることもあります。更新前にサブスクリプショングループと手動設定を保存し、現在のプロキシ設定とルーティングを記録してください。更新後は、まずこれまで使えていたサーバーに接続し、その後で新機能を確認しましょう。同じテストでクライアント、コア、ルーティング、DNSを同時に変更しないでください。
問題が起きたら、具体的なエラーを手がかりに順番に確認しましょう。起動できない場合は実行環境、コアが設定を拒否する場合は項目の互換性、接続を確立できない場合はサーバー設定を確認します。Webページへのアクセスに問題がある場合は、通信制御とルーティングを調べてください。「ソフトが起動しない」「サーバーに接続できない」「アプリがプロキシを使っていない」を別々の問題として切り分ければ、何度も再インストールせずに原因を追えます。
プロトコルとコアの技術情報を見る →NOTES / RECENT
症状に合った対処手順を確認しましょう。まず基本の接続を完了し、TUNやFakeDNSなどの応用設定はその後に行います。各メモでは、一つの設定上の注意点やトラブルの確認箇所を解説しています。
FakeDNSは予約済みアドレス範囲の仮想IPを先に返し、その後ドメイン名に基づいてルーティングすることで、DNS検索の待ち時間を減らせます。この記事ではTUNと併用する場面や、キャッシュが残るなどの副作用を解説します。
記事を読む →起動時にポート使用中のエラーが出た場合は、netstatまたはlsofで使用中のプロセスを特定します。次にパラメーター設定でローカルの待ち受けポートを変更し、ブラウザーとシステムプロキシのポート設定も合わせて更新してください。
記事を読む →システムプロキシが対象とするのは、その設定に従うアプリだけです。TUNモードは仮想NICを使い、設定に合致する通信を制御します。この記事では両者の違い、管理者権限の要件、有効化の手順、よくある競合を解説します。
記事を読む →