CLIENT / CONFIGURATION / DIAGNOSIS
V2Rayのよくある質問
サブスクリプション・接続・プロキシのトラブル対処
まず、インストーラー、サブスクリプションの内容、通信の取り込み方、ルーティングルールを切り分けてから、症状に応じて確認しましょう。以下ではAndroid版v2rayNGとデスクトップ版v2rayNを扱います。設定項目名はバージョンによって多少異なる場合があります。
基礎知識
クライアント、コア、設定の役割を確認しましょう。
v2rayNG・v2rayN・v2flyNGの選び方
Androidでは通常v2rayNGを選び、主にXrayコアを使用します。V2Flyコアの設定が必要な場合はv2flyNGを検討してください。Windows、macOS、Linuxのデスクトップではv2rayNを選びます。クライアントは設定のインポート・編集・起動を担い、コアは接続とルーティングを実行します。両者は役割が異なります。まずOSを確認し、サーバーが要求するプロトコル、トランスポート方式、安全レイヤーを照合してください。名前が似ているだけで設定を使い回せるとは限りません。インストール先はダウンロードページに、コアの機能やプロトコルの違いはプロトコルガイドにまとめています。
クライアントをインストールしたのに、接続設定がないのはなぜですか?
クライアントのインストーラーには、画面表示や実行に必要なコンポーネントが含まれていますが、接続先のサーバーアドレスや認証情報は自動で作成されません。利用権限のあるサブスクリプションURL、個別の共有リンク、または設定ファイルを入手し、対応するクライアントにインポートしてください。インポート後は、アドレス・ポート・プロトコル・安全レイヤーがそろっているか確認し、使用する設定を選んで接続を開始します。画面に設定が表示されても、解析に成功しただけで、サーバーへの接続が保証されるわけではありません。当サイトではクライアントの入手先と設定方法を案内しています。接続サービスの利用可否は、設定の提供元にご確認ください。
V2RayのサブスクリプションURLと個別の共有リンクはどう違いますか?
サブスクリプションURLは通常、クライアントが設定一覧を取得するためのHTTPSアドレスで、更新時にも同じURLへアクセスします。個別の共有リンクは通常vmess://、vless://、trojan://、ss://で始まり、1つの接続設定を表します。Base64形式のサブスクリプションは、複数の共有リンクをまとめてエンコードしたもので、別のプロキシプロトコルではありません。サブスクリプションURLはサブスクリプショングループに登録し、個別リンクはクリップボードからのインポートなどで追加します。サブスクリプションURLを共有リンクとして貼り付けると、形式に対応していないというエラーが出ることがあります。また、ブラウザーに表示されたログインページのURLをサブスクリプションURLと間違えないようにしてください。
システムプロキシ、ルーティングの全局モード、AndroidのVPNモードは同じものですか?
異なります。システムプロキシは、その設定に従うアプリのリクエストをローカルプロキシへ送るためのものです。ルーティングの全局モードは、コアに届いたリクエストの送信先を決めます。AndroidのVPNモードは、システムのVPNインターフェースを使って通信を取り込みます。ルーティングを全局モードにしても、デスクトップのすべてのアプリが自動的にシステムプロキシを使うわけではありません。AndroidでVPNを有効にしても、すべての通信が必ずリモートプロキシを経由するとは限らず、ルーティングやアプリごとの設定にも左右されます。まずアプリの通信がクライアントに届いているか確認し、次にルールによる振り分け先を調べてください。デスクトップのTUNは別の通信取り込み方式であり、ルーティングのプリセットと混同しないようにしましょう。
インストールと設定
APKのアーキテクチャ、インポート方法、システム権限から確認しましょう。
AndroidのAPKはarm64とuniversalのどちらを選べばよいですか?
比較的新しいAndroidスマートフォンの多くはarm64を選べますが、最終的にはOSが対応するアプリのABIで判断してください。プロセッサーの製品名や購入時期だけでは決められません。まず端末の仕様を確認し、分からない場合はuniversalを選びましょう。複数のアーキテクチャ向けコンポーネントを含むため、APKのサイズは通常大きくなります。64ビットプロセッサーを搭載していても、32ビットアプリのみ対応のOSを実行している端末では、arm64版をインストールできない場合があります。APKに互換性がないと表示されたら、アーキテクチャと最低システム要件を確認してください。署名の競合が表示された場合は、既存アプリの入手元を別途確認し、アーキテクチャを次々に変えて上書きしようとしないでください。
v2rayNGのサブスクリプションURLはどこに入力しますか?
v2rayNGのサイドバーを開き、サブスクリプショングループの設定に進みます。追加画面でメモとサブスクリプションURLを入力して保存したら、設定一覧に戻り、メニューからサブスクリプションを更新します。画面上の項目名はバージョンによって多少異なることがありますが、先にグループを保存し、その後にサブスクリプションを取得する流れは同じです。貼り付ける前に、URLの前後に空白や改行、チャットアプリが付けた句読点がないか確認し、URLのパラメーターは変更しないでください。更新後、そのグループ内の設定を選んで接続します。ページ全体をURL欄に貼り付けたり、サブスクリプションの認証情報を公開の掲示板に投稿したりしないでください。詳しい手順は入門ガイドをご覧ください。
インポート時に形式エラーや非対応と表示されたら、まず何を確認しますか?
まず、入力したものがサブスクリプションURL、個別の共有リンク、設定ファイルのどれかを確認し、それぞれに合った方法でインポートしてください。v2rayNGとv2rayNのクリップボードインポートは、認識可能な共有情報を読み込む機能であり、あらゆるサブスクリプション形式を変換するものではありません。コピー時はコードブロックや説明文を取り除き、リンクのパラメーターをすべて残してください。QRコードの場合は、欠けやぼやけがないか確認します。取得した内容がログインページ、エラーページ、または別の設定形式なら、ダウンロードできても現在の形式として解析できません。形式を確認したら、クライアントとコアが使用されているプロトコルやトランスポート方式の組み合わせに対応しているか調べてください。リンクの先頭部分をまとめて変更するのは避けましょう。
VPNやTUNの起動時に権限不足と表示された場合はどうすればよいですか?
Androidでv2rayNGのVPNモードを起動する際は、システムに表示されるVPN接続リクエストを許可してください。拒否した場合は接続を再開して許可し、別のVPNや常時接続VPNの設定がインターフェースを使用していないか確認します。デスクトップ版v2rayNのTUNモードは仮想インターフェースとシステムルートを使用するため、必要な権限はOS、インストール方法、バージョンによって異なり、管理者権限や対応する補助サービスが必要な場合があります。まずログに記録されたエラーを確認し、クライアントの案内に従って権限を設定してください。常に最高権限で実行することを一般的な解決策と考えたり、システムのセキュリティ機能をむやみに無効にしたりしないでください。
使いこなし
アプリが通信を取り込む方法を確認してから、リクエストの送信先を調整しましょう。
v2rayNでシステムプロキシを設定したのに、一部のアプリでしか使えないのはなぜですか?
システムプロキシが適用されるのは、その設定を参照するアプリだけです。独自のプロキシ設定を使うアプリもあれば、直接接続するアプリもあります。まずv2rayNのコアが起動していることと、システムプロキシの設定が実行済みであることを確認し、システムプロキシのポートとクライアントのローカル待ち受けポートが一致しているか調べてください。ブラウザーにプロキシ拡張機能を入れている場合は、一時的に無効にするか、設定を統一します。ターミナルでは通常、環境変数を別途設定する必要があります。あるアプリで使えないからといって、すぐにリモート側の設定を変更しないでください。より多くのアプリの通信を取り込む必要がある場合は、TUNモードを検討し、利用環境に適した権限・ルーティング・DNSの設定を確認しましょう。
ターミナルからv2rayNのローカルプロキシを使うにはどうすればよいですか?
まずクライアントの設定で、ローカルのHTTPまたはSOCKSの待ち受けアドレスとポートを確認し、ターミナルツールの説明に従ってプロキシを設定してください。一般的なツールはhttp_proxy、https_proxy、ALL_PROXYを参照しますが、変数名の大文字・小文字やプロトコルの対応状況はプログラムによって異なります。変数には、実際にこの端末で待ち受けているプロキシを指定します。HTTPプロキシ経由でHTTPSリクエストを送る場合も、通常はhttp://形式を使います。接続先がHTTPSだからといって、https://に変更しないでください。設定後は同じターミナルセッションでテストし、プロキシを使わないときは変数も削除します。他の人のポート番号をそのまま使ったり、リモートサーバーのポートをローカルプロキシのポートとして指定したりしないでください。
アプリごとのプロキシを有効にすると、どのアプリがクライアントを経由しますか?
v2rayNGの設定でアプリごとのプロキシを有効にしたら、まず現在選択しているモードの説明を読み、一覧が「選択したアプリだけをプロキシ経由にする」のか、「選択したアプリを除外する」のか確認してください。表示方法はバージョンによって異なるため、チェックの状態だけで判断できません。設定を保存したらVPN接続を再起動し、新しい対象アプリの範囲を適用してから、目的のアプリで接続をテストします。アプリごとの設定はプロキシ処理に取り込む通信を決め、ルーティングルールはその通信の送信先を決めます。ブラウザーは使えるのに他のアプリで問題が起きる場合は、対象アプリが除外されていないか、対象範囲に含まれていない別のサービスコンポーネントに依存していないか確認してください。
ルーティングルールとDNSは同時に変更すべきですか?
設定は分けて変更し、一度に変える項目は1つにしてください。ルーティングルールはリクエストの送信先を決め、DNSは名前解決を行います。domainStrategyは、ルーティングの照合時にドメイン名をいつ解決するかに影響します。まず現在動作している設定を記録し、使用中のルーティングプリセットとルールの順序を確認してから、名前解決の問題に対処してください。Webサイトの表示が遅いという理由だけで、ローカルDNSの有効化、DNSサーバーの変更、ルールの並べ替えを同時に行うと、どの変更が効いたのか分からなくなります。geositeまたはgeoipルールを使う場合は、リソースファイルが利用可能かも確認してください。効果を比較する際は、同じアプリ・接続先・近いネットワーク条件でテストし、元に戻せるよう元の設定を残しておきましょう。
トラブル対処
利用可能な設定を残し、ログから問題が起きている箇所を特定しましょう。
サブスクリプションの更新に失敗しても、既存の設定で接続できる場合はどうすればよいですか?
サブスクリプションの更新と、既存の設定を使った接続ではリクエスト経路が異なる場合があります。そのため、片方だけ成功または失敗することがあります。まず既存の設定を残し、サブスクリプションURLの有効期限、アクセス認証情報の変更、端末の日付と時刻を確認してください。次にログを見て、名前解決の失敗、接続タイムアウト、証明書エラー、HTTPステータスエラーを切り分けます。アクセス拒否やURLの無効を示すエラーが出た場合は、サブスクリプションの提供元に問い合わせてください。クライアントにプロキシ経由で更新する設定がある場合は、現在のネットワークから直接接続できるか、利用可能な既存接続を使う必要があるか確認して選びます。新しい内容を取得する前にサブスクリプショングループ全体を削除したり、完全なサブスクリプションURLを公開ログに貼り付けたりしないでください。
ノードのテストがタイムアウトした場合、サーバーが必ず利用不能ということですか?
必ずしもそうではありません。テストによって、TCP接続、プロキシ経由のリクエスト全体、指定URLへのアクセスなど、測定する対象が異なり、タイムアウトが示す失敗箇所も異なります。まずテストの種類を確認し、アクセス可能と分かっているURLを実際に開いて、同じ時刻のログも確認してください。サーバーアドレスとポートに誤りがないか、端末の時刻が正確か、現在のネットワークがその接続方式を許可しているかを調べ、可能であれば別のネットワークでも再テストします。TCP接続に成功しても、認証、TLS、トランスポートのネゴシエーションが成功するとは限りません。一度のテスト結果を恒久的な状態とみなしたり、テストのタイムアウト時間を何度も短くしたりしないでください。複数のネットワークで同じエラーが出る場合は、設定の提供元にサーバーの状態とパラメーターを確認しましょう。
クライアントは接続済みなのにWebページが開けない場合、どの順番で確認しますか?
接続済みという表示は通常、ローカルサービスやVPNインターフェースが起動したことを示すだけで、リモートへのアクセス確認を意味しません。まず意図した設定が選択されているか確認し、対象アプリの通信がローカルプロキシに届いているか調べます。AndroidではVPNとアプリごとの対象範囲、デスクトップではシステムプロキシ、拡張機能、ターミナル独自の設定を確認してください。次にログを見て、DNS解決、認証、TLSネゴシエーション、リモート接続のどこで失敗しているかを切り分け、ルーティングルールが目的の送信先へ振り分けているか確認します。別のアプリとURLでもテストし、特定サイトだけの問題を全体の障害と混同しないようにしてください。変更は一度に1つにして、結果を記録します。サブスクリプション、DNS、ルーティングプリセットを同時に変更しないでください。
画面ロック後に切断される、またはネットワーク復帰後に再接続できない場合は?
まず、画面ロック後、Wi-Fiとモバイル通信の切り替え後、またはシステムがバックグラウンドアプリを終了した後のどのタイミングで問題が起きるか確認します。Androidではシステムのアプリ設定からv2rayNGのバッテリー設定、バックグラウンド実行、バックグラウンドデータの権限を確認し、端末にある項目に応じて必要なバックグラウンド動作を許可してください。すべてのアプリの制限を緩める必要はありません。システムのVPN接続が維持されているか確認してから、接続を停止して再起動します。ネットワーク切り替え後にだけ失敗する場合は、復帰時のログを記録してください。デスクトップではスリープ復帰後のネットワークとローカルコアの状態を確認します。頻繁な再起動を続けても原因の特定にはなりません。バッテリー設定やネットワーク環境を変え、再現条件を比較しましょう。