この記事の要点

クライアントをインストールしたばかりの方や、サブスクリプションを持っていても次に何をすればよいかわからない方に向けたガイドです。まずクライアント、コア、ノードの違いを理解し、サブスクリプションを追加して通信をプロキシに通します。最後にブラウザーでアクセスし、接続ログを見て疎通を確認します。デスクトップではv2rayNを例に説明し、Androidではv2rayNGとv2flyNGの選び方も紹介します。バージョンによってメニューの場所が異なる場合は、同じ機能の項目を探してください。

1. V2Ray、コア、クライアントの違いは?

V2Rayは、プロキシツールや関連エコシステムで広く使われる名称で、すぐに使えるノードサービスそのものではありません。コアは接続を受け付け、ルーティングを行い、リモートサーバーと通信します。クライアントはサブスクリプションの追加、ノードの選択、ログの確認などを行うためのGUIです。クライアントをインストールしただけでは準備は完了せず、有効な接続設定も必要です。

クライアント 操作画面
v2rayN、v2rayNG、v2flyNGなどがあります。通常の操作はクライアント上で行うため、コアの設定ファイルを直接編集する必要はありません。
コア 接続処理
XrayとV2Flyは別々のコアプロジェクトです。対応するプロトコル、トランスポート、安全機能は同一ではないため、ソフトウェア名だけで互換性を判断できません。
ノードとサブスクリプション 接続情報
ノードはリモート接続に必要なパラメーター一式です。サブスクリプションは、複数のパラメーターを取得・更新するためのURLです。サブスクリプションURLは、ブラウザーに設定するプロキシサーバーのアドレスではありません。

VMess、VLESSはプロキシプロトコル、WebSocketはトランスポート方式、TLSとREALITYは接続の安全性に関わる設定です。それぞれ役割が異なるため、どれか一つの名称だけではノード設定として不十分です。

2. デスクトップとAndroidで使うクライアントは?

Windows、macOS、Linuxでは、まず各プラットフォームに対応するv2rayNのインストール方法を確認しましょう。Androidでは、サブスクリプションの対応状況に応じてv2rayNGまたはv2flyNGを選びます。提供元からXrayやVLESS + REALITYの指定がある場合は、手当たり次第にクライアントを試すのではなく、Xray系の対応状況を優先して確認してください。

端末とサブスクリプションの要件で選ぶ

デスクトップ:v2rayN
  • Windows、macOS、Linuxに合ったインストーラーを選びます。
  • x64やARM64など、端末のプロセッサーアーキテクチャを確認します。
  • クライアントの設定で、使用するコアがノードの要件に合っているか確認します。
Android:コアで選ぶ
  • v2rayNGはXrayコアを使用します。
  • v2flyNGはV2Flyコアを使用します。
  • サブスクリプション提供元のプロトコル仕様を確認してから、クライアントとの互換性を確認します。

同じサブスクリプションを複数の端末で使えるかどうかは、形式、プロトコルへの対応状況、サービス提供元による端末制限にも左右されます。どの端末でも同じように取り込めるとは限りません。

3. ダウンロードしたのに接続できないのはなぜ?

クライアントが使用可能なサーバーを自動で用意するわけではありません。初回利用には、有効なサブスクリプションか、サーバー管理者から提供されたノード共有リンクが必要です。サーバーのドメイン名とポート番号だけでは、通常、接続を確立できません。認証情報、トランスポート方式、安全性に関する設定も一致している必要があります。

4. v2rayNにサブスクリプションを追加・更新する方法

提供元から案内されたクライアント用のサブスクリプションURLをコピーします。アカウントのログインページのURLではありません。ここでは一般的なv2rayNのデスクトップ画面を例に説明します。「サブスクリプション管理」でURLを登録し、更新操作でノードを取得します。リストに内容を表示するには、両方の操作が必要です。

  1. サブスクリプションURLをコピー

    サービス提供元のページで、使用中のクライアントに対応するサブスクリプション形式を選びます。URL全体をコピーし、先頭や末尾に余分な空白や改行がないことを確認してください。

  2. サブスクリプショングループを作成

    「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、グループを追加します。メモ欄に識別しやすい名前を入力し、URL欄にアドレスを貼り付けて保存します。

  3. サブスクリプションを更新

    メイン画面に戻り、「サブスクリプショングループ」→「すべてのサブスクリプションを更新(プロキシを使用しない)」を選びます。まず現在のネットワークから取得し、更新が成功したか表示を確認してください。

  4. 使用するノードを選択

    更新後、ノード一覧から使用するノードを選び、右クリックメニューの「アクティブサーバーに設定」で切り替えます。続けてシステムプロキシを有効にすると、システムプロキシ設定に従うブラウザーから利用できます。

