デスクトップクライアント · JSON設定ガイド

V2Ray デスクトップ版v2rayN クライアントのダウンロード


オープンソースクライアントの入手先、サブスクリプションのインポート手順、ルーティング設定の項目を解説。まずOSを選び、コアと設定形式を確認しましょう。

  • プロトコル
  • VMess
  • VLESS
  • Trojan
  • Shadowsocks

01 / CLIENTS

OSに合わせてV2Rayクライアントを選ぶ

デスクトップではv2rayN、Androidではv2rayNGをまず確認しましょう。インストーラーのCPUアーキテクチャ、画面の種類、コアの対応状況はそれぞれ別に確認してください。

クライアントはサーバー情報の保存、サブスクリプションの更新、実行用設定の生成を担当します。コアはプロトコルのハンドシェイク、ルーティングの照合、接続処理を行います。インストール後は、サービス提供元から取得した有効な接続情報をインポートする必要があります。ソフトウェア自体に利用可能なサーバーは含まれず、サブスクリプションURLもインストーラーではありません。初めて使うときは既定の待ち受け設定を維持し、利用可能な設定で接続を確認してから、ルーティングやDNSを一つずつ調整すると変更の影響を特定しやすくなります。

Windows

v2rayN · まずはこちら

ダウンロードページにはDesktop版と従来のWPF版があります。Desktopはクロスプラットフォームの画面を採用し、WPFは従来のデスクトップ操作を引き継いでいます。どちらも実際に使うコアとサーバー情報に合わせて利用してください。画面の違いがプロトコル対応の完全な一致を意味するわけではありません。まずOSのアーキテクチャを確認し、用途に合った方法でインストールしましょう。ファイルサイズだけで用途を判断しないでください。

インストールして起動したら、サブスクリプションまたは個別の共有リンクをインポートし、サーバーを選んでからシステムプロキシを有効にします。ブラウザーは通常システムプロキシを参照しますが、コマンドラインツール、ゲーム、一部のバックグラウンドアプリは独自のネットワーク設定を使うことがあります。ブラウザーは接続できても別のアプリが接続できない場合は、サーバーを何度も切り替える前に、そのアプリがシステムプロキシに従うか確認しましょう。ポートの競合、コアの実行状態、プロキシモードはログと設定の両方で確認できます。

macOS

v2rayN · デスクトップ版

まず「このMacについて」でチップを確認します。Apple Siliconはarm64、Intelはx64に対応します。ダウンロードページでは、それぞれのインストーラーを選べます。クライアント画面とシステムのネットワーク設定は別の層です。メインウィンドウが開いても、アプリが起動したことしか確認できません。コアが正常に動作しているか、ローカルの待ち受けポートが開いているか、使用するアプリが適切なプロキシ入口を参照しているかも確認してください。

既存の設定をインポートするときは、トランスポート方式、サーバー名、証明書関連のオプションが維持されているか確認しましょう。接続エラーを回避するために、証明書の検証をむやみに無効化しないでください。システムプロキシを使う前に、元のネットワーク設定を記録しておくと安心です。ネットワークの切り替え、クライアントの終了、待ち受けポートの変更後もアプリが古いアドレスに接続する場合は、システムプロキシの状態も確認してください。仮想ネットワークインターフェースを使う機能は、クライアントの実装、OSの権限、選択したコアにも依存します。メニュー名が似ているからといって、別のOSの手順をそのまま適用しないでください。

Android

v2rayNG · まずはこちら

v2rayNGはXrayコアを使用し、v2flyNGはV2Flyコアを使う代替クライアントです。最近のスマートフォンの多くはarm64版に対応しています。端末のアーキテクチャがわからない場合は、ダウンロードページにある汎用版の入手先と選び方を確認してください。2つのアプリはコアの系統が異なるため、同じリンクをインポートしても、プロトコルやトランスポートの各オプションに対応しているか確認が必要です。一方の設定項目をすべてもう一方にそのまま適用しないでください。

初回接続時には、AndroidがVPN接続の許可を求めます。これはアプリの通信をプロキシ経由にするための入口です。接続状態になった後も、実際の接続先へのリクエストと実行ログで結果を確認しましょう。アプリごとのルール、バッテリー制限、バックグラウンド動作の許可は使用状況に影響します。画面オフ後に切断される場合は、まずバックグラウンド実行が制限されていないか確認してください。サブスクリプションの更新失敗と接続失敗は分けて調べます。前者はURL、応答形式、更新時の通信経路、後者はサーバー情報、ハンドシェイク、ルーティングを確認します。調べる順序は異なります。

