CLIENT / CONFIG / ROUTING

V2Rayプロキシクライアント v2rayNのダウンロードと設定

オープンソースクライアント、サブスクリプションの追加、ルーティング設定を中心に、各OS向けの導入方法やコアの選択、設定項目を解説します。

NET
{VMess} {VLESS} {Trojan} {Shadowsocks}

01 / CLIENT SHELF

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

まずOSとCPUアーキテクチャを確認してから、インストーラーを選びましょう。デスクトップではv2rayNを使用します。Androidではv2rayNGを基本に、V2Flyコアが必要な場合はv2flyNGも比較してください。インストーラーの選択と接続パラメーターの確認は別の作業です。クライアントを導入した後、利用可能な設定をインポートする必要があります。

Windows

v2rayN / Desktop · WPF

デスクトップ版にはクロスプラットフォームのUIがあり、WPF版では従来のデスクトップ操作を利用できます。ダウンロード前にパッケージの種類を確認してください。2つのダウンロード先は、異なるプロトコルを提供するものではありません。すでに設定済みの場合は、移行前にサブスクリプショングループ、ルーティング設定、ローカルの待ち受けポートを控えておきましょう。

初めて使う場合は、設定を1つインポートして接続先を選び、システムプロキシを設定します。ブラウザーだけ接続でき、ほかのアプリが接続できない場合は、サーバーを次々に切り替えるのではなく、アプリがシステムプロキシを参照しているか確認してください。画面やメニューはバージョンによって異なる場合があります。操作時は現在のメニュー名を確認しましょう。

ダウンロードへ Windows クライアント

macOS

v2rayN / Apple Silicon · Intel

「このMacについて」でチップ情報を確認します。Apple SiliconとIntelでは対応するインストーラーが異なるため、ファイルの拡張子だけで判断しないでください。アプリを「アプリケーション」フォルダに移動してから、システムの起動確認やネットワーク許可の案内に従いましょう。一時フォルダから何度も起動するのは避けてください。

システムプロキシと、通信を引き受けるための権限は別々に確認します。アップデート後に接続動作が変わった場合は、まずクライアントでコアが起動しているかを確認し、次にシステムプロキシの接続先が現在の待ち受けポートか確認してください。開発元に関する警告が表示された場合は、システム設定のセキュリティ案内に従いましょう。アプリを起動するためにシステムのセキュリティ機能全体を無効にすることはおすすめしません。

ダウンロードへ macOS クライアント

Android

v2rayNG / v2flyNG

v2rayNGは主にXrayコアを使用し、v2flyNGではV2Flyコアを選べます。名前は似ていますが、対応するプロトコル項目が同じとは限りません。選択前に、設定にREALITY、特定のトランスポート方式、その他コア固有のパラメーターが含まれているか確認してください。

端末のアーキテクチャに合わせてarm64または汎用パッケージを選び、インストール後にサブスクリプションを追加して、システムのVPN接続許可を確認します。この許可はアプリが端末の通信を処理するためのもので、リモートサービスが付属するという意味ではありません。バックグラウンドに移動すると接続が切れる場合は、バッテリー最適化、バックグラウンド動作の制限、ほかのVPNアプリとの競合を確認してください。

ダウンロードへ Android クライアント

Linux

v2rayN / deb · rpm

まずディストリビューションのパッケージ形式を確認し、x64とarm64を区別してください。debとrpmはインストールパッケージの形式であり、接続プロトコルではありません。形式の選択ミスは通常、ルーティングではなくインストール時に起こります。GUI環境のプロキシ設定はデスクトップ環境の影響を受ける場合があり、すべてのアプリが自動で設定を引き継ぐとは限りません。

インストール後、ローカルの待ち受けポートとコアの動作状態を確認してから、ブラウザーまたはデスクトップ環境のシステムプロキシを設定します。ターミナルのプログラムでは、個別にプロキシパラメーターを指定する必要がある場合があります。特定のプログラムだけ接続できない場合は、まずそのプログラムのプロキシ設定を確認してください。より広い範囲の通信を処理したい場合は、使用中のクライアントが対応するTUN機能と必要な権限を確認しましょう。

ダウンロードへ Linux クライアント

02 / CONFIG INSPECTOR

サブスクリプション・ルーティングとコア設定

