基本概念を整理する
1. V2Rayはクライアント、プロトコル、それともコア?
日常会話でいう「V2Ray」は、プロキシツール一式を指すことが多いものの、厳密には特定の画面や単一のプロトコルを意味しません。V2Rayプロジェクトは、インバウンド、アウトバウンド、トランスポート、セキュリティ、DNS、ルーティングルールなどを扱うプロキシコアと関連機能を提供します。実際にユーザーが操作するv2rayN、v2rayNG、v2flyNGは、グラフィカルインターフェースを備えたクライアントです。クライアントは設定の保存、ノードの表示、コアの起動、システムプロキシの切り替えを担い、実際に接続と転送を行うのは呼び出されたコアです。
この関係を理解すると、トラブルの切り分けが容易になります。画面が開かない場合はクライアント層、ノードパラメータの解析失敗は設定層、接続タイムアウトはネットワークまたはサーバー側、想定外のルーティング結果はコアのルールを確認します。プロトコル、トランスポート、ルーティングの関係をさらに知りたい場合は、プロトコルリファレンスをご覧ください。
2. サブスクリプションURLとは?単一ノードとの違いは?
単一ノードは、サーバーアドレス、ポート、ユーザーID、プロトコル、トランスポート方式、セキュリティ設定などを含む具体的な接続パラメータの一式です。サブスクリプションURLは、クライアントが複数のノード設定を取得するための入口です。サブスクリプションURLをクライアントに登録すると、クライアントが内容を取得してノード一覧に解析します。その後「サブスクリプションを更新」を実行すれば、サーバー側が提供するノード名やパラメータを再取得できます。
サブスクリプションURLはノードの接続先アドレスではないため、サーバーアドレス欄に直接入力してはいけません。正しい手順は、サブスクリプションURL全体をコピーし、クライアントのサブスクリプション管理を開いて追加・保存した後、更新を実行し、サーバー一覧からノードを選ぶことです。VMessまたはVLESSの共有リンクが1本だけある場合は、「クリップボードからインポート」などの項目を使い、サブスクリプションとして追加しません。ボタンの場所と操作手順はインストールと設定ガイドで確認できます。
3. クライアント、コア、サブスクリプションサービスの役割は?
クライアントは操作画面、コアは接続処理、サブスクリプションサービスは設定の提供を担当し、3者が互いの代わりになることはありません。デスクトップ版では、v2rayNがサブスクリプションを読み込み、選択したノードとルーティング設定をコアが認識できる形に整えてから、該当するコアを起動して通信を処理します。Android版のv2rayNGやv2flyNGも基本的には同じ流れですが、システムによる通信の取り込み方や画面上の入口が異なります。
この区別は、原因を判断するうえで重要です。サブスクリプション更新の結果が空なら、まずURLとサービスの状態を確認します。ノードは表示されるのに起動時に設定エラーが出る場合は、パラメータが正しく解析されているか確認します。クライアントは起動済みなのに対象アプリが直接接続する場合は、システムプロキシ、仮想ネットワークアダプターによる取り込み、またはアプリ自身のネットワーク設定を確認します。原因を特定する前にプロトコル、DNS、ルーティング、ポートを次々に変更すると、複数の変数が絡む別の障害を生むため避けてください。
クライアント選びはプラットフォームとコアで判断
4. v2rayNとv2rayNGの違いは?
v2rayNはデスクトップクライアントで、Windows、macOS、Linuxのデスクトップ環境からサーバー、サブスクリプション、システムプロキシ、ルーティングを管理できます。プラットフォームによって利用できるインストーラー形式やシステム機能が異なるため、ダウンロード前にOSとプロセッサアーキテクチャを確認しましょう。v2rayNGはAndroidクライアントで、通常はXrayコアと組み合わせて使い、システムの通信取り込み機能によって端末内のアプリを設定どおりに接続します。
名前は似ていますが、インストールパッケージは相互利用できず、設定画面も完全には同じではありません。デスクトップ版ではシステムプロキシの設定、ルーティングモードの選択、コアのログ確認などが一般的です。Android版では初回接続時にシステム権限の確認が必要になることが多く、アプリごとのプロキシも設定できます。パッケージをすぐ選びたい場合はダウンロードセンターで、まずプラットフォームを選び、次にアーキテクチャに合うファイルを取得してください。
5. v2rayNGとv2flyNGはどちらを選ぶ?
どちらもAndroidクライアントですが、主な違いは使用するコアの系統です。v2rayNGはXrayコアを使用し、Xrayのプロトコル拡張や関連するトランスポート機能を必要とする設定に向いています。v2flyNGはv2flyコアを使用し、V2Fly系でサポートされる標準設定に適しています。選ぶ際は画面の名前だけで比べず、サブスクリプション提供元の互換性に関する説明を優先してください。
サブスクリプションにXray固有の機能を必要とするVLESS設定が含まれている場合は、通常v2rayNGを選びます。設定がv2flyコアでサポートされるプロトコルとトランスポートを前提としているなら、v2flyNGで接続できます。インポート後に「未対応の設定項目」が表示されたり、コアが特定の項目を認識できなかったりしても、サブスクリプションURL自体が無効とは限りません。現在のコアがその組み合わせに対応していない可能性もあります。Androidダウンロードエリアで2つのクライアントを確認し、設定との互換性で選びましょう。
プロトコルとサブスクリプションは名前だけで変更しない
6. VMessとVLESSはどちらを選ぶ?
VMessとVLESSはいずれもクライアントとサーバー間のプロキシ接続に使えますが、認証とセキュリティの設計が異なります。VMessの設定には通常、ユーザーID、追加識別パラメータ、トランスポート方式、セキュリティ設定が含まれ、クライアント側の時刻の正確さにも影響されやすい傾向があります。VLESSはよりシンプルなプロトコル設計で、それ自体は通信内容を暗号化せず、通常はTLS、REALITY、または対応する別のセキュリティ・トランスポート構成と組み合わせて使用します。
初心者が、動作しているノードを手作業で別のプロトコルに「変換」する必要はありません。プロトコルはサーバー側の設定で決まり、クライアントの各パラメータはサーバーと一致している必要があります。サブスクリプションがVMessならVMessとして、VLESSならVLESSとしてインポートしてください。プロトコル名、ポート、ユーザーID、トランスポート方式を独自に変更すると、通常はハンドシェイクに失敗します。特定の回線や設定から切り離して、どちらが常に速いと結論づけることもできません。実際の使用感はサーバー負荷、ネットワーク経路、混雑、ルーティングなどにも左右されます。プロトコル項目の説明はプロトコルリファレンスで確認できます。
7. サブスクリプションをインポートしてもノードが表示されないのはなぜ?
まず実行したのがサブスクリプションURLの保存だけでなく、「サブスクリプションを更新」だったか確認します。新しいサブスクリプションを追加しても記録が作られるだけで、クライアントが自動的に内容を取得するとは限りません。更新後も空の場合は、URLが完全にコピーされているか、先頭や末尾に空白が混入していないか、サブスクリプションの有効期限、現在のネットワークからURLへアクセスできるか、クライアントログに解析エラーがないかを順に確認してください。
ブラウザでサブスクリプションURLを開いて長い文字列が表示されても、その内容を1行ずつクライアントへコピーする必要はありません。URLが有効なら、クライアント自身に取得・解析させます。Webページ、ログイン画面、エラーメッセージが返っている場合、クライアントはノード一覧として認識できません。また、サブスクリプションの内容とクライアントのコアの互換性にも注意が必要です。現在のコアが解析できない項目が含まれていると、一部のノードだけが取り込まれたり、形式エラーになったりします。ガイドページの「サブスクリプションを追加、更新、ノードを選択」という順番をもう一度確認すれば、どこで止まっているかを把握しやすくなります。
接続とルーティングを層ごとに確認
8. クライアントは接続済みなのに、Webページが開けないのはなぜ?
「コアが起動済み」という表示は、ローカルプロセスが動き始めたことを示すだけで、リモートのノードへの接続完了や、ブラウザ通信がプロキシに入ったことまでは意味しません。まず現在のノードで実際の接続遅延を測定し、次に実行ログを開いてタイムアウト、接続拒否、DNS解決失敗、認証エラーがないか確認します。ローカルポートの起動に成功しただけでは、サーバーへ到達できる証明にはなりません。
ノードが利用可能になったら、次に通信の入口を確認します。デスクトップ版ではシステムプロキシが有効か、ブラウザに独立した競合設定がないかを確認してください。Android版では接続権限が有効なままか、アプリごとのルールを有効にしていないかを確認します。一部のドメインだけ開けない場合は、DNSとルーティングのマッチ結果も調べます。すべてのノードが同時に使えないなら、まずローカルネットワーク、サブスクリプションの状態、クライアントログを確認します。1つのノードだけ失敗するなら、そのノードのパラメータ、経路、サービス状態に問題がある可能性が高いでしょう。詳しい手順は接続ガイドを参照してください。
9. グローバル、ルール、直接接続モードとは?
これらのモードは、通信をどのアウトバウンドへ送るかを決めます。グローバルモードは通常、取り込み可能な通信の大部分をプロキシノードへ送るため、ノードが動作するか一時的に確認したいときに便利ですが、不要なプロキシ通信も増えます。ルールモードはドメイン、IP、ポート、プロセス、ルールデータセットなどに基づいて通信を振り分け、一部をプロキシ経由、一部を直接接続にします。直接接続モードは主にプロキシを迂回し、ローカルネットワークの復旧や比較検証に利用できます。
ルールは通常、定められた順番で照合されます。具体性の高いルールを広範なルールより前に置かないと、先に範囲の広いルールへ一致して後続の項目が実行されないことがあります。ドメインルールはドメインの照合、IPルールは宛先アドレスの処理を担い、DNSの結果や解決経路も最終判断に影響します。初心者はまずクライアントの安定したプリセットを使い、接続を確認してから少しずつ変更しましょう。変更は毎回1つのルール群に絞ってテストします。domain、IP、CIDR、geositeなどの記法はプロトコルとルーティングのリファレンスで確認できます。
更新と移行は設定を保存してから
10. クライアントの更新、端末変更、再インストールで保存すべきものは?
最も重要なのは、現在も有効なサブスクリプションURLを保存することです。加えて、使用中のルーティング、DNS、システムプロキシ、アプリごとの設定を記録しておきましょう。サブスクリプションに含まれない手動ノードは、クライアントのエクスポートまたは共有機能で個別にバックアップします。ノード名だけをスクリーンショットで残しても、サーバーアドレス、ユーザーID、トランスポート、セキュリティパラメータは復元できません。
クライアントを更新する前に、動作中のコアとシステムプロキシを終了し、プラットフォームに合う新しいインストールパッケージを選びます。インストール後は、まずサブスクリプションを再インポートしてノードを更新してください。旧設定の高度な項目をすべて新版へそのまま上書きするのは避けましょう。バージョンによって設定構造やデフォルト値が変わる場合があります。移行後は「サブスクリプション更新、ノード選択、遅延テスト、接続開始、ログ確認、ルーティング検証」の順に確認します。インストール手順はガイドで、各プラットフォームのファイルはダウンロードセンターで入手できます。
初心者の初回接続チェックリスト
ここまでの概念を実際の操作に落とし込むなら、次の順番で進めます。各ステップで結果を確認しておけば、問題が起きてもすぐに原因を絞り込め、何度もアンインストールしたり設定を作り直したりする必要がありません。
- 使用中のプラットフォームを確認し、ダウンロードセンターでv2rayN、v2rayNG、v2flyNGのいずれかを選び、プロセッサアーキテクチャを確認します。
- インストール後はまずクライアントを起動し、DNS、ルーティング、コアの高度なパラメータを急いで変更しないでください。
- サブスクリプションURLがある場合はサブスクリプション管理を開き、保存してから更新します。単一の共有リンクがある場合はクリップボードからインポートします。
- ノード一覧から1つ選び、実際の接続遅延を測定して、明らかに到達できない設定を除外します。
- 接続を開始し、デスクトップ版またはAndroid版の画面に従って、システムプロキシまたは通信取り込みの権限を許可します。
- 対象ページを開いて接続を確認し、同時にログを見て、リクエストが選択したアウトバウンドを経由していることを確認します。
- 基本接続が安定してからルールモードを選び、カスタムDNSやルーティングルールを少しずつ追加します。
接続に失敗したら、最後に明確な結果が得られたステップへ戻ります。サブスクリプションを更新できるか、ノードを解析できるか、サーバーへ接続できるか、通信がクライアントに入っているか、ルーティングが一致しているかを確認してください。一度に1つの層だけを調べ、変更前後の状況を記録します。プロトコルを頻繁に切り替えたり、複数の設定を同時に変更したりするより、この方法のほうが速く、本当の原因も見つけやすくなります。