Linux

v2rayN · deb / rpm

ディストリビューションのパッケージ形式に合わせてdebまたはrpmを選び、CPUアーキテクチャがx64かarm64かも確認してください。ダウンロードページでは、一般的なデスクトップ向けとarm64向けの入手先を分けて掲載しています。パッケージ形式でプロトコル対応が決まるわけではなく、実際に使える設定項目は実行するコアによって異なります。インストール後に画面が正常に開かない場合は、まずOSの依存関係や実行環境に関するメッセージを読み、次にデスクトップセッションと権限を確認してください。

デスクトップ環境のシステムプロキシ設定が、すべてのプロセスに自動で適用されるわけではありません。ターミナルのプログラムは環境変数を参照する場合もあれば、SOCKSまたはHTTPプロキシを個別に指定する必要がある場合もあります。アプリ側のプロトコル設定は、ローカルの待ち受けと一致させてください。トラブル対処では、まずコアのログに起動エラーがないことを確認し、次に待ち受けアドレスとポートを調べ、最後に接続先へのリクエストを試します。TUNが必要な場合は、仮想インターフェース、ルーティングテーブル、DNSの連携を理解し、既存のネットワーク設定を記録してください。複数のネットワーク管理画面を同時に変更すると、原因の切り分けが難しくなります。

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

02 / CONFIGURATION

ダウンロード後:クライアントの主な設定項目

まずインバウンドとアウトバウンドを区別し、次にルールが経路をどう選ぶか確認します。サブスクリプションとTUNはクライアントの機能であり、同名のV2Rayトップレベル項目ではありません。

以下の例は設定構造を理解するためのもので、すべての設定を置き換えられる完全なファイルではありません。クライアントが生成する実行用設定は、コアや画面上の選択によって変わることがあります。変更前に元の設定を保存し、表示中のものが永続設定なのか、一時的に生成されたファイルなのか確認してください。一時ファイルを直接編集しても、次回起動時やサーバー切り替え時に内容が再生成されることがあります。長期的に維持したいルールは、クライアントの設定画面またはカスタム設定から管理してください。

inbounds:アプリが接続するローカルの入口

インバウンドでは、接続を受け付けるアドレスとポート、および使用するプロキシプロトコルを指定します。この例はローカルのループバックアドレスだけで待ち受けるため、アプリは対応するSOCKSポートに接続します。ポートを変更したら、プロキシを手動設定しているアプリも合わせて変更してください。システムプロキシの入口はクライアントが設定に応じて管理します。待ち受けアドレスをすべてのインターフェースに変更すると、アクセス可能な範囲が広がります。LAN内で共有する設定を初期値にしないでください。ルーティングルールとは異なり、インバウンドが決めるのは「接続をどうコアに渡すか」であり、最終的にどのサーバーを経由するかではありません。

JSON設定ガイドを見る →
{  "inbounds": [{    "tag": "socks-in",    "listen": "127.0.0.1",    "port": 10808,    "protocol": "socks"  }]}
  • 設定を試す前にログを確認

    まず起動エラーを確認し、次に接続エラーを調べます。ポートの競合、未対応の項目、ハンドシェイクの失敗は、それぞれ別の段階で発生します。一時的にログの詳細度を上げた場合は、原因を特定したら適切なレベルに戻してください。共有する前にサーバーアドレスとアクセス情報を削除しましょう。

  • 一度に変更する設定レイヤーは一つだけ

    サブスクリプションの更新、コアの起動、システムプロキシ、接続先へのリクエストを個別に確認します。動作する基準設定を残し、変更内容を記録してください。結果がおかしいときは、プロトコル、DNS、ルーティングをまとめて変更するより、直前の変更だけを戻すほうが再現性のある結論にたどり着きやすくなります。

03 / PROJECT V · V2FLY · XRAY

V2Rayエコシステム:クライアントとコアの役割

オープンソースはコードとライセンスの公開方法を示すものです。プロトコル対応、設定の互換性、接続結果はそれぞれ個別に確認してください。

