v2rayN / v2rayNG / v2flyNG

V2Rayのよくある質問

サブスクリプション、プロキシモード、接続トラブルまで解説します。問題が起きた段階を確認し、順番に設定を見直しましょう。

初めて設定する場合は使い始めるためのガイドをご覧ください。ルーティングやコアの設定を詳しく知りたい場合は、初心者から応用までの設定ガイドをご覧ください。

基本知識

クライアント、コア、通信の取り込み方の違いを確認します。

V2Ray、Xray、v2rayNはそれぞれ何ですか?

まず、コアとクライアントを区別しましょう。V2RayはProject Vのプロキシエコシステムに属し、V2Flyは関連するコアの開発を引き継いでいます。Xrayは別系統のコアで、対応プロトコルや設定の詳細は両者で完全には一致しません。v2rayNはデスクトップ向けGUIクライアントで、サブスクリプション、サーバー、システムプロキシ、コアプロセスを管理します。特定のプロトコルそのものではありません。トラブルの切り分けでは、クライアント名、使用中のコア、サーバーのプロトコルをあわせて確認してください。共有リンクの見た目だけで互換性を判断することはできません。コアを切り替えても、サーバー側で不足しているパラメーターが自動的に補われるわけではありません。

デスクトップとAndroidでは、どのクライアントを選べばよいですか?

Windows、macOS、Linuxのデスクトップでは、まずv2rayNを検討してください。AndroidではXrayコアを採用したv2rayNGが候補です。V2Flyコアの環境が必要な場合はv2flyNGを検討しましょう。OSとプロセッサーに合ったインストーラーを選び、使用中のサブスクリプションが利用するプロトコルに対応しているか確認してください。3つのクライアントはメニュー構成、設定の保存先、コアのバージョンがそれぞれ異なります。一方のプログラムフォルダーを、別のクライアントの設定としてそのまま読み込むことはできません。デバイス間で移行する場合は、サブスクリプションURLを追加し直すのが手軽です。その後、プロキシモードとルーティングを個別に設定してください。

サブスクリプションURL、共有リンク、JSON設定の違いは何ですか?

サブスクリプションURLは通常、複数のサーバー情報を取得するためのURLです。共有リンクは、vmess://やvless://で始まるテキストのように、単一のサーバーを表します。生のJSONには、inbound、outbound、DNS、ルーティングなどを含む設定全体が記述されている場合があります。それぞれ対応するインポート方法を使い、任意のJSONをサブスクリプションURL欄に入力しないでください。サブスクリプションの内容がBase64でエンコードされていても、すべてのクライアントが同じ形式の応答を認識できるとは限りません。形式エラーが発生したら、提供元にクライアント対応形式を確認しましょう。認証パラメーターを何度も変更するのは避けてください。

システムプロキシ、ルーティング、TUNモードの違いは何ですか?

システムプロキシは、システム設定に従うアプリの通信をローカルのプロキシポートへ送ります。ルーティングは、コアに届いた接続をどのoutboundへ流すか決めます。TUNモードは仮想ネットワークインターフェースを介して、設定した範囲の通信を受け取ります。それぞれ異なる段階の仕組みです。システムプロキシを有効にしても、すべてのプログラムがコアを経由するとは限りません。また、グローバルルーティングを選んでも、システムプロキシを無視するプログラムが自動的に接続されるわけではありません。まずシステムプロキシでサーバーへの接続を確認し、アプリの通信を取り込む必要がある場合にTUNを有効にしましょう。複数の設定を同時に変えると、原因を特定しにくくなります。

インストールと設定

適切なインストーラーを選び、サブスクリプションを更新してから接続します。

AndroidのAPKはarm64とuniversalのどちらを選べばよいですか?

デバイスが64ビットARMアプリに対応していると確認できたら、arm64を選びましょう。アーキテクチャがわからない場合は、複数のアーキテクチャ向けコンポーネントを含むuniversalを選べます。2015年以降の主流スマートフォンは64ビットARMプロセッサーを搭載していますが、32ビットシステムで動作する端末もあるため、購入年だけでは判断できません。システムの端末情報でアーキテクチャを確認するか、インストーラーの互換性に関する表示を参考にしてください。アプリをインストールできない場合は、空き容量、既存アプリの署名、インストール権限も確認しましょう。別のAPKを試す前に、サブスクリプションと設定を記録し、アプリのデータをすぐに消去しないでください。

v2rayNでサブスクリプションを追加できない、または追加後に一覧が空の場合は?

