Project V エコシステム · クライアントと設定

V2Fly公式サイトクライアントと設定

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

  • VMess
  • VLESS
  • Trojan
  • REALITY

設定メニュー

サブスクリプション・ルーティング・
プロキシモードをまとめて設定

サブスクリプションのグループ分けとキーワード検索

複数のサブスクリプションは、グループ分けしてから更新しましょう。v2rayNのサブスクリプショングループ設定で名前とURLを登録し、保存後に更新します。キーワード検索はサーバー名の整理に使うもので、配信元の設定を書き換えるものではありません。仕事用とテスト用を分けておけば、サブスクリプションURLを変更しても配信元を把握しやすくなります。共有リンクを1件ずつ貼り付ける方法とは異なり、サブスクリプションならサーバーの変更を継続して同期できます。更新後に一覧が空の場合は、まず検索条件をクリアし、URLが有効か確認してください。クライアントを何度も再インストールする必要はありません。

グループ分けと検索方法を見る →
サブスクリプショングループ設定
名前仕事用
キーワードで絞り込みサーバー名で検索
保存してから更新サブスクリプションを更新

インストーラーの選び方

プラットフォームに合ったクライアントを探す

まずOSとプロセッサーのアーキテクチャを確認し、インターフェースやコアを選びましょう。ダウンロードページから対応するファイルを入手できます。

クライアント一覧を見る →

Windows

まずはv2rayNがおすすめ

デスクトップ版はクロスプラットフォームのAvaloniaインターフェースを採用し、従来のWPF版では異なるレイアウトを利用できます。初めて使う場合はデスクトップ版から始めるとよいでしょう。WPF版に慣れている場合は、両者の違いを確認してから移行を検討してください。パッケージを選ぶ際は、ファイル名にあるクライアント名だけで判断せず、OS要件とプロセッサーのアーキテクチャも確認します。

インストール後、サブスクリプショングループ設定でURLを保存して更新し、サーバーを選択します。システムプロキシの自動設定を有効にして、ブラウザーで接続をテストしてください。コアが起動しない場合は、ログでポートの競合や設定エラーを確認します。TUNには追加の権限が必要になるため、通常のプロキシ接続が正常に動作してから個別に有効化してください。

macOS

v2rayN

Apple Silicon搭載デバイスではarm64、Intel搭載デバイスではx64を選びます。Appleメニューの「このMacについて」でチップまたはプロセッサーを確認できます。ディスクイメージをダウンロードし、案内に従ってアプリケーションフォルダーにインストールしてください。一時的にマウントした場所から使い続けず、インストール先から起動しましょう。

初回起動時にシステムのセキュリティ警告が表示されたら、まずアプリの入手元を確認し、システム設定にある許可方法を使ってください。起動するためにシステム保護全体を無効にするのは避けましょう。サブスクリプションを設定したら、システムプロキシとDNSの動作をそれぞれ確認します。終了後もブラウザーが接続できない場合は、ネットワーク設定にローカルプロキシのアドレスが残っていないか確認し、クライアントを再起動して待ち受け状態を確認してください。

Android

まずはv2rayNGがおすすめ

まずはXrayコアを採用したv2rayNGを選びましょう。v2flyコアが必要な場合は、v2flyNGの選択肢も確認してください。比較的新しいスマートフォンの多くはarm64に対応しています。アーキテクチャが不明な場合は、まず端末情報を確認しましょう。汎用パッケージは対応アーキテクチャの範囲が広いもので、接続性能が高いことを意味するわけではありません。

サブスクリプション設定に名前とURLを追加し、メイン画面に戻って更新したら、サーバーを選んで接続します。システムに表示されるVPN接続の許可は、端末内の通信経路を確立するためのもので、サブスクリプションが利用可能であることを示すものではありません。画面ロック後に切断される場合は、バッテリー最適化とバックグラウンド動作の権限を確認してください。アプリごとに通信を振り分ける場合は、対象アプリがプロキシ経由のリストと除外リストのどちらに入るかを明確にし、設定の向きを取り違えないようにします。

Linux

v2rayN