「V2Rayクライアント」はGUIツールの総称として使われることがありますが、画面を表示するプログラム、接続を処理するコア、サーバーはそれぞれ別のコンポーネントです。画面側は選択内容を設定に変換し、コアはその設定に従って通信を処理します。サーバー側にも互換性のある設定が必要です。この流れを理解すると、ダウンロード、設定、トラブル対処の確認先を分けられ、あらゆる問題をクライアント自体のせいにせずに済みます。

Project V

プロジェクト名から設定体系へ

Project Vはネットワークプロキシ機能を中心に発展したオープンソースプロジェクト群で、V2Rayはその中でも広く使われているコア実装です。インバウンド、アウトバウンド、ルーティング、DNSなどの設定概念は、エコシステムのツールを理解するための共通語になっています。これらは通信処理の流れを示すもので、特定のサービス事業者を指すわけでも、そのまま使えるサブスクリプションと同じものでもありません。このガイドでは、画面上の項目と設定の意味を結び付けられるよう、これらの構造に沿って解説しています。

接続の流れに沿って読むと理解しやすくなります。まずアプリからローカルのインバウンドへ接続し、コアが接続先の情報を取得します。ルーティングルールがアウトバウンドを選び、そこからリモートへ接続します。DNSは接続先の解決やルール判定に関わり、ログには実行結果が記録されます。すべての設定項目を一つずつ暗記するより、この順序を押さえるほうが実用的です。また、「ローカルポートが開いている」だけではリモートとのハンドシェイク成功を確認できない理由も説明できます。

V2Fly / Xray

共通概念があっても設定項目の互換性は保証されない

V2FlyコミュニティはV2Rayの開発を引き継ぎ、Xrayは関連コードを基盤に分岐して、独自の機能とリリース方針を持つようになりました。設定概念には共通点が多い一方、新しいプロトコル機能、トランスポートのオプション、既定の動作、項目の制約は異なる場合があります。REALITYやXTLSなどの機能を使うときは、利用するコアが実際に対応しているか確認してください。ファイル名がどちらもconfig.jsonというだけで、設定を互換利用できるとは限りません。

クライアントに表示されるプロトコル名は確認の第一歩にすぎません。トランスポート方式、TLSの設定、サーバー名、サーバー側の要件も照合してください。別のコア系統に存在する項目でも、現在のコアが受け付けるとは限りません。設定の読み込みに失敗した場合は、まずログに示された項目と階層を確認します。読み込めても接続できない場合は、双方の設定とネットワーク経路を調べ、構文エラーとハンドシェイクエラーを混同しないようにしましょう。

コアの違いを確認する →
v2rayN / v2rayNG / v2flyNG

3つのオープンソースクライアント、それぞれ異なる画面

v2rayNはデスクトップ向けで、サーバー一覧、サブスクリプショングループ、システムプロキシ、設定管理の機能を備えています。v2rayNGはAndroid向けでXrayコアを使用し、v2flyNGはV2FlyベースのAndroid向けクライアントです。いずれもオープンソースですが、同じプログラムの別スキンではありません。メニューの場所、既定値、インポートできる形式、コアの管理方法は、それぞれのクライアントに合わせて確認してください。

GUIクライアントを使えば、JSONを直接入力する手間は減りますが、サーバーが要求する認証やトランスポートの条件は変わりません。共有リンクをコピーするときは、内容をすべて保持してください。インポート後もプロトコル、アドレス、ポート、トランスポートの設定を確認します。クライアントを切り替える前に、必要な情報をエクスポートしておくと安心です。画面上の既定値をサーバー指定の値と取り違えないようにしましょう。デスクトップとAndroidの間で移行する場合は、システムプロキシとVPNによる通信の取り込み方の違いも確認してください。

LICENSE / SOURCE

ライセンスはコンポーネントごとに確認

オープンソースライセンスは、コードの使用、改変、再配布に関する条件を定めます。クライアント、コア、すべての依存コンポーネントを一つのライセンス名でまとめることはできません。V2RayコアはMITライセンス、XrayコアはMPL 2.0ライセンスです。GUIクライアントや同梱コンポーネントにもそれぞれライセンスがあります。再配布やコードの改変を行う場合は、該当する条件を個別に確認し、必要な表示を残してください。「無料で使える」ことは、条件が一切ないことを意味しません。