まずサブスクリプショングループの設定を開き、新しいグループを作成して、完全なサブスクリプションURLを入力欄に貼り付けます。保存したら、サブスクリプショングループのメニューから対象のグループを更新してください。URLを保存しただけでは、サーバー一覧は通常すぐには作成されません。それでも空の場合は、ログのリクエスト結果を確認し、URLにアクセスできない、応答内容が空、形式に対応していない、のどれに該当するか切り分けます。コピー時に前後の空白や改行は取り除きますが、URL内のクエリパラメーターは削除しないでください。現在のグループの絞り込みで新しい項目が隠れていないか、URLの有効期限が切れていないかも確認しましょう。共有リンクはサブスクリプション欄ではなく、クリップボードからインポートする機能を使ってください。

v2rayNGでサブスクリプションを追加して接続するには?

v2rayNGのサブスクリプショングループ設定で新しいグループを作成し、名前とサブスクリプションURLを入力して保存します。メイン画面に戻り、メニューからサブスクリプションを更新してください。サーバー一覧が表示されたら項目を選んで現在の設定にし、接続ボタンをタップします。初回接続時にはAndroidからVPN接続の許可を求められるため、許可するとクライアントが通信を取り込めるようになります。更新後も項目が表示されない場合は、更新結果のメッセージと現在のグループを確認してください。接続ボタンはサブスクリプションの更新には使いません。バージョンによってメニューの位置は異なることがありますが、URLの追加、一覧の更新、設定の選択、接続の開始はそれぞれ別の操作です。

v2rayNのTUNモードを有効にすると権限不足と表示される場合は?

まずTUNを無効にし、OSとクライアントのバージョンに応じて必要な権限を付与してください。Windowsでは通常、管理者として起動する必要があります。macOSとLinuxではクライアントの案内に従って、権限の許可や関連サービスの設定を行ってください。Windowsの手順をそのまま適用することはできません。権限を付与しても解決しない場合は、ログで仮想インターフェースの作成、ルートの追加、ポートの競合に関するエラーを確認し、ネットワークを制御している他のプログラムを一時終了します。スイッチを何度も切り替えたり、セキュリティ機能を長期間無効にしたりしないでください。変更前の状態を記録し、失敗したらTUNを無効にして通常のシステムプロキシに戻し、基本的な接続を確認しましょう。

使い方

現在の設定を確認し、用途に応じてルーティングと共有範囲を選びます。

使用するサーバーを選び、実際に使えるか確認するには?

サーバー一覧で対象の項目をアクティブサーバーに設定し、システムプロキシまたはAndroidの接続スイッチが有効になっていることを確認します。項目を選択表示にしただけ、編集画面を開いただけ、サブスクリプションを更新しただけでは、現在の設定が切り替わっていない場合があります。普段使うサイトにアクセスし、該当する接続がログに記録されるか確認してください。クライアントの遅延テストで確認できるのは、特定のテスト通信だけです。テストに成功しても、すべてのWebサイトやアプリにアクセスできるとは限りません。テスト失敗の原因がテスト先、DNS、ローカルネットワークにあることもあります。テスト結果の数値だけで設定を何度も切り替えず、実際のアクセス状況とあわせて判断しましょう。

中国本土を迂回するモードとグローバルモードはどう使い分けますか?

普段使いでは、まず中国本土向け通信を直接接続するルーティングを選び、必要に応じて個別のルールを調整します。グローバルモードは、特定の通信がルールによって別のoutboundへ振り分けられているか、一時的に確認する場合に便利です。切り替える前に、メニューがコアのルーティングを操作するのか、システムプロキシのPAC動作を操作するのか確認してください。名称はクライアントやバージョンによって異なることがあります。グローバルルーティングの対象は、すでにコアに届いている通信だけです。すべてのアプリを強制的に取り込む機能ではありません。切り替え後に問題が解消したら、サーバーの故障と決めつけず、ドメインルールやIPルール、その適用順を確認します。テスト後は、普段の利用に適したモードへ戻してください。

LAN内のほかのデバイスからPCのプロキシを使うには?

信頼できる家庭内ネットワークで、まずLANからの接続を許可し、ローカルプロキシポートが実際に待ち受けていることを確認します。ほかのデバイスにはPCのLAN内IPアドレスと該当するプロキシポートを入力します。127.0.0.1はそのデバイス自身を指すため、入力しないでください。設定によってはSOCKSが10808、HTTPが10809ですが、混合ポートを使用するバージョンもあります。現在の設定を確認してください。ファイアウォールがローカルサブネットからの接続を許可しているか、ルーターで端末間通信が分離されていないかも確認します。必要な範囲だけを許可し、公衆ネットワークでは使用しないでください。また、ローカルプロキシポートをインターネットに公開しないでください。

