サブスクリプション · プロキシ · 接続トラブル

V2Rayのよくある質問

サブスクリプション、ノード、通信の取り込み方法、ルーティングを切り分け、症状に応じて確認しましょう。以下の回答は、v2rayNデスクトップ版とv2rayNG、v2flyNGのAndroid版を対象としています。メニュー名は現在のクライアント画面で確認してください。

初めて使う方は設定ガイドをご覧ください。ルーティングやDNSを詳しく設定する場合は、詳細設定をご確認ください。質問をクリックすると回答が開きます。問題を調べる際は、一度に1項目だけ変更してください。

基礎知識

クライアント、コア、サーバー設定の役割を整理し、異なるレイヤーの問題を混同しないようにします。

V2Ray、Xray、v2rayNの役割の違いは?

V2RayはProject Vのプロキシエコシステムに属し、V2Flyは関連コミュニティのコアを引き継いで保守しています。Xrayは同じ技術エコシステムにおけるフォークです。v2rayNはサブスクリプションの管理や設定の生成、コアの呼び出しを行うGUIクライアントで、実際の接続処理はコアが担います。問題を調べる際は、まず画面上の設定とコアのエラーを切り分けましょう。読み込みに失敗する場合はサブスクリプションの形式、接続に失敗する場合はプロトコルのパラメーターやコアの対応状況を確認します。クライアント名だけでプロトコルの対応可否を判断せず、現在の設定で使われているコアと、その対応範囲を確認してください。

v2rayN、v2rayNG、v2flyNGはどう選べばよいですか?

Windows、macOS、Linuxのデスクトップでは、サブスクリプションやルーティング、システムプロキシを管理しやすいv2rayNがおすすめです。AndroidではXrayコアを使うv2rayNGを、v2flyコアの設定を使う場合はv2flyNGを検討してください。3つは同じプログラムの別画面ではなく、設定場所や対応する設定形式も異なる場合があります。まずOSに合わせてクライアントを選び、サーバーのプロトコルやトランスポートのパラメーターに対応しているか確認しましょう。別のクライアントへ移行するときは、元のサブスクリプションを再読み込みするのがおすすめです。特定のクライアントの設定全体を、共通形式としてそのまま使わないでください。

クライアントをインストールしたのに、サブスクリプションURLやノード設定が必要なのはなぜですか?

クライアントは接続や管理の機能を提供しますが、それ自体がリモートプロキシサービスというわけではありません。サブスクリプションURLからは複数のサーバー設定を取得でき、個別のノード設定にはサーバーのアドレス、ポート、プロトコル、認証パラメーターが記載されています。インストール後、有効な設定を読み込み、利用可能なサーバーを選択すると、コアが接続を確立します。サブスクリプションの有効期限、サーバーへのアクセス権、クライアントの更新はそれぞれ別のものです。プログラムを更新しても、期限切れのサービスが自動的に復旧するわけではありません。サブスクリプションURLにはアクセス情報が含まれることが多いため、安全な場所に保管してください。問い合わせの際はURL、ユーザーID、認証情報を隠しましょう。

REALITYは独立したプロトコルですか?読み込み後も接続できないことがあるのはなぜですか?

REALITYは、名前を知っているだけで接続できる完全なノード設定ではありません。プロキシプロトコルやトランスポート方式、関連パラメーターと組み合わせて使うセキュリティ機構で、Xrayの設定でよく利用されます。接続の成否は、サーバーのアドレス、ポート、ユーザーID、serverName、公開鍵、shortIdなどの値が一致しているか、またコアがその組み合わせに対応しているかにも左右されます。サービス提供元の設定をそのまま読み込み、ドメインをむやみに置き換えたり、別ノードのパラメーターを流用したりしないでください。読み込みに成功したのはクライアントがデータを認識したという意味であり、サーバーが接続を受け入れたことを示すものではありません。

3つのクライアントの選び方を見る →

インストールと設定

OSとアーキテクチャに合ったものを選び、設定の読み込みと権限の許可を行いましょう。

Androidのインストーラーはarm64とuniversalのどちらを選べばよいですか?

まず端末のシステム情報やプロセッサーの仕様で、対応するABIを確認してください。比較的新しいAndroid端末の多くはarm64を選べます。アーキテクチャがわからない場合は、複数のアーキテクチャ向けコンポーネントを含むuniversal版が候補になりますが、ファイルサイズは大きめです。プロセッサーが64ビットに対応していても、現在のシステムが64ビットアプリ環境を提供しているとは限らず、互換性のある別のビルドが必要な端末もあります。インストールできない、または解析エラーが出る場合は、システム要件、空き容量、ダウンロードが完了しているかも確認してください。端末の購入年だけで判断せず、デスクトップOS向けのarm64インストーラーをAndroidに使わないでください。