ディストリビューションのパッケージ形式に合わせてdebまたはrpmを選び、さらにx64とarm64を確認します。DebianやUbuntu系では通常deb、Fedoraなどでは通常rpmを使用します。ダウンロードページにアーキテクチャ別のリンクがあります。インストール時はパッケージ管理ツールの依存関係に関する案内を確認し、異なるアーキテクチャのパッケージを混在させないでください。

デスクトップ環境によってシステムプロキシの扱いは異なり、コマンドラインのプログラムがデスクトップのプロキシ設定を参照するとは限りません。まずクライアントがローカルで待ち受けていることを確認し、使用するアプリでプロキシアドレスを指定してください。TUNを使う場合は権限とルーティングの変更を確認します。デスクトップセッション全体を高い権限で実行し続けるのは避けましょう。接続できない場合は、アプリがプロキシを使っていないのか、コアからアウトバウンドへの接続に失敗しているのかを切り分けてから、変更する設定箇所を判断します。

コアとオープンソースのエコシステム

クライアント・コア・プロトコル

3つの層を分けて考えましょう。インターフェースは設定を管理し、コアは設定を実行し、プロトコルは通信する両者の方式を定めます。

Project VV2FlyXray

Project VとV2Flyの関係

Project Vは、ネットワークプロキシツールを中心とするオープンソースプロジェクトのエコシステムです。V2Rayはその中核ソフトウェアの一つです。V2Flyコミュニティは、V2Ray関連コアの開発とドキュメント整備を引き継いでいます。日常の会話では「V2Ray」が関連クライアント全般を指すこともありますが、デスクトップにインストールするv2rayNはコアそのものではありません。名称の違いを把握すれば、ガイドにある「クライアントの更新」と「コアの変更」がそれぞれ何を変えるのか理解しやすくなります。

グラフィカルクライアントは通常、サブスクリプション、サーバー一覧、ルーティングテンプレート、システム設定を管理し、整理した設定をコアに渡して実行します。そのため、インターフェースに項目が表示されているだけでは、現在のコアがその機能に対応しているとは限りません。実際に利用するには、選択したコア、サーバー側の要件、クライアントが生成する設定を確認する必要があります。問題を調べる際は、まずこの3点を記録しておくと、ソフトウェア一式を入れ替えるより的確に原因を絞り込めます。

XrayとV2Flyの対応機能は同じではありません

Xrayは、関連するコードを基盤に発展した別系統のコアです。両系統には共通する概念もありますが、それぞれ独自に進化しています。VMess、VLESS、トランスポート層、セキュリティ層は個別に理解する必要があります。REALITYはセキュリティ関連技術であり、あらゆるプロキシプロトコルと並ぶ独立したサーバー種別と単純に捉えることはできません。設定が使えるかどうかは具体的な組み合わせで決まり、共有リンクをインターフェースが読み取れるかどうかだけでは判断できません。

XTLSやREALITYを使う設定は、Xrayの該当実装に照らして要件を確認してください。異なるコア間ですべての項目、デフォルト値、動作が一致するとは限りません。移行時はまず使用中の設定を残し、対応が明確な接続を一つテストして、ログに未知の項目、トランスポートの不一致、ハンドシェイクエラーがないか確認します。この記事の設定画面はインバウンドとルーティングの項目を示すもので、そのまま実行できる完全な設定ではありません。

3つのクライアントとオープンソースの範囲

v2rayNはデスクトップ向けで、サーバー、サブスクリプション、ルーティングをグラフィカルに管理できます。v2rayNGはAndroid向けで、一般的な配布版ではXrayコアを採用しています。v2flyNGはv2flyコアを使うAndroid向けの選択肢です。いずれもオープンソースのクライアントですが、名前が似ているからといって、インターフェースの機能、コアの対応範囲、プラットフォームの権限まで同じとは限りません。

オープンソースとは、各プロジェクトのライセンス条件に従ってコードを閲覧、使用、再配布できるという意味であり、すべての構成要素が同じライセンスを採用しているという意味ではありません。グラフィカルインターフェース、コア、ルールデータはそれぞれ分けて考えてください。また、クライアントはサブスクリプションサービスではありません。ソフトウェアをインストールしても利用可能なサーバーが自動で用意されるわけではなく、サブスクリプションの有効期間、内容、利用許諾は提供元によって異なります。クライアントを選ぶ際は、まず既存の設定に必要なプロトコルを確認し、次にプラットフォームや操作方法を検討しましょう。

