CLIENT / QUESTIONS
V2Rayのよくある質問
クライアント、設定方法、トラブルの段階から情報を探せます。まず使用中のコアとプロキシモードを確認し、ログを見ながら順に切り分けてください。設定は一度に1つだけ変更し、元に戻せる状態を保ちましょう。
CONCEPT / CLIENT / CORE
基礎知識
クライアント、コア、接続設定の違いを理解しましょう。選ぶ際は、まずプラットフォーム、次に必要な設定を確認します。
V2Ray、Xray、GUIクライアントの役割は?
V2RayはProject Vのプロキシツール群の一つです。V2FlyはV2Rayコアの開発を引き継ぎ、Xrayは別系統のコアです。コアはプロトコル接続、ルーティング、DNSなどを処理し、GUIクライアントはノードの保存、サブスクリプションの管理、設定の生成、コアの起動を担います。トラブル時はこの2つの層を分けて確認しましょう。画面が開いていてもコアが起動しているとは限らず、コアが起動していてもシステムの通信がプロキシを経由しているとは限りません。まずクライアントのログで起動結果を確認し、次にプロキシの入口を調べます。
v2rayN、v2rayNG、v2flyNGはどう選ぶ?
Windows、macOS、Linuxのデスクトップではv2rayNを選び、CPUアーキテクチャとインストーラーの形式に合ったものを使います。Androidでは通常、Xrayコアを使うv2rayNGが候補です。V2Flyコアを使いたい場合はv2flyNGを検討してください。クライアント名だけで設定の互換性を判断せず、サーバー側のプロトコル、通信方式、安全性に関する項目も確認しましょう。特定の項目が使えない場合は、実際に起動しているコアとバージョンを確認してから、クライアントを変更するか判断します。
クライアントをインストールしたのに、ノード一覧が空なのはなぜ?
クライアントは設定と接続を管理するツールです。インストールしただけでは、サーバーのアドレスや接続情報は作成されません。正規の方法で取得したサブスクリプションURL、共有リンク、または手入力した接続情報を使ってノードを登録します。サブスクリプションには通常複数のノードが含まれますが、共有リンクは1つのノードを示すことが多く、それぞれ追加方法が異なります。追加前に情報の種類を確認し、追加後はノード名、アドレス、ポートが表示されているか確認してください。アカウント管理ページのURLをサブスクリプションURLとして貼り付けないようにしましょう。
VMess、VLESS、Trojan、REALITYは同じ種類の設定?
VMess、VLESS、Trojanはプロキシプロトコルの名称です。REALITYはセキュリティ機構であり、これらと並ぶ独立したノードプロトコルではありません。接続設定にはTCP、WebSocket、gRPCなどの通信方式が含まれる場合もあります。手動設定では、プロトコル、アドレス、ポート、ユーザー識別子、通信方式、安全性に関する項目をそれぞれ照合してください。プロトコル名が同じだけでは設定が一致しているとは限りません。不明な項目は設定の提供元に確認し、サーバー名や公開鍵、短いIDなどを推測で入力しないでください。
PACKAGE / IMPORT / PERMISSION
プラットフォーム導入
インストーラーのアーキテクチャ、サブスクリプション形式、システム権限をそれぞれ確認します。メニュー名はクライアントのバージョンによって異なる場合があるため、現在の画面に表示される案内に従ってください。
Androidのインストーラーはarm64とuniversalのどちらを選ぶ?
端末の発売年だけでなく、対応するアプリのアーキテクチャを確認しましょう。64ビットARMアプリに対応している端末なら、通常はarm64を選びます。アーキテクチャが分からない場合は、複数のアーキテクチャに対応したuniversalを選べますが、ファイルサイズは大きくなる傾向があります。解析エラーやインストール失敗が起きた場合は、ファイルのダウンロードが完了しているか、OSの要件を満たしているか、署名の異なる旧版が残っていないかも確認してください。旧版をアンインストールする前に設定をエクスポートし、ノードやグループの情報がアプリデータと一緒に削除されないようにしましょう。
サブスクリプションを追加できないとき、最初に確認することは?
まず、URLの保存、コンテンツの取得、ノードの解析のどの段階で失敗しているかを切り分けます。保存できない場合は、URLの前後に空白や改行がないか、コピー時に途中で切れていないか確認します。取得に失敗した場合は、ログに記録されたネットワークエラーやHTTPエラーを確認してください。取得できてもノードが表示されない場合は、ログインページやエラーページが返されていないか、クライアントが対応していない形式ではないかを調べます。v2rayNではサブスクリプショングループの設定にURLを保存した後、サブスクリプションを更新する必要があります。URLにアクセストークンが含まれる場合があるため、スクリーンショットや問い合わせ用ログではURL全体を隠してください。
システムプロキシを有効にしても、アプリが直接接続するのはなぜ?
システムプロキシは、システム設定に従うアプリにプロキシの接続先を知らせる機能であり、すべての通信を自動的に取り込むものではありません。まずクライアントのコアが起動していることを確認し、システムプロキシのホストとポートがローカルのHTTPまたはmixedインバウンドに対応しているか調べます。次に、対象アプリが独自のプロキシを使っていないか、プロキシを明示的に無効にしていないか、設定を読み込むために再起動が必要でないかを確認してください。コマンドラインツールや一部のアプリでは個別の設定が必要です。システムプロキシに従わない通信には、TUNモードが適しているか検討しましょう。スイッチの状態だけで通信経路を判断しないでください。
TUNモードで権限不足と表示されたときの対処法は?
TUNは通常、仮想ネットワークインターフェースやシステムルートを使うため、必要な権限はプラットフォーム、クライアントのバージョン、実装によって異なります。デスクトップではクライアントの権限に関する案内を読み、必要に応じて管理者権限や補助サービスへの許可を与えてください。Androidでは、システムに表示されるVPN接続リクエストを許可します。ほかのVPNやネットワーク制御ツールが同じリソースを使用していないかも確認しましょう。許可した後、該当モードを再起動してログを確認します。不明なドライバーを繰り返しインストールしたり、すべての権限エラーをノードの障害と決めつけたりしないでください。
GROUP / ROUTING / LAN
使い方
サブスクリプションの管理はクライアント層、ルーティングの選択はコア層の機能です。それぞれの役割を分けておくと、問題を再現しやすく、設定を元に戻すのも簡単です。
複数のサブスクリプションをグループ分けし、更新時の誤削除を防ぐには?
サブスクリプションの提供元ごとにグループを作り、提供元を判別できる名前を付けて、対応するURLを保存する方法がおすすめです。手動で追加したノードは別に保管し、サブスクリプションの更新で上書きされるリストに混ぜないでください。更新前に、操作対象が1つのグループか全グループかを確認し、更新後はノード数や選択中の項目を確認します。ノード数が減っても、必ずしもクライアントの不具合とは限らず、提供元の内容が変わった可能性もあります。グループ分けやフィルタリングはクライアントの管理機能であり、汎用のコア設定項目として扱うものではありません。
ルールモードとグローバルプロキシの違いは?
ルールモードは、ドメイン名、IP、ポートなどの条件に応じて通信の出口を選びます。グローバルプロキシは通常、クライアントに入った通信をまとめてプロキシ経由で送るモードですが、対象範囲はクライアントの仕様によって異なります。すべてのアプリの通信が取り込まれるわけではなく、TUNが自動的に有効になるわけでもありません。振り分けを調べるには、一時的に対象の通信をプロキシ経由にして比較し、その後ルールモードに戻して適用されたルールを確認します。通信がクライアントに入る経路と、入った後に出口を選ぶ処理は分けて確認してください。
特定のドメインに想定したルーティングルールが適用されているか確認するには?
まず再現可能なアクセスを1回行い、クライアントのログで該当するドメイン、宛先アドレス、アウトバウンドタグを探します。routingルールは通常、上から順に評価されます。先にある広範な条件が、後続のルールより先に通信を拾う場合があります。ルールのoutboundTagは、outbounds内のtagと一致している必要があります。また、リクエストがコアに届いた時点でドメイン名が保持されているかも確認してください。IPアドレスしかないリクエストは、ドメインルールに一致しない場合があります。調整は一度に1項目だけ行い、設定を再読み込みしてください。DNSとルーティングを同時に変更すると、原因を特定しにくくなります。
同じLAN内の端末からパソコンのプロキシを使うには?
まずパソコンのクライアントでLAN接続を許可し、プロキシのインバウンドがループバックアドレスだけでなく外部からの接続も待ち受けていることを確認します。パソコンのLAN内IPアドレスと実際の待ち受けポートを控え、もう一方の端末のプロキシ設定にそのIPアドレスと対応するHTTPまたはSOCKSポートを入力してください。パソコンのファイアウォールで、信頼できるLANからの接続が許可されているかも確認します。両方の端末が相互に通信できる必要があり、ゲストネットワークや無線端末間の通信分離が接続を妨げる場合があります。信頼できるネットワーク内だけで公開し、接続元を制限してください。プロキシポートをインターネットに公開しないでください。
LOG / CONNECTION / DNS
トラブル対処
失敗した時刻、操作手順、最初に出た明確なエラーを記録してください。ログを共有する前に、サブスクリプションURL、ユーザー識別子、その他の接続情報を隠しましょう。
以前は更新できたサブスクリプションが更新できなくなったときは?
使える設定を失わないよう、まず現在のノードを残しておきましょう。サブスクリプションの有効期限、URLがリセットされていないか、端末の時刻が正しいかを確認し、ログを見て接続タイムアウト、証明書エラー、HTTPステータスエラーを切り分けます。クライアントに直接更新とプロキシ経由の更新がある場合は、利用可能なノードがあるときにそれぞれ試せます。使えなくなったノード経由で更新しようとすると、解決できない状態に陥ることがあります。返された内容が変わっている場合は、提供元が対応するサブスクリプション形式を確認し、エラーページをノード一覧に何度も追加しないでください。
ノードの接続テストがタイムアウトしたら、サーバーの障害?
必ずしもそうとは限りません。テスト結果は、接続先、DNS、利用中のネットワーク、プロトコル設定、サーバーの状態などに左右されます。まずテスト方法がポートへの接続確認なのか、プロキシを使った実際の通信なのかを確認してください。両者は同じ意味ではありません。次に、アドレス、ポート、端末の時刻、サーバー側で指定されている通信方式やセキュリティ設定を調べ、失敗時のログも確認します。正常に使えると分かっている別のノードやネットワークと比較できますが、ノードを何度も一括テストするのは避けましょう。すべてのノードが同時に失敗する場合は、まずローカルのコアが起動しているか、ネットワークが正常か確認してください。
クライアントは起動中なのにWebページが開けないときの切り分け方は?
ローカルの入口、ルーティング、リモート接続、DNSの順に確認します。まずブラウザーのリクエストがクライアントのログに記録されているか調べてください。記録がない場合は、システムプロキシ、アプリ独自のプロキシ設定、TUNの対象範囲を確認します。記録があるのに接続できない場合は、アウトバウンドタグ、ノードの設定、リモート側のエラーを照合します。ドメインの名前解決だけが失敗する場合は、DNSサーバーへの通信経路を確認してください。セキュリティソフトをすべて無効にするのは避けましょう。すべてのサイトで起きるのか、特定のドメインやアプリだけなのかも確認してください。
コアの起動に失敗したとき、ログから設定の問題を判断するには?
最後の終了メッセージだけでなく、起動中に最初に出た明確なエラーを確認します。JSONの解析エラーなら、カンマ、引用符、括弧を見直してください。ポートが使用中の場合は、古いプロセスや別のプログラムが同じインバウンドポートを使っていないか調べます。未知のプロトコルや項目が表示された場合は、設定内容とコアの対応状況を照合してください。ルール用のリソースが見つからないというエラーなら、クライアントが管理する該当リソースが存在するか確認します。クライアントが生成した一時設定を変更しても、次回の起動時に上書きされることがあります。まず画面上の設定や、カスタム設定の読み込み元を修正してください。