バージョンによっては、サブスクリプション管理画面の「追加」または「+」ボタンから登録します。更新メニューの名称も多少異なることがあります。サブスクリプションURLへのアクセスにプロキシが必要な場合は、先に使用可能な接続を確保してから「プロキシ経由で更新」を選びます。ノードが空の状態でこの設定を何度切り替えても、初回取得の問題は解決しません。

5. ノードリンク、サブスクリプションURL、QRコードは同じように使える?

3つの方法で渡される情報は、それぞれ異なる場合があります。vmess://やvless://で始まる文字列は、通常、単一ノードの共有リンクです。https://で始まるURLは、サブスクリプションの場合もあれば、通常のWebページの場合もあります。QRコードは文字列を伝える手段にすぎないため、読み取った後に実際の内容を確認してください。

受け取った内容おすすめの取り込み方法取り込み後の確認項目
サブスクリプションURLサブスクリプショングループ設定更新結果、ノード数、グループの有効状態
単一ノードのリンククリップボードからインポートプロトコル、サーバーアドレス、ポート、安全性に関する設定
ノードのQRコードQRコードを読み取る通常のWebページとして認識されただけでなく、ノードが正常に作成されたか

v2rayNGでは通常、サイドメニューから「サブスクリプショングループ設定」を開き、「+」でURLを保存します。メイン画面に戻り、右上のメニューから「現在のグループのサブスクリプションを更新」を選びます。単一ノードを取り込む場合は、メイン画面の「+」からクリップボードまたはQRコード読み取りを選択します。サブスクリプションURL全体をノード編集画面の「アドレス」欄に入力しないでください。

6. システムプロキシとTUN、どちらを先に使う?

デスクトップで初回接続を確認する場合は、まずシステムプロキシを使うのがおすすめです。システムプロキシ設定に従うアプリのリクエストをローカルの入口に渡しますが、すべてのプログラムを対象にするわけではありません。v2rayNでは、通知領域のアイコンを右クリックし、「システムプロキシ」→「システムプロキシを自動設定」を選ぶのが一般的です。実際の待ち受けポートは「設定」→「パラメーター設定」で確認してください。

システムプロキシの確認例

対象
システムプロキシ設定に従うアプリ
ローカルアドレス
127.0.0.1
入口ポート
10808(例)
接続確認
ブラウザーでのアクセスとクライアントの接続ログ

クライアントに表示されるポート番号と入口のプロトコルを確認してください。古い設定では別のポートが使われている場合があり、例の値をそのまま適用できるとは限りません。

TUNで通信を処理する際の確認項目

通信の処理方法
仮想ネットワークインターフェースを使って通信を処理
権限
管理者権限またはシステムの許可が必要な場合があります
利用シーン
アプリがシステムプロキシに従わない場合に試す
主な確認項目
ルーティング、DNS、他のトンネルソフトとの競合

TUNを有効にしても接続が保証されるわけではありません。まずノードが使えることを確認してから、より広い範囲の通信を処理するモードを有効にすると、原因を切り分けやすくなります。

Androidのv2rayNGとv2flyNGは通常、システムのVPNインターフェースを使って選択した通信を処理します。初回起動時には、システムの許可が必要です。これはデスクトップでシステムプロキシを変更する仕組みとは異なります。許可の確認画面が表示されたら、アプリの入手元と名前を確かめてから接続を許可してください。

7. ルーティングはグローバルとルール、どちらを選ぶ?

ルーティングは、接続をプロキシ経由にするか直接接続にするかを決める機能です。サーバーのパスワード誤りや期限切れのノードを直すものではありません。普段はクライアントに用意されたルールベースのルーティングを使いましょう。特定のサイトで問題が起きたとき、一時的に「グローバルプロキシ」に相当するモードへ切り替えると、ルールによる振り分けが原因かどうかを確認できます。

たとえば、ブラウザーでは目的のページを開けるのに特定のアプリだけ接続できない場合は、まずそのアプリがシステムプロキシを使っているか確認します。リクエストがクライアントに届いていることを確認してから、ルーティングルールの適用状況を調べてください。接続ログがないまま、ルールを次々に変更しないでください。