ソースコードが公開されていれば、実装を読んで議論できます。しかし、サブスクリプションの入手元、サーバーの動作、端末の設定まで確認できるわけではありません。使用時にはサブスクリプションURLや認証情報を保護し、信頼できる設定だけをインポートしたうえで、スクリプト、証明書、ネットワーク権限の役割を理解してください。このサイトではダウンロード先と設定ガイドをまとめていますが、各コンポーネントのライセンスに代わるものではなく、オープンソースであることを接続結果の保証とするものでもありません。

UPDATE / BACKUP

ソフトウェアの更新とサブスクリプションの更新は別

ソフトウェアの更新ではクライアントや付属コアが変わり、サブスクリプションの更新ではサーバー一覧やグループ情報が変わります。前者は画面の項目、既定値、設定の互換性に影響することがあり、後者はアドレスや接続情報を置き換えることがあります。更新後に問題が起きたら、まずどの層を更新したか記録し、更新前後の差を比較してください。サブスクリプションを取得し直しても、ローカルポートの競合は解決せず、未対応機能がコアに追加されるわけでもありません。

更新前にクライアント設定と必要なカスタムルールを保存し、更新後は以前に使えた個別の設定で接続を確認してください。コアが起動し、基本的な接続ができたら、ルーティング、DNS、TUNなどの組み合わせを試します。クライアントとコアのリリース時期は一致するとは限りません。コアを変更するかどうかは、組み合わせの互換性と実際に必要な機能で判断しましょう。互換性がわからないまま、すべてのコンポーネントを置き換えないでください。

インポートと接続の手順を見る →
DIAGNOSIS / REFERENCE

接続できないときは失敗した段階を特定

まずサブスクリプションを取得できるか確認し、サーバー情報が正しく解析されたかを調べます。次にコアが起動するか、ローカルの待ち受けが確立するかを確認し、最後に接続先へのリクエストを試します。一部のドメインだけ接続できない場合は、名前解決の結果とルーティングの適用先を確認してください。すべてのリクエストが失敗する場合は、選択中のサーバーとハンドシェイクのログを優先して調べます。レイテンシーテストと実際のアプリ通信は同じではありません。テスト結果は特定の方法による一度の測定にすぎず、接続全体の確認に代わるものではありません。

問題を報告するときは、エラー文、操作手順、プロキシモード、使用中のコア名を残し、サブスクリプションURL、認証情報、特定につながるサーバー情報は削除してください。用語がわからない場合は、まずインバウンド、アウトバウンド、サブスクリプション、ルーティングの定義を確認し、実際の設定と照らし合わせましょう。再現に必要な情報がそろいやすくなり、「ブラウザーがプロキシ設定を参照していない」問題を「プロトコル非対応」と誤認することも減らせます。JSONの例を統合する前に、括弧、カンマ、配列の階層、アウトバウンドの参照先も確認してください。

設定と接続に関する用語を見る →

04 / NOTES

応用設定とコアのリファレンス

ノード選びから通信の取り込みまで、目的に合わせて解説します。

初回接続ができたら、より細かな設定に進みましょう。ノード選びでは測定方法とサーバーの条件、コア選びでは機能の対応状況、TUNではアプリの通信を処理経路に取り込む方法を確認します。以下の記事は公開日の新しい順です。現在の問題に関係する層から読み、特定のアプリのプロキシ設定を直すためにルーティング全体を変更することは避けましょう。

v2rayNのTUNモード設定ガイド:仮想ネットワークインターフェースで全通信を取り込む仕組みと手順

システムプロキシが適用されるのは、プロキシ設定に従うプログラムだけです。TUNモードでは仮想ネットワークインターフェースを使い、通信を取り込む範囲を広げます。この記事では管理者権限、設定手順、ルーティングとの連携を解説し、「コアに取り込むこと」と「最終的にプロキシ経由にすること」の違いを整理します。LANやDNSに関する問題の確認にも役立ちます。

記事を読む →

V2Rayのノード選び:レイテンシー、通信量倍率、地域、トランスポートの比較ポイント

レイテンシーが低くても、すべてのリクエストが速くなるとは限りません。実接続による速度測定とTCPingの違い、通信量倍率や地域の選び方を解説します。VLESS、VMess、Trojanの設定条件も踏まえ、測定結果だけでなく実際のアプリでの動作を確認する方法を紹介します。

記事を読む →

すべての記事を見る →