サブスクリプションの読み込みに失敗する、または読み込み後に一覧が空の場合、まず何を確認すればよいですか?

コピーしたものがサブスクリプションURLであることを確認してください。アカウントページやログインページ、説明文ではありません。URLの先頭や末尾に空白、改行、句読点が混ざっていないかも確認します。次に、個別ノードの読み込みではなく、サブスクリプショングループの読み込み機能を使っていることを確認してください。グループを作成済みなのに一覧が空の場合は、サーバーのフィルター条件を解除して全グループに切り替えてから、サブスクリプションを更新します。その後、更新ログを確認し、ネットワークリクエストの失敗、ログインページの返却、非対応形式のどれに当たるかを切り分けましょう。設定ファイル全体、共有リンク、サブスクリプションの内容は、必ずしも相互に置き換えられるものではありません。クライアントが対応する適切な読み込み方法を使ってください。

v2rayNでTUNを有効にすると権限不足と表示されます。どうすればよいですか?

まずTUNを無効にし、通常のシステムプロキシで対象サイトにアクセスできることを確認してから、仮想ネットワークアダプターやルーティングの権限を設定します。Windowsではクライアントを終了し、必要に応じて管理者として起動します。macOSではシステムの案内に従ってネットワーク関連の権限を許可してください。Linuxでは、現在のインストール方法に付属する手順に沿って必要な権限を設定します。OSやバージョンによって許可の手順は異なるため、他のプラットフォーム向けのコマンドを流用しないでください。許可後も失敗する場合は、ログにネットワークアダプターの作成やルーティングのエラーがないか確認し、ほかのVPNプログラムを一時停止して再試行します。通常の権限設定の代わりに、システムのセキュリティ機能を長期間無効にしないでください。

macOSで「開発元を検証できません」と表示されます。インストールを続けるには?

まず、インストーラーが当サイトのダウンロードページにあるリンクから取得したもので、本機のApple SiliconまたはIntelチップに合っていることを確認します。一度アプリを開こうとした後、「システム設定」の「プライバシーとセキュリティ」を開き、そのアプリを許可する項目が表示されていないか確認してください。案内に従って許可し、もう一度開きます。ボタンの名称はOSのバージョンによって異なり、組織管理下の端末では操作が制限されることもあります。アプリの起動後、システムプロキシやTUNに必要な権限をそれぞれ設定してください。アプリを開く許可だけで、ネットワーク関連の権限もすべて設定されたわけではありません。1つのアプリを開くためにシステム保護を全面的に無効にしたり、入手元が不明なインストーラーを強制的に許可したりしないでください。

使い方

通信の取り込み、サーバーの絞り込み、ルールの照合を分けて設定すると、動作を確認しやすくなります。

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

システムプロキシは、システム設定に従うアプリにローカルのプロキシポートへリクエストを渡すよう指定します。すべてのプログラムを自動的に経由させるわけではありません。ルーティングでは、コアに届いたリクエストの出力先をdirect、プロキシ、blockなどから決めます。TUNは仮想ネットワークアダプターを通じて、より多くのネットワークトラフィックを取り込みますが、ルーティングやDNSの設定も必要です。まずシステムプロキシでノードが使えることを確認し、必要に応じてTUNを有効にしてください。特定のプログラムがプロキシを使わない場合、ノードの故障と決めつけず、そのプログラムがシステムプロキシに従うか確認しましょう。トラフィックの取り込み方法を変えることと、ルーティングルールを変えることは別の操作です。

複数のサブスクリプションをグループ分けする方法と、サーバーフィルターの正規表現の書き方は?

サブスクリプションの取得元ごとにグループを作り、わかりやすいメモを付けて、それぞれに更新URLを設定します。サーバー名を絞り込む場合、正規表現に対応したサーバーフィルター欄でJapan|日本と入力すると、どちらかのキーワードを含む名前に一致します。^HKならHKで始まる名前に一致します。正規表現の記号には特別な意味があるため、名前に括弧やピリオドなどが含まれる場合は、目的に応じて扱いを調整してください。まずは簡単なキーワードで試し、結果を確認してから条件を組み合わせます。一覧が突然空になった場合は、サブスクリプションを削除する前にフィルター条件を解除しましょう。フィルターによって表示や絞り込み結果が変わっても、サブスクリプションのサーバーが無効になったとは限りません。

v2rayNGでアプリごとにプロキシを設定し、バックグラウンドでの切断を減らすには?

まずv2rayNGの設定でアプリごとのプロキシを有効にし、選択したアプリのみをプロキシ経由にするモードか、選択したアプリを除外するモードか確認してください。2つのモードは意味が逆です。対象アプリの一覧を変更したら、接続し直してアプリから動作を確認します。AndroidはVpnService経由で通信を取り込むため、同じVPN経路を使用する別のサービスとは通常、同時に動作できません。画面ロック後に頻繁に切断される場合は、システムのバッテリー設定でアプリのバックグラウンド実行を許可し、端末が備える項目に応じて自動起動を設定します。省電力設定を一度に大量に変えず、まずログやシステム通知を確認し、プロセスが終了させられたのか、リモート接続が切れたのかを見極めてください。

