v2rayN · v2rayNG · v2flyNG

V2Ray クライアント
ダウンロードと設定

オープンソースクライアントのダウンロードと設定方法を解説。プラットフォームごとに、サブスクリプションの追加からルーティング設定まで順を追って紹介します。

プロトコル
  • VMess
  • VLESS
  • Trojan
  • Shadowsocks
プラットフォーム

クライアントのダウンロード

OSに合わせてインストール方法を選ぶ

まずOSとCPUアーキテクチャを確認してから、インストーラーを選びましょう。デスクトップではv2rayN、Androidではまずv2rayNGを検討してください。V2Flyの設定が必要な場合はv2flyNGも確認できます。

v2rayNにはデスクトップ版と従来のWPF版があります。デスクトップ版はクロスプラットフォームのUIを採用し、従来版はこれまでの操作に慣れた方に向いています。初めてインストールする場合は、実行環境の説明を確認し、両方を同時にインストールする必要はありません。

管理しやすい場所にアプリと設定を保存し、更新前にはサブスクリプショングループとルーティング設定をバックアップしましょう。起動後、まずサーバーを追加してからシステムプロキシを設定します。

v2rayNはApple Silicon用とIntel用のダウンロードを用意しています。「このMacについて」でチップ情報を確認し、実際のハードウェアに合うものを選びましょう。見た目や購入年だけで判断しないでください。

初回起動時は、システムのアクセス許可に関する表示を確認してください。システムプロキシや仮想ネットワークインターフェースの設定は、OSの権限とクライアントの説明に従って行います。

v2rayNGはXrayコアを使用し、v2flyNGはV2Flyコアをベースにしています。近年の多くのスマートフォンではarm64を選べます。CPUアーキテクチャがわからない場合は、ダウンロードページの汎用版の説明を確認してください。

接続時にはシステムからVPNの許可を求められます。他のVPNアプリが動作している場合は、競合する接続を終了してください。バックグラウンドで接続が切れる場合は、バッテリー最適化の設定も確認しましょう。

v2rayNはディストリビューションのパッケージ形式に合わせてdeb版とrpm版を用意しており、x64とarm64を選べます。ディストリビューションとデバイスのアーキテクチャを確認してから、システムのパッケージ管理画面でインストールしてください。

システムプロキシの扱いはデスクトップ環境によって異なります。アプリがシステムプロキシを使わない場合は、サーバーを何度も変更するのではなく、まずアプリ側のネットワーク設定を確認してください。

すべてのクライアントを見る

設定のポイント

サブスクリプション・ルーティング・ネットワークモード

クライアントは設定を管理し、コアは接続を処理します。この2つの役割を分けて理解すると、問題が起きたときに確認すべき設定を絞り込めます。

サブスクリプションの追加とグループ管理

サブスクリプションはサーバー設定を更新するためのもので、クライアント自体が接続サービスを提供するわけではありません。有効なサブスクリプションURLを入手したら、専用のグループを作成して更新しましょう。サーバーを提供元ごとに整理でき、パラメーターを何度も手入力する必要がなくなります。

  • 提供元ごとにグループを作成。用途がわかる名前を付け、異なる提供元のサーバーが混在しないようにします。更新前に対象のグループを確認しておけば、削除時の影響範囲も判断しやすくなります。
  • 追加後に内容を確認。サブスクリプションURLを保存しただけでは、サーバーはまだ読み込まれていません。更新後に一覧へ項目が追加されたか確認し、選択中のサーバーが追加したグループのものかも確かめましょう。
  • サブスクリプションと共有リンクを区別。個別の共有リンクには通常、サーバー設定が1件含まれます。サブスクリプションURLは複数の設定を取得するためのものです。用途に合った追加方法を選ぶと、形式の認識エラーを減らせます。

ルーティングと接続先の選択

