Project Vの歩み:プロキシカーネルからGUIツールへ
Project Vは、組み合わせて使えるプロキシツールを中心としたエコシステムです。その中核プロジェクトとして、V2Rayが広く利用されています。インバウンド、アウトバウンド、ルーティング、DNSなどのモジュールにより、ネットワーク処理を用途ごとに分けて設定できます。日常的に使われるv2rayNやv2rayNGは、カーネルの名称を変えたものではありません。カーネル上に、サブスクリプション管理、パラメーター編集、モード切り替え、ログ確認などの機能を提供するクライアントです。GUIによって操作しやすくなりますが、接続処理そのものは基盤のプログラムが実行します。
そのため、解説に出てくる「クライアントを開く」と「カーネルを起動する」は、別の手順を指す場合があります。画面が正常に表示されていても、設定項目の誤りでカーネルが終了することがあります。逆に、GUIのシステムプロキシ設定が無効でも、カーネルがローカルの接続口を待ち受けている場合があります。問題を切り分ける際は、どの層で起きているかを確認しましょう。何度も再インストールするより、問題の場所を特定するほうが解決につながります。
V2FlyとXray:同じルーツでも互換性は項目ごとに確認
V2FlyコミュニティはV2Rayプロジェクトの開発を引き継ぎ、Xrayは関連するコードを基盤に独自の実装を発展させてきました。共通する概念や設定方法は多いものの、その後の機能はそれぞれ異なる方向に進化しています。REALITYなどの機能はXrayの対応範囲を確認してください。既存のV2Fly設定も、実際の項目を1つずつ照合する必要があります。実行ファイルを置き換えただけで同じ動作になるとは限りません。
v2rayNは、デスクトップでよく使う設定をまとめて管理できる点が特長です。v2rayNGはAndroid向けにXray系の操作環境を提供し、v2flyNGはV2Flyの動作や設定方法を必要とするユーザーに適しています。いずれもオープンソースのクライアントですが、リリースの頻度、画面の構成、カーネルの組み合わせは共通ではありません。選ぶ際はクライアント名を対応プロトコルの一覧とみなさず、現在の設定に必要な機能を基準にしましょう。
VLESS・VMess・REALITY:設定項目は組み合わせて確認
VMess、VLESS、Trojan、Shadowsocksは、プロキシプロトコルに関する選択肢です。REALITYはセキュリティ層の方式で、VLESSと組み合わせて使われることがよくあります。「VLESS + REALITY」と記載されていても、互いに置き換えられるプロトコルではありません。トランスポート方式、サーバーアドレス、ポート、ユーザーID、セキュリティ層のパラメーターをまとめて照合してください。項目が1つ欠けていたり、入力を間違えたりすると、ハンドシェイクに失敗することがあります。
プロトコル名は速度ランキングではありません。同じプロトコルでも、サーバー、ネットワーク経路、トランスポートの組み合わせによって使い勝手は大きく変わります。モバイル端末のバッテリー消費も、再接続の頻度、バックグラウンド動作の制限、実際の通信量に左右されます。すでに使えている設定がある場合は、まずその組み合わせを維持してください。複数の方式を比較するときは、端末とネットワークの条件を固定し、項目ごとに確認しましょう。プロトコルガイドでは、設計上の考え方と選択時の注意点を解説しています。
オープンソースライセンスとコミュニティ:ソフトウェアと接続サービスの違い
v2rayN、v2rayNG、v2flyNGはいずれもオープンソースで公開されており、各クライアントは通常GPL系ライセンスを採用しています。V2FlyとXrayのコアはMPL系ライセンスを採用しています。具体的な利用条件は、各プロジェクトに付属するライセンス文書を確認してください。ソースコード、リリースノート、問題報告が、コミュニティによるメンテナンスを支えています。オープンソースであることは、コードの利用や再配布に関する条件を示すものであり、第三者から入手した設定を無条件にインポートしてよいという意味ではありません。
クライアントそのものは接続サービスではありません。ソフトウェアをインストールした後、自分に利用権限のあるサーバー設定またはサブスクリプションが必要です。サブスクリプション内のサーバー情報は提供元が管理し、接続できるかどうかはサーバーやネットワーク環境にも左右されます。V2Ray OSSガイドではクライアントのダウンロード先と日本語の知識ガイドをまとめていますが、すぐ使えるサーバー一覧は掲載していません。また、ソフトウェアが起動していることを、サービスが利用可能である証明とはしていません。
更新前に確認:クライアント・カーネル・サブスクリプション
クライアントの更新では、画面、設定生成、統合機能などが変わります。カーネルの更新は、プロトコルの実装、機能の対応状況、実行時の動作に関わります。サブスクリプションの更新では、通常、サーバー情報や接続パラメーターが置き換わります。これら3つは別々のタイミングで更新されます。サブスクリプションの更新に失敗した場合は、URL、応答内容、インポート形式を確認しましょう。カーネルが起動しない場合は、ログに表示された項目や機能に関するメッセージを優先して確認してください。すべてのローカル設定をすぐに上書きする必要はありません。
更新前に、サブスクリプショングループ、カスタムルーティング、その他のローカル設定をバックアップしてください。更新後は動作確認済みの設定を1つ使って基本的なアクセスを確認し、その後で追加ルールを戻します。クライアントやカーネルを変更した場合は、従来の設定が対応しているか改めて確認しましょう。インストーラーのダウンロード先とバージョン情報はダウンロードページにまとめています。チュートリアルの画面と見た目が違っても、すぐにインストール異常と判断しないようにしてください。
初期設定でよくある質問
- サブスクリプションの更新に成功したのに、アクセスできないのはなぜですか?
- 更新の成功は、解析可能な内容を取得できたことを示すだけです。有効な設定を選び、カーネルを起動して、アプリがプロキシを使っているか確認してください。切り分けの手順は使い方ガイドをご覧ください。
- システムプロキシとTUNモードは両方有効にする必要がありますか?
- 両者は異なる通信の取り込み方法です。まず一方だけで基本動作を確認し、必要に応じてアプリに合わせて調整しましょう。詳しくはよくある質問をご覧ください。
- スマートフォンを替えるとき、パソコンの設定フォルダーをそのままコピーできますか?
- 互換性のあるサブスクリプションまたは共有リンクを改めてインポートし、スマートフォンのアプリ別プロキシやバックグラウンド設定を個別に設定する方法が確実です。移行前にクライアントの対応範囲を確認してください。
- テストが正常なら、Webページも必ず開けますか?
- 個別のテストで確認できるのは通信経路の一部です。ブラウザーのプロキシ、DNS、ルーティングがアクセスに影響する場合もあります。実際のリクエストとログをあわせて確認してください。用語の意味はネットワーク基礎ガイドで解説しています。