クライアントは画面上の設定を管理し、コアは接続とルーティングを実行します。ここでは2つの設定層を分けて説明します。サブスクリプショングループはクライアントが管理するデータです。インバウンド、アウトバウンド、ルーティング、DNSは、コア設定でよく使われる項目です。コードは一部の例であり、実行中の設定ファイル全体をそのまま置き換えるものではありません。

config.json / outbounds 抜粋

サブスクリプションは接続設定をまとめて取得するためのもので、グループはクライアント上で取得元を区別するために使います。まずグループを作成し、サブスクリプションURLを入力して更新します。取得した内容を現在のクライアントで解析できるか確認してください。更新後は、リストに項目が表示されたかだけでなく、ノード名、プロトコル、トランスポートの各項目も確認しましょう。グループ名と自動更新間隔はクライアントの設定であり、共通のコア設定項目ではありません。下の例はインポート後に生成される可能性があるアウトバウンド設定です。リモート接続に必要な認証情報は含まれていないため、この例だけではプロキシ接続できません。複数の取得元を整理する場合は、フィルターを設定し、元のグループも残しておきましょう。

{
  "outbounds": [
    { "tag": "direct", "protocol": "freedom" },
    { "tag": "block", "protocol": "blackhole" }
  ]
}

03 / OPEN-SOURCE ECOSYSTEM

Project V・V2Fly・Xray

クライアント、コア、プロトコル、リモートサービスは、それぞれ異なる階層にあります。この違いを理解すると、同じサブスクリプションでもアプリによって動作が異なる理由を把握しやすくなります。また、権限、名前解決、サーバー設定の問題を混同せずに調べられます。

ORIGIN / PROJECT V

エコシステムと実行コア

Project Vは、V2Rayエコシステムを理解するための出発点です。V2Rayでは、インバウンド、アウトバウンド、トランスポート、ルーティング、名前解決を組み合わせてプロキシ機能を構成します。設定ファイルはこれらのモジュールをつなぎます。一般に「V2Rayクライアント」と呼ばれるものは、こうした機能を管理するGUIアプリを指すことが多く、特定のコアを意味するとは限りません。クライアントをダウンロードする前に、管理画面を選んでいるのか、接続を実行するプログラムを選んでいるのかを確認しましょう。

V2FlyはV2Rayのコミュニティ開発を引き継いでいます。一方、Xrayは別のコアとして分岐し、独自のプロトコルやトランスポート拡張を開発しています。共通の背景があり、基本的な設定概念にも共通点はありますが、すべての項目に互換性があるわけではありません。設定を比較する際は、項目名だけでなく、どのコア向けの例なのか、クライアントが実際に呼び出すコアと一致しているかも確認してください。

CLIENT / THREE APPLICATIONS

3つのオープンソースクライアントの役割

v2rayNはデスクトップ向けで、サブスクリプション管理、接続先の選択、ルーティング編集、ローカルプロキシの設定などを行います。クロスプラットフォームのUIにより、デスクトップ間で似た操作方法を利用できますが、OSの権限、インストール方法、システムプロキシの仕組みには違いがあります。別の端末へ移行する場合は、必要な設定を移してから待ち受けポートと通信の処理モードを確認してください。移行先に以前の端末の環境設定をすべてそのまま適用するのは避けましょう。

v2rayNGとv2flyNGはAndroid向けで、一般的にはそれぞれXrayとV2Flyのコアを利用します。どちらもオープンソースのクライアントです。主な違いは、コアの機能、認識できる設定項目、アプリの設定から確認してください。サブスクリプションをインポートできても、すべての接続が動作するとは限りません。名前解決の成功後に、プロトコル、安全性に関わる設定、トランスポートパラメーター、OSの許可も確認しましょう。同じ接続情報をデスクトップとスマートフォンで使う場合も、それぞれで動作確認が必要です。

LICENSE / SOURCE CODE

オープンソースライセンスと利用上の注意

V2FlyコアはMITライセンス、Xray-coreはMPL-2.0ライセンスです。クライアント、コア、付属コンポーネントには、それぞれ適用されるライセンスがあるため、個別に確認してください。オープンソースの説明は、コードの使用や再配布に関する条件を示すもので、リモートサービスの料金を示すものではありません。また、すべてのネットワーク環境で同じように動作することを保証するものでもありません。クライアントは無料で利用できますが、接続に必要なサーバーやサブスクリプションは各自で用意してください。