8. 初回接続が成功したか確認する方法

ノード横の遅延時間は、その時点で特定のテストに応答があったことを示すにすぎません。TCPポートに接続できても認証成功とは限らず、アプリに「実行中」と表示されても、ローカルサービスが起動しただけの場合があります。初回接続では、実際のアクセス結果と接続ログの両方を確認し、アイコンや一度の速度テストだけで判断しないでください。

  1. 基本ネットワークを確認:まず、通常なら直接アクセスできるWebサイトを開き、端末のネットワーク切断や公衆Wi-Fiの認証未完了などを除外します。
  2. 使用中のノードを確認:現在選択されているサーバーを確認します。行がハイライトされているだけで、実際に使うノードが切り替わっていないことがあります。
  3. 通信の入口を確認:デスクトップではシステムプロキシを有効にします。Androidでは接続が開始され、システムVPNの許可が完了していることを確認します。
  4. 目的のサイトにアクセス:その接続が必要なWebページをブラウザーで開き、対応する接続またはエラーがクライアントのログに記録されているか確認します。
  5. 再度確認:新しいページを開いてもう一度アクセスします。成功したり失敗したりする場合は、すぐにすべての設定を変更せず、ネットワークの安定性を調べてください。

クライアント内蔵の「実接続遅延」テストは、単純なTCPテストよりアプリケーション層の状態に近い結果が得られることがあります。ただし、テスト先と現在のネットワークに左右されます。テストの遅延時間をダウンロード速度とみなしたり、すべてのWebサイトにアクセスできると判断したりしないでください。

9. 接続済みなのにWebページを開けないときの確認方法

「ローカルの入口 → リクエストが届いているか → リモート接続」の順に確認します。一度に変更する設定は一つにし、変更前後のエラーを記録してください。ログにリクエストがない場合は、プロキシが通信を処理しているか確認します。リクエストが届いた後にエラーが出る場合は、ノード、DNS、ネットワーク経路を確認してください。

ブラウザーが読み込み中のままで、ログにも何も表示されない?

v2rayNの通知領域メニューから、「システムプロキシ」→「システムプロキシを自動設定」を選び直してください。ブラウザー独自のプロキシ設定や、プロキシ拡張機能による上書きも確認します。アプリがシステムプロキシに従わない場合は、入口を手動で指定するか、TUNの使用を検討してください。

ログに「address already in use」と表示される?

通常は、ローカルの待ち受けポートが使用中であることを示します。重複起動したクライアントや、同じポートを使う他のプログラムを終了してください。必要に応じて「設定」→「パラメーター設定」でローカルポートを変更し、そのポートを手動設定しているアプリの設定も更新します。

ログにtimeoutや名前解決エラーが表示される?

まず同じサブスクリプション内の別のノードに切り替え、次に利用可能な別のネットワークでも試してください。タイムアウトはリモートサーバーに到達できないことが原因の場合があります。名前解決に失敗する場合は、ノードのドメイン名とDNSを確認します。timeoutが一度出ただけで、サブスクリプション形式の誤りと決めつけないでください。

認証エラーやTLSハンドシェイクエラーが表示されたら?

まず端末の日付と時刻を合わせてから、サブスクリプションを更新し、サービスの状態を確認してください。ノードを手動で編集した場合は、元の設定を再インポートし、サーバー名などの項目を確認します。設定や証明書の問題を隠すために、証明書の検証を無効にしないでください。

10. 初回接続後に保存しておく設定

まず、動作確認済みの最小限の設定を保存し、その後、自動更新、アプリ別プロキシ、TUNを必要に応じて追加します。接続直後にコア、DNS、ルーティングを同時に変更すると、問題の原因を特定しにくくなります。サブスクリプション管理から追加したノードでは、クライアントが生成したconfig.jsonを直接編集しないでください。ノードの切り替えや再起動時に再生成される可能性があります。

初回接続で重要なのは、設定をむやみに増やすことではなく、各段階が動作しているか確かめることです。サブスクリプションからノードを作成し、ノードがローカルの入口を起動し、アプリがリクエストを入口に送り、ルーティングで適切な出口を選び、リモート接続が確立する。この流れに沿って段階ごとに確認すれば、端末の変更やクライアントの更新後も復旧しやすくなります。