geositeとgeoipのルールを更新しても、ルーティングが想定どおりにならないのはなぜですか?

geositeはドメインの集合、geoipはIPアドレスの集合に基づいて照合します。データファイルを更新しても分類情報が補われるだけで、ルールの順序や出力先タグは自動で変わりません。まず、現在のコアが更新後のファイルを読み込んでいることを確認し、設定を再読み込みします。さらに、先にある広範な条件にルールが捕捉されていないか確認してください。geosite:cnを使う場合、コアが照合可能なドメイン情報を取得できる必要があります。対象のIPアドレスしかわからないと、ルールに一致しないことがあります。ログで実際に一致したルールと出力先を確認し、1つずつ検証しましょう。想定どおりに動かない接続をすべて、データベースが古いせいだと決めつけないでください。

ルーティング、DNS、TUNの設定をさらに読む →

トラブル対処

使える設定を残し、比較検証してからログをもとに原因を絞り込みましょう。

v2rayNでサブスクリプションの更新に失敗した場合、どの順番で確認すればよいですか?

まずサブスクリプションURLが期限切れになっていないか、リセットされていないかを確認し、端末の時刻も確かめてください。次に、プロキシを経由しない更新と、プロキシを経由する更新をそれぞれ試します。前者は現在の直接接続に依存し、後者には利用可能なノードが必要です。無効なノードを使って更新することはできません。ログでDNS、TLS、タイムアウト、HTTPステータスの情報を確認してください。ログインページや権限エラーが返る場合は、クライアントを何度も再インストールするのではなく、サブスクリプションのアカウントやURLを確認します。調査中は既存のグループを残し、まだ使える設定を誤って削除しないようにしてください。ログを共有する前にサブスクリプションURL全体と認証情報を隠し、公開ページには元のURLを投稿しないでください。

ノードの接続がタイムアウトします。サブスクリプションの問題ですか、それともローカルネットワークの問題ですか?

1つのノードがタイムアウトしても、サブスクリプション全体が無効とは限りません。まず端末が通常どおりインターネットに接続できるか確認し、同じサブスクリプション内の別ノードと同じ対象サイトで再テストします。可能であれば別のローカルネットワークでも比較してください。特定のノードだけ失敗する場合は、そのサーバーのアドレス、ポート、稼働状況を重点的に確認します。すべてのノードが失敗する場合は、ローカルのファイアウォール、DNS、システム時刻、他のプロキシプログラムとの競合を確認してください。クライアントのテスト結果が、実際のすべての通信状況を示すわけではありません。実際のアクセス状況とログをあわせて判断しましょう。設定を変更するときは一度に1項目だけ変更し、結果を記録してから次に進みます。

接続済みなのにインターネットにアクセスできません。DNSとノードのどちらを先に確認すればよいですか?

接続済みという表示は、通常、ローカルプロキシや仮想ネットワークアダプターが起動したことを示します。リモートサーバーや対象サイトへの接続まで保証するものではありません。まず別のノードと別の対象サイトで試し、特定箇所だけの障害か確認します。次に、システムプロキシのポートがクライアントの待ち受けポートと一致しているか、リクエストが実際にコアへ届いているかを確認してください。ログにドメインの名前解決失敗がある場合は、DNSサーバーのアドレス、問い合わせ経路、ループの発生を重点的に調べます。サーバーへの直接接続がタイムアウトする場合は、まずネットワークまたはノードの問題を解消してください。TUNを有効にした後にだけ起きる問題は、一時的にシステムプロキシに戻して検証し、DNSとルーティングを1つずつ元に戻します。すべてのパラメーターを同時に変更しないでください。

v2rayNのシステムプロキシが効かず、終了後は直接接続もできません。どうすればよいですか?

まず、クライアントでシステムプロキシの自動設定が有効になっていることを確認し、OSのプロキシ設定にあるアドレスとポートを照合してください。ブラウザー拡張機能、アプリ内の個別プロキシ、ほかのプロキシツール、組織のポリシーがシステム設定を上書きする場合があります。特定のアプリだけで問題が起きる場合は、まずそのアプリのネットワーク設定を確認します。クライアントを終了する前に、システムプロキシを解除してください。異常終了後に直接接続できない場合は、OSのネットワーク設定で残っている手動プロキシを無効にし、ブラウザーを再起動して確認します。プロキシを無効にすることと、ネットワークを切断することは別です。ローカルプロキシのポートが待ち受けを停止した後も、システムがそのポートを参照しているとリクエストは失敗します。