クライアント・コア・サブスクリプションの更新

クライアントの更新は主にインターフェース、設定管理、プラットフォーム対応に影響します。コアの更新はプロトコルの実装と動作に影響し、サブスクリプションの更新は配信元からサーバー情報を再取得します。更新対象はそれぞれ異なります。サブスクリプションが無効な場合、インターフェースを再インストールしても通常は解決しません。インターフェースに問題がある場合、サブスクリプションを何度も更新しても改善しません。まず問題の層を特定してから、該当する更新を行いましょう。

更新前に必要な設定を保存し、現在選択しているコア、ルーティングモード、ローカルの待ち受けポートを記録します。更新後は基本的な接続をテストしてから、カスタムルールとTUNを戻してください。サブスクリプションを更新すると、配信元サーバーのパラメーターが上書きされることがあります。長期的に使う手動設定は、サブスクリプショングループと分けて管理しましょう。サブスクリプションURL、共有リンク、設定全体にアクセス認証情報が含まれる場合があるため、公開スクリーンショットや調査記録に載せないでください。

通信の流れに沿って設定を切り分ける

接続処理は、アプリ、インバウンド、ルーティング、アウトバウンド、接続先サーバーに分けて考えられます。ブラウザーがシステムプロキシを参照していない場合は、アプリからインバウンドまでの問題です。ポートが使用中ならローカルの待ち受けに問題があります。ルールによってリクエストが誤ったタグに送られるならルーティングの問題です。接続先とパラメーターが一致しない場合は、アウトバウンドとサーバーを確認してください。DNSはドメインの名前解決やルール照合にも影響するため、最後にだけ確認すればよいものではありません。

一度に変更する項目は一つにし、変更前後のログを残すことをおすすめします。まずサーバー設定で接続できることを確認し、次にルーティングルールを検証して、最後に透過的な通信の取り込みを設定します。Webページが開いたとしても、それは今回のリクエストが完了したことを示すだけで、すべてのアプリ、ドメイン、トランスポートが想定どおりに通信した証拠にはなりません。具体的な動作を確認するには、トレイアイコンだけを見るのではなく、クライアントのログとアプリ側のプロキシ設定を合わせて確認してください。

設定前に確認したい4つのポイント

サブスクリプションURLと共有リンクは同じものですか?
同じ入力として扱うことはできません。サブスクリプションは通常、複数のサーバー情報を返します。1件の共有リンクは個別の接続先を記述し、完全な設定にはルーティングやDNSが含まれる場合もあります。まず内容の形式を確認してから、適切なインポート方法を選んでください。サブスクリプションとノードの用語を見る →
グローバルプロキシとTUNは同じスイッチですか?
いいえ。グローバルは通常、コアに入った通信のルーティング先を指し、TUNは通信を取り込む方法を指します。TUNを有効にしてもルールによる振り分けは可能です。アプリがプロキシ経路に入っていなければ、グローバル設定だけを変えても通信は取り込めません。プロキシモードの用語を見る →
インポートできたのに接続できないのはなぜですか?
インポートに成功したということは、クライアントが入力を受け付けたというだけです。設定が完全か、コアが対応しているか、接続先が有効か、時刻とネットワーク環境が接続要件を満たしているかも確認してください。まずログを読み、すべての失敗をサブスクリプション形式の問題と決めつけないようにしましょう。プロトコルとトランスポートの用語を見る →
ルールに出てくるdirect、proxy、blockは固定のプロトコル名ですか?
これらはアウトバウンドタグとして使われることが多く、実際に定義されたアウトバウンドと対応している必要があります。名前を付けただけでアウトバウンドが作成されるわけではありません。ルールをコピーする際は、参照関係とデフォルトの転送先もあわせて確認してください。ルーティングと振り分けの用語を見る →

設定ガイド

最近の技術記事

コアの互換性、デスクトップ版の選び方、起動ログの確認方法など、具体的な疑問に沿って解説します。

記事一覧を見る →