クライアントの更新やサブスクリプション更新の前に、何を保存すればよいですか?

まず、サブスクリプショングループ、ルーティングの選択、待ち受けポート、手動で追加したサーバーを記録し、現在のクライアントにバックアップまたはエクスポート機能があれば利用します。そのバージョンに機能がない場合は、クライアントを終了してから、ドキュメントに従ってユーザー設定フォルダーをバックアップしてください。サブスクリプションを更新すると、購読データから生成された項目が置き換わることがあります。重要な手動変更をサブスクリプションの項目だけに保存しないでください。サブスクリプションURLにアカウントへのアクセス情報が含まれている場合があります。バックアップファイルやスクリーンショットは安全に保管し、ログを共有する前に関連情報を削除してください。アップグレード後は既存の設定を確認してから、新機能を一つずつ有効にします。移行とルーティングの大幅な変更を同時に行わないようにしましょう。

トラブルシューティング

エラーが発生した段階を確認し、一度に変更する設定は一つにします。

サブスクリプションの更新に失敗した場合、直接更新とプロキシ経由のどちらを使えばよいですか?

まず失敗の原因を確認してから、更新方法を選びます。現在のネットワークからサブスクリプションURLへ直接アクセスできるなら、最初はプロキシを経由せずに更新してください。プロキシ経由でしかアクセスできない場合は、まず利用可能なアクティブサーバーに接続し、クライアントのプロキシ経由で更新する機能を使います。すでに使えなくなったサーバーに、その代わりとなる設定を取得させようとしないでください。ログに認証失敗やアクセス拒否と表示されたら、URLの有効期限、アカウントの状態、アクセス制限を確認します。サブスクリプションの内容ではなくWebページが返ってくる場合は、クライアントに対応したURLを提供元から取得し直してください。短時間に何度も再試行するとレート制限がかかることがあるため、間隔を空けて再試行しましょう。

サーバーがタイムアウトし続ける場合、どの順番で確認すればよいですか?

まず、端末から通常のネットワークにアクセスできることを確認します。次に、現在のアクティブサーバーのアドレス、ポート、プロトコル、転送パラメーターが提供元の情報と一致しているか確認してください。VMessを使う場合は、システムの日付、時刻、タイムゾーンも正しく設定されているか確認します。その後、ログを見て、ドメインの名前解決失敗、接続タイムアウト、接続拒否、TLSハンドシェイクエラーを区別しましょう。それぞれ原因となる段階が異なります。既知の正常なサーバーに切り替えて比較してもよいですが、複数の項目を一度に変更しないでください。同じ設定が別のネットワークでは正常に動く場合は、クライアントをすぐに再インストールせず、ローカルのファイアウォール、ネットワーク制限、DNSを確認しましょう。

接続済みなのにWebページを開けない場合、原因を絞り込むには?

「接続済み」と表示されても、通常はコアやネットワークインターフェースが起動したことを示すだけで、目的のサイトにアクセスできたとは限りません。まずTUNを無効にし、システムプロキシと利用可能だと確認済みのサーバーでブラウザーをテストします。その後、ログに対象ドメインへのリクエストが記録されているか確認してください。リクエストがない場合は、ブラウザーのプロキシや拡張機能の設定、システム設定を上書きするほかのプロキシツールを確認します。リクエストが記録されているのに失敗する場合は、DNS、ルーティングルールの適用、サーバーへの接続エラーを調べましょう。一部のサイトだけに問題があるなら、サイト側の障害やアクセス制限も確認してください。一度に変更するのは一項目だけにし、元の状態を記録しておくと比較や復元が簡単です。

システムプロキシの自動設定を選んでも、一部のアプリで効かないのはなぜですか?

まずコアが実行中であること、システムプロキシのアドレスとポートが現在のinboundと一致していることを確認し、ほかのプログラムがシステムプロキシを上書きしていないか調べます。独自のプロキシ設定を使うアプリもあれば、システムプロキシを参照しないプログラムもあります。コマンドラインツールが、それぞれ対応する環境変数だけを参照することもあります。そのため、メニューが選択状態になっているだけで、すべての通信が取り込まれたとは判断できません。まずシステムプロキシに従うブラウザーで確認してください。アプリが手動プロキシに対応している場合は、実際の待ち受けアドレス、ポート、プロトコルを入力します。より広い範囲の通信を取り込む必要がある場合にTUNを検討し、権限、ルーティング、DNSを個別に確認しましょう。

設定をさらに詳しく確認する場合は、設定ガイド全文またはLAN内でプロキシを共有する方法をご覧ください。