ルーティング設定によって、接続を直接接続にするか、プロキシ経由にするかが決まります。サーバーの選択とは別の設定です。プロキシサーバーを選んでいても、直接接続のルールに一致する通信は直接接続されます。まずルールの評価順を把握し、そのうえで独自のドメインやアドレスのルールを追加しましょう。

  • 具体的なルールを先に設定。特定のドメインやLAN内のアドレスなど、対象が明確なルールは範囲の広いルールと分けて管理しましょう。ルールが重複する場合は、対象ドメインが一覧にあるかだけでなく、評価順を確認してください。
  • 全プロキシモードで切り分け。問題の原因がルーティングルールか確認するには、一時的にすべての通信をプロキシ経由にしてテストできます。テスト後は元のモードに戻し、切り分け結果をそのまま常用設定にしないようにしましょう。
  • ルーティングとDNSをあわせて確認。ドメインの名前解決結果は、IPアドレスを使うルールの判定に影響します。一部のサイトで問題が起きる場合は、ドメインルール、名前解決方法、実行ログを確認し、原因を一つずつ絞り込みましょう。
ルーティングルールの実践ガイド

複数プラットフォームの設定と通信の制御

デスクトップとAndroidで同じ提供元のサーバー情報を使えますが、設定画面、権限、通信を制御する方法は異なります。移行時はプロトコルのパラメーターとルーティングの意図を確認し、一方のプラットフォームの設定フォルダーを丸ごと他方へ上書きしないでください。

  • まずシステムプロキシで確認。デスクトップのブラウザーは、システムプロキシからテストするのが適しています。アプリがシステム設定に従うことが前提のため、端末上のすべてのアプリがプロキシ経由になったとは限りません。
  • 必要な場合にTUNを有効化。TUNは仮想ネットワークインターフェースを使って通信を制御するため、管理者権限、DNS、ルーティングとの競合が生じることがあります。まず基本的な接続を確認してから、制御する範囲を段階的に広げましょう。
  • 端末ごとの設定を個別に管理。ローカルの待ち受けポート、起動時の動作、バッテリー設定は端末の環境に依存します。サブスクリプションを共有する場合も、これらの項目は端末ごとに確認し、環境の問題をサブスクリプションの問題と取り違えないようにしましょう。

問題に合わせて設定手順を確認

サーバー一覧が空の場合は、まずサブスクリプショングループにURLが保存されているか確認し、そのグループを手動で更新してください。更新に失敗した場合は、URLへのアクセス失敗と内容の解析失敗を切り分けます。前者ではネットワーク、URLの有効期限、アクセス権限を確認し、後者ではサブスクリプションの形式とクライアントの対応状況を確認してください。ログのスクリーンショットにサブスクリプションURLをそのまま載せないでください。アクセス情報が含まれている場合があります。一覧が正常に読み込まれたら、サーバーを選んで接続をテストします。更新に成功しても設定を取得できたというだけで、すべてのサーバーに接続できるとは限りません。

サブスクリプションの追加手順を見る

v2rayNの主な設定項目

まず接続先のサーバーを確認し、通信がどのようにコアへ入り、どのルールで接続先が選ばれるかを確認します。

ここでは静的な設定例を示しています。ポート番号は説明用です。項目名、場所、ポート番号は実際のクライアント設定に従ってください。

クイックスタート

設定を追加して接続を確認する

利用可能なサブスクリプションがある場合は、次の手順で初期設定を進められます。クライアントにサーバーは付属しません。サブスクリプションとサーバー情報は各自で用意してください。

  1. サブスクリプションを追加してサーバー一覧を更新

    クライアントをインストールして起動したら、サブスクリプション管理画面でグループを追加し、サブスクリプションURLを保存してからグループを更新します。デスクトップとAndroidではメニュー名が異なる場合がありますが、「提供元を保存する」と「内容を取得する」の2つの操作が必要です。個別の共有リンクを使う場合は、該当するインポート機能を選んでください。追加後はサーバー名、プロトコル、グループが想定どおりか確認し、サブスクリプションURLをサーバーアドレス欄に貼り付けないようにしましょう。

  2. サーバーを選び、通信の制御方法を確認

    一覧から接続先のサーバーを選びます。デスクトップではガイドに沿ってシステムプロキシを有効にし、Androidでは接続開始時にシステムのVPN許可を確認してください。初回テストでは基本のルーティング設定を使い、複数のプロキシアプリを同時に有効にしたり、DNS、TUN、ルーティングルールを一度に変更したりしないでください。異常が起きたときに、サーバー接続、アプリのプロキシ設定、ルールの判定のどこに問題があるかを特定しやすくなります。

  3. 実際にアクセスしてログを確認

    目的のページを開き、読み込みが完了するか確認します。クライアントのアイコン表示が変わったかどうかだけで判断しないでください。一覧の接続テストは特定のテスト先のみを対象としており、すべてのサイトの接続状況を示すものではありません。アクセスできない場合は、ローカルネットワークが使えること、適切なサーバーが選択されていること、システムプロキシが有効なことを確認してから、同じ時間帯の実行ログを確認します。一度に変更する条件を一つにして再テストすると、複数の設定を続けて変更するより原因を特定しやすくなります。

