エコシステムの背景:Project VとV2Ray
Project Vは、プロキシやネットワークツールを中心とするオープンソースプロジェクト群です。V2Rayは、その中で広く使われているコアの名称です。特定のプロトコルだけでなく、インバウンド、アウトバウンド、ルーティング、通信方式を共通の設定構造で組み合わせられる点に特徴があります。クライアントで「ノード」と表示されるものは、多くの場合、リモート側のアウトバウンドを画面上で表したものです。システムプロキシ、ローカルの待ち受け、DNSは別の設定項目に含まれるため、ノード名だけで動作環境全体を説明することはできません。
日常の会話では、V2Rayがエコシステム全体を指す総称として使われることもあります。そのため、ダウンロード時は具体的なアプリ名を確認することが大切です。v2rayNはGUIクライアントであり、V2Rayコア本体とは別のものです。v2rayNGとv2flyNGはAndroid端末向けです。この関係を理解しておくと、ドキュメントで「画面に機能の入口が追加された」のか「コアにプロトコル機能が追加された」のかを区別でき、クライアントのログとプロトコルパラメーターのどちらを調べるべきか判断しやすくなります。
コアの種類:V2FlyとXray
V2FlyはV2Rayのコミュニティ開発を引き継ぎ、Xrayは関連するコードを基盤に独自の機能を発展させてきました。共通の背景はありますが、それぞれ独立して保守・開発されており、同じプログラムの外観違いではありません。一部の設定項目が似ていても、新しい通信方式、セキュリティ機能、ルーティングの選択肢、初期動作には違いがある場合があります。コアは名称やリリース日だけで比較せず、ノードが必要とする機能と実際の互換性を基準に選びましょう。
VLESS、Vision、REALITYを組み合わせる場合は、Xrayの対応範囲に加え、サーバー側から指定されたflow、サーバー名、公開鍵、shortIdを確認してください。REALITYはトランスポートのセキュリティ機構であり、VMessやTrojanと同じ階層の独立したプロキシプロトコルではありません。既存のV2Fly設定を別のコアにまとめて移行するのも避けましょう。まずノードを1つ選んで各項目を確認し、ルーティングとDNSをテストしてから、設定全体を移行してください。
3つのクライアント:オープンソースの管理画面とOSごとの違い
v2rayN、v2rayNG、v2flyNGはいずれもオープンソースクライアントで、ノード編集、サブスクリプション管理、接続制御などを画面から操作できます。オープンソースとは、ソースコードとライセンスを確認できるという意味であり、実行権限や設定の入手元を確認しなくてよいわけではありません。サブスクリプションの提供元、リモートサーバー、クライアントはそれぞれ異なる役割です。クライアントをインストールしてもサーバーアカウントが手に入るわけではなく、インポートしたすべてのノードが使える保証もありません。
v2rayNはデスクトップ向けで、1つの画面からサブスクリプションとルーティングを管理し、対応状況に応じてコアを選べます。v2rayNGは主にXrayコアを基盤とし、対応プロトコルを使いたいAndroidユーザーに適しています。v2flyNGはV2Flyコアを採用し、対応する設定との互換性が必要な場合に向いています。別のアプリに移行するときは、画面上のメモ名だけをコピーせず、完全な共有リンクまたはサブスクリプションを再インポートしてから接続モードを確認してください。
オープンソースライセンス:配布と利用の範囲を確認
Project V関連プロジェクト、GUIクライアント、コア、パッケージの依存関係には、それぞれ異なるオープンソースライセンスが適用される場合があります。エコシステム内の1つのライセンスを、すべてのコンポーネントに共通するルールとみなすことはできません。個人利用、再配布、改変版の公開では要件が異なるため、各プロジェクトのライセンスファイルと付属の説明を個別に確認してください。ページの「オープンソース」という表記は、開発や配布の性質を示すものであり、サブスクリプションの内容やリモートサービスを保証するものではありません。
一般の利用者は、アプリ名、OSのアーキテクチャ、使用しているコアを記録し、設定の入手元も残しておくと実用的です。クライアントが要求する権限も把握しておきましょう。設定に含まれるパスワード、ユーザー識別子、サブスクリプションURLの扱いには注意してください。相談用のスクリーンショットでは、これらを隠しましょう。ノードのアドレス、SNI、公開鍵は用途が異なりますが、個人設定全体をそのまま公開するのは避けてください。問題の切り分けには、項目の整合性が分かる情報だけで足りることが多くあります。
更新の仕組み:クライアント、コア、サブスクリプションを個別に管理
クライアントの更新は主に画面や設定管理に、コアの更新は主に接続処理に影響します。サブスクリプションの更新では、設定の提供元がノード一覧を変更します。この3種類では、更新元も影響も異なります。更新後にノード数やパラメーターが変わっても、クライアントのアップグレードが原因とは限りません。クライアントのアップグレード後に設定を起動できなくなっても、サブスクリプションURLが無効とは限りません。まず、どの層が直近で変更されたかを確認してから、ロールバック、再インポート、項目の調整を判断しましょう。
更新前に現在の設定を残し、使用中のノードとルーティングモードを記録してください。更新後は、よく使うノードを1つテストし、LANへのアクセス、ドメイン名の解決、プロキシが必要なアプリを確認します。自動更新の間隔はサブスクリプション提供元の制限に合わせ、必要以上に頻繁な更新は避けましょう。失敗が続く場合は、更新リクエストを繰り返さず、URLの有効性、リクエストの経路、システム時刻、エラーログを順に確認してください。変更を重ねて原因が追えなくなるのを防げます。
接続確認:入口からリモートまで順に調べる
インポートできても接続できない場合は、まず使用するノードが選択されていることと、コアが正常に起動していることを確認し、次にアプリの通信が実際にプロキシを通っているか調べます。ブラウザーは接続できてもほかのソフトが接続できない場合は、通信の入口を確認してください。ドメイン名でのみ接続に失敗するなら、まず名前解決の経路を調べます。すべてのアプリで失敗する場合は、ノードの設定とリモートへの到達性を確認します。遅延テストの結果は特定のテストリクエストを示すもので、すべてのプロトコルやアプリの通信が正常である証明にはなりません。
用語を確認するには用語集で、サブスクリプション、共有リンク、インバウンド、アウトバウンドの違いを調べてください。症状別の対処法はよくある質問をご覧ください。エラーが発生した時刻、直近で変更した設定、ログの種類を整理すると、プロトコルを手当たり次第に切り替えるより効率よく調査できます。最適な構成はサーバーの対応状況とアプリの要件を踏まえて選び、特定のプロトコル名を追いかけるより設定の整合性を保つことが重要です。