オープンソースエコシステムの利点は、実装について議論・検証し、改善できることです。問題が起きた際も、具体的なモジュールに絞って調べられます。ただし、コードが公開されていても、設定の入手元、ネットワーク権限、データの処理経路を利用者自身が確認する必要があります。設定をインポートする前に、サーバーの提供元を確認してください。トラブル情報を共有するときは、サブスクリプションURL、識別情報、認証パラメーターを削除し、再現に必要な設定項目の構造だけを残しましょう。

UPDATE / COMPATIBILITY

アプリの更新と設定の移行

クライアント、コア、サブスクリプションの更新では、それぞれ異なる内容が変わります。クライアントの更新では、画面、設定の生成方法、OSとの連携が変更される場合があります。コアの更新では、プロトコル対応や設定項目の処理が変わることがあります。サブスクリプションの更新で主に置き換わるのは、リモート接続情報です。動作に変化があった場合は、まずどの層に変更があったかを記録し、ログの確認、設定の復元、サブスクリプションの再インポートのいずれかを選びましょう。複数の操作を同時に行うと、原因を特定しにくくなります。

アップデート前に、復元可能なクライアント設定とカスタムルールを保存してください。更新後は、以前使えていた接続を1つテストしましょう。基本的な通信を確認してから、ルーティング、名前解決、LAN内共有を確認します。画面に「実行中」と表示されるだけでは、動作確認として不十分です。コアの起動成功はプロセスが動作していることを示すにすぎません。リクエストが想定したアウトバウンドを通っているか、アプリのプロキシ設定とログのルーティング結果も確認してください。

READING / CONFIGURATION PATH

接続パラメーターからルーティングルールまで

初回設定は、次の順番で進めるのがおすすめです。まずリモートアドレス、ポート、認証パラメーターを確認し、次にプロトコル、トランスポート、安全性に関わる設定を照合します。その後、ローカルのインバウンドを起動して接続先を1つ選び、テストしてください。基本の接続経路が動作してから、複雑なルーティングを追加します。こうすることで、接続自体の失敗と、ルールによる誤ったアウトバウンドへの転送を区別できます。DNSの誤った結果をプロトコルの非互換性と誤認することも防げます。

JSONを読むときは、まずインバウンドとアウトバウンドのタグを探し、ルーティングルールがそれらをどう関連付けているか確認します。ルール内のドメインやアドレスのリストは、外部データファイルに依存する場合があります。ファイルの欠落とルールの記述ミスは、別々の問題です。項目を1つずつ確認する場合は設定ガイド一覧をご覧ください。初回のインポートと接続だけであれば、クイックスタートに沿って進めれば十分です。最初からすべての高度な機能を有効にする必要はありません。

設定前によくある4つの質問

サブスクリプションと単体の接続設定はどう違いますか?
サブスクリプションは、更新可能な接続設定をまとめて取得するためのものです。共有リンクは、1つの接続設定を表します。インポート後は、まず取得元のグループを確認してから使用する項目を選びましょう。更新時に手動で追加した設定と混同するのを防げます。よくある質問を見る →
VMess、VLESS、REALITYは同じ階層の設定ですか?
VMessとVLESSはプロキシプロトコル、REALITYはセキュアなトランスポートに関連する技術です。名前だけでクライアントを選ぶのではなく、プロトコル、トランスポート方式、安全性に関わるパラメーターの組み合わせを確認してください。用語集を見る →
システムプロキシを有効にしても、一部のアプリが直接接続するのはなぜですか?
システムプロキシを参照しないアプリもあり、その場合はアプリ側でプロキシを設定するか、別の通信処理方法を使う必要があります。まずアプリのリクエストがローカルの待ち受けポートに届いているか確認し、その後アウトバウンドとルーティングを調べてください。スイッチが有効かどうかだけで、すべての通信経路を判断することはできません。接続確認の手順を見る →
コアが起動しない場合、まず何を確認すればよいですか?
まず最初に表示された明確なエラーを読み、JSONの構文エラー、ポートの競合、未知の項目、データファイルの欠落を切り分けます。ログに続いて表示される接続エラーは、起動失敗の結果である可能性があります。最初に発生した原因から調べてください。トラブル対処ガイドを見る →

04 / FIELD NOTES

クライアント設定ガイド

利用シーンに合わせて設定方法を解説します。変更前に、問題が待ち受け、権限、設定の生成、リモート接続のどれに関係するかを特定し、該当する記事を確認してください。記事の例は設定項目の関係を説明するもので、実際のパラメーターは利用環境に合わせる必要があります。