詳しい設定ガイドを見る

オープンソース生態系

Project V、コア、GUIクライアント

「V2Ray」は関連ツール群の総称として使われることがあります。クライアントを選ぶ際は、名称だけで互換性を判断せず、対応プラットフォーム、コア、設定機能を個別に確認しましょう。

Project V

プロキシツールとモジュール型ネットワーク処理のプロジェクト

V2Fly
コミュニティがメンテナンスするV2Rayコアの系統
Xray
V2Rayと歴史的なつながりを持つ独立したコアのフォーク
GUIクライアント
サブスクリプション、ルーティング、ローカル設定を管理

役割を区別するための図です。各プロジェクトが共通のリリース元や管理体制を持つことを示すものではありません。

プロジェクトの背景からコアの役割を理解する

Project Vを中心に、モジュール型プロキシツールのエコシステムが形成されてきました。V2Rayコアは接続を受け付け、プロトコルを処理し、設定に従って通信を適切な接続先へ渡します。V2FlyはコミュニティがメンテナンスするV2Rayの系統を引き継ぎ、Xrayは共通の歴史を持ちながら独立して開発されています。両者には共通する概念や一部の設定形式がありますが、機能の対応状況、フィールドの意味、更新ペースは完全には一致しません。名称が似ていても、設定を自由に使い回せるわけではありません。

クライアントの画面とコアは別の役割

v2rayNはデスクトップ向けで、サーバー管理、サブスクリプションの更新、ルーティング設定などをGUIから操作でき、選択した機能に応じてコアを呼び出します。v2rayNGはAndroid向けで、主にXrayをベースとしています。v2flyNGはV2Flyをベースにしています。いずれもオープンソースソフトウェアで、コードとリリースは各プロジェクトが管理しています。コードが公開されていることと、サブスクリプションの提供元、サーバー運営者、端末の権限を見極めることは別の問題です。

プロトコルは伝送方式とセキュリティ設定も含めて確認

VMess、VLESS、Trojan、Shadowsocksは一般的なプロトコル名です。WebSocketやgRPCなどは伝送方式に関する設定で、TLSとREALITYはそれぞれ異なるセキュリティ設定です。プロトコル名が同じでも、設定が正常に動作するとは限りません。クライアントがサブスクリプションの形式を認識できることに加え、使用するコアが設定内の機能に対応している必要があります。証明書名や伝送パスなどのパラメーターもサーバー側と一致させてください。

オープンソースライセンスと更新の意味

クライアントと依存するコアには、それぞれ異なるオープンソースライセンスが適用されている場合があります。コードの閲覧、変更、再配布については各プロジェクトに同梱されたライセンス文書を確認し、エコシステム全体が同じ条件で公開されていると考えないでください。クライアント、コア、サブスクリプションの更新もそれぞれ別の操作です。サブスクリプションを更新しても、新たに追加されたプロトコル機能が自動で使えるようになるわけではありません。

クライアントを更新する前に、グループ、ルーティングルール、必要なローカル設定を保存し、実行環境と設定の互換性に関する説明を確認しましょう。特定のサイトだけに問題がある場合は、ルールと名前解決の挙動を優先して調べます。ログに認識できない設定フィールドが明記されている場合は、コアの対応状況を確認してください。問題が起きている層に合わせて対処すると、更新だけを追い続けるより再現性のある解決につながります。

詳細設定ガイド:サブスクリプション管理、DNS、TUN

技術ノート

クライアントのインストールとコアの選び方

以下の3つの記事では、コアの互換性、初回インストール、プロジェクト間の関係をそれぞれ解説します。基本的な接続を確立した後にお読みください。

記事一覧を見る