v2rayNG よくある質問
基礎知識、インストールと設定、活用のヒント、トラブルシューティングの4カテゴリに分けて、よくある質問を20件まとめました。回答はすべてクライアントに実際にある設定項目に対応しています。サブスクリプション設定、ルーティングモード、アプリごとのプロキシ、DNS と TUN の権限など、困ったときはそのまま照らし合わせて変更できます。v2rayN デスクトップ版に関する部分は回答内で個別に示しています。
- コア Xray / V2Fly
- プロトコル VMess / VLESS / Trojan / SS / REALITY
- 対応 OS Windows / macOS / Android / Linux
- クライアント v2rayN / v2rayNG / v2flyNG
基礎知識
まず3つのクライアント、2つのコア系統、いくつかのプロトコル名の関係を整理します。以降のカテゴリの設定と対処は、すべてこの概念が土台になります。
5件の Q&Av2rayNG、v2rayN、v2flyNG の3つのクライアントは何が違う?
v2rayN はデスクトップ向けクライアントで、Windows、macOS、Linux の3プラットフォームに対応し、ノード一覧、ルーティングルール、システムプロキシの管理が中心です。v2rayNG は Android 向けクライアントで、既定で Xray コアを使用し、設定項目はルーティングモード、アプリごとのプロキシ、サブスクリプション管理に集約されています。v2flyNG も Android 向けクライアントですが、コアが V2Fly になっている点が異なります。
3者のサブスクリプション URL とノード共有リンクの形式は共通で、どのクライアントでもインポートできます。選び方としては、デスクトップは v2rayN、Android は既定で v2rayNG、V2Fly コアが必要な場合に v2flyNG を追加します。2つの Android クライアントを同時にインストールし、それぞれ別のサブスクリプションをインポートすることもできます。
V2Fly と Xray という2つのコアはどんな関係?
両者は同じ起源で、どちらも Project V の v2ray-core から生まれました。V2Fly コミュニティが v2ray-core の以降のメンテナンスを引き継いでおり、この系統の流れを継ぐものです。Xray は同じコードから分岐し、プロトコル実装に VLESS、XTLS、REALITY などの拡張を加えています。
実際の使用での違いは主にプロトコル対応に現れます。v2rayNG は Xray コアを同梱しているため、ノードが VLESS や REALITY 付きでもそのまま認識できます。v2flyNG は V2Fly コアを使い、以前の設定との互換性をより保守的に保っています。両者の設定ファイル形式はほぼ同じで、ほとんどのサブスクリプションリンクはどちらでも正常にインポートできます。
VMess、VLESS、Trojan、SS、REALITY という名前はそれぞれ何を指す?
最初の4つはプロキシプロトコルです。VMess は Project V の初期からの主力プロトコルで、ハンドシェイク時に時刻検証を行います。VLESS は簡素化されたステートレスプロトコルで、暗号化・復号と時刻検証の工程を省いています。Trojan は標準の TLS 接続を使い、通信の特徴が通常の HTTPS に近くなります。SS は Shadowsocks を指し、プロトコル構造が単純でオーバーヘッドが小さいのが特徴です。
REALITY は独立したプロトコルではなく、Xray における TLS 偽装の一種で、通常は VLESS と組み合わせて使われ、ハンドシェイク時に実在サイトの証明書を借ります。クライアントはノード情報の種類からプロトコルを自動判別するため、通常は手動指定は不要です。横並びで比較したいときは、技術リファレンスのプロトコルの章を参照してください。
サブスクリプションリンクと単体ノードの共有リンクは何が違う?
サブスクリプションリンクは HTTP または HTTPS の URL で、クライアントがアクセスするとノード一式を取得でき、定期更新にも対応します。共有リンクは vmess://、vless://、trojan://、ss:// で始まり、1つのノードのパラメータだけを含み、インポート後は固定の1件として扱われ、自動更新はされません。
サービス提供元は通常どちらも用意しています。サブスクリプションリンクは長期的な利用と一括管理に、共有リンクは一時的にノードを1つ追加したいときや、2台の端末間で設定を受け渡したいときに適しています。v2rayNG では、前者は「サブスクリプション設定」、後者は「クリップボードからインポート」から行います。
クライアントを更新すると、インポート済みのノードや設定は消える?
通常の上書きインストールでは消えません。ノード、サブスクリプション URL、ルーティングモード、アプリごとのプロキシ一覧はアプリのデータディレクトリに保存され、バージョンアップではプログラムファイルだけが置き換わり、データはそのまま残ります。
注意が必要なのは2つの場合です。アンインストールして再インストールするとアプリデータは消去されるため、更新前にサブスクリプション URL を控えておくと安心です。メジャーバージョンをまたぐ更新では一部の設定項目の位置が変わるので、完了後にルーティングモード、アプリごとのプロキシ、DNS 設定をそれぞれ確認しておきましょう。
インストールと設定
どのパッケージを入れるか、サブスクリプションをどう取り込むか、ルーティングモードとアプリごとのプロキシをどう選ぶか。このカテゴリは操作の順番を間違えやすいところです。
5件の Q&Aサブスクリプションのインポートに失敗し、解析エラーが出るときは?
3つの手順で確認します。第一に、取得したのが Web ページの URL ではなくサブスクリプション URL であることを確認します。サブスクリプション URL を開くと、紹介ページではなくエンコードされたテキストかノード一覧が返ります。第二に、URL が途中で切れていないか確認します。チャットや Web ページからコピーすると末尾のパスパラメータを落としやすいので、最後までコピーし直します。第三に、別の取り込み方法で検証します。v2rayNG で「クリップボードからサブスクリプションをインポート」に URL を貼り付け、それでもエラーになる場合はブラウザでその URL を直接開き、返ってくる内容がエラーページやログインページでないかを見ます。
URL 自体が失効している場合、クライアント側でどう操作してもノードは取得できません。サービス提供元に新しいサブスクリプション URL を依頼するしかありません。インポートに成功するとノードはグループごとに一覧に表示されるので、まずリアル遅延テストを1回行ってからノードを選びましょう。
Android では arm64 版と universal 版のどちらを選ぶ?
プロセッサのアーキテクチャで判断します。2015年以降の主要なスマートフォンはほぼ 64 ビット ARM チップなので、arm64 版で問題ありません。パッケージが小さく、動作効率も良くなります。universal 版は複数のアーキテクチャのライブラリを同時に含むため、古い機種やエミュレーターにも対応しますが、インストールパッケージは大きくなります。
迷ったらまず arm64 版を入れ、アプリがインストールされない、またはパッケージの解析に失敗したという表示が出たら universal 版に切り替えます。2つのバージョン間でアプリデータは共有されないため、切り替える前にサブスクリプション URL を控えておき、インストール後に改めてインポートしてください。
ルーティングモードの「プロキシのみ」「LAN をバイパス」「グローバル」はそれぞれどんな場面で使う?
「プロキシのみ」はルーティングルールに一致した通信だけをプロキシに渡し、それ以外は直接接続するため、ルールを細かく書いている場面に向いています。「LAN をバイパス」はすべての通信をプロキシしつつ、プライベートネットワークのアドレス帯(192.168.x.x、10.x.x.x など)を除外するもので、家庭やオフィスのネットワークでよく使われる設定です。「グローバル」はすべての通信をプロキシに送るため、ノードが使えるか一時的に確認したいときに適しています。
切り替えた後は一度切断して再接続しないと反映されません。日常使いは「LAN をバイパス」のままにしておき、特定のアプリの挙動がおかしいときに一時的に「グローバル」へ切り替えて比べると、問題が振り分けルールにあるのかノード自体にあるのかを判断できます。
アプリごとのプロキシはどう設定する? どのアプリをプロキシ経由にすべき?
v2rayNG の「アプリごとのプロキシ」には2つのモードがあります。ホワイトリストはチェックしたアプリだけをプロキシし、ブラックリストはチェックしていないアプリだけを通します。既定ではすべてのアプリがプロキシ経由になります。
よくある使い方としては、ブラウザ、メールクライアント、開発ツールをホワイトリストに入れ、銀行、決済、フードデリバリーなどネットワーク環境に敏感なアプリを除外し、ログイン時のリスク判定や地域チェックによる支障を減らします。変更後は同じく一度切断して再接続し、新しい振り分けルールを反映させましょう。一覧のアプリは名前順に並んでいるので、用途が分からないものはチェックしないでおくのが無難です。
サブスクリプションの更新に失敗し、ノード一覧が古いままのときは?
まず「サブスクリプションを更新」を手動で1回実行し、返ってくるメッセージを確認します。よくある原因は3つです。1つ目は、サービス提供元がサブスクリプション URL の token やパスを変更し、古い URL が 404 を返すようになったケース。2つ目は、現在のネットワークでサブスクリプションのドメインが名前解決できていないケースで、別のネットワーク(Wi-Fi からモバイルデータなど)に切り替えて試します。3つ目は、クライアントの自動更新間隔が長く、起動のたびに更新されるわけではないという点です。
URL が有効だと確認できたら、サブスクリプション設定で自動更新をオンにできます。あわせてノードの共有リンクを1つ保存しておくのがおすすめです。サブスクリプションが一時的に取得できないときは、重要なノードを手動で先にインポートできます。
活用のヒント
速度テストの結果をどう読むか、プロキシが本当に効いているかどう確認するか、複数の端末間で設定をどう移すか。このカテゴリの問題が、日々の使い勝手を左右します。
5件の Q&Aノードの速度テストにある「リアル遅延」と「Tcping」は何が違う?
Tcping はノードサーバーまでの TCP ハンドシェイクの所要時間だけを測るもので、プロトコルのネゴシエーションを経由しません。数値は良くても、正常にプロキシできるとは限りません。リアル遅延(Real delay)は実際にプロキシ接続を1回確立してテスト先へリクエストするため、結果は実際の使用感に近くなります。
ノードを選ぶ順番は、まず Tcping で落ちているサーバーを素早く除外し、残ったノードをリアル遅延で絞り込みます。テスト結果はその時点のネットワーク状況を反映したものにすぎないので、ネットワーク環境が変わったときやノードの負荷が変化したときは、もう一度測り直してから使うノードを決めるのがおすすめです。
通信が本当にプロキシ経由になっているか確認するには?
3つの操作を突き合わせます。第一に、接続後にクライアントの状態で出口アドレスを確認します。表示されるのはノードサーバーの IP で、端末のグローバル IP ではないはずです。第二に、訪問者 IP を表示するテストページを開き、接続前後で結果を比べます。第三に、クライアントの接続ログに通信の記録が出ているか確認します。
出口アドレスが変わらないのに状態が接続済みになっている場合は、ルーティングルールかアプリごとのプロキシ設定で現在のアプリの通信が除外されていることが多いので、該当する設定に戻ってチェック範囲を確認しましょう。v2rayN デスクトップ版では、あわせてシステムプロキシのスイッチの状態も確認してください。
モバイルで V2Ray を使うときのバッテリー消費を抑えるには?
消費電力は主に3か所から発生します。プロトコルのハンドシェイク負荷、DNS 解決の回数、接続のキープアライブです。調整できる点としては、ハンドシェイクが軽いプロトコルを優先する(VLESS は VMess より時刻検証の分だけ手順が少なくなります)、DNS 解決をノード側に任せてローカルでの重複クエリを減らす、不要なときはサブスクリプションの自動更新をオフにしてバックグラウンドでの頻繁なリクエストを避ける、電波が弱い場所では長時間接続したままにしない(弱電界での再送は通常利用より電力を食います)などがあります。
これらのスイッチはクライアントの設定画面にあり、設定ファイルを書き換える必要はありません。たまにしか使わないなら、常時接続より必要なときだけ接続するほうが省電力です。
複数の端末間でノード設定を同期するには?
最も簡単なのは同じサブスクリプション URL を共用する方法です。各端末で個別にインポートし、ノードに変更があればそれぞれ更新します。一部のノードだけを同期したい場合は、共有リンクで端末間を1件ずつ受け渡すほうが直接的です。デスクトップ版と Android 版の間では、ノードをテキストとしてエクスポートし、もう一方の端末でクリップボードからインポートする方法もあります。
端末を替えるとサブスクリプションに含まれない3つの項目を再確認する必要があります。ルーティングモード、アプリごとのプロキシ一覧、DNS 設定です。
ノード一覧が長すぎるとき、どうグループ分けして並べ替える?
v2rayNG はノードにグループ用のタグを付けられます。よくある分け方は用途別です。日常使いの低遅延ノードを1つのグループに、予備ノードを別のグループにまとめ、リアル遅延テストがずっと通らないノードは思い切って削除して、毎回長い一覧を探し回らずに済むようにします。
並び順は、遅延が安定していて使用頻度の高いノードを前に置きます。表示名は既定のノード名より、一目で分かる情報に変えておくと探しやすくなります。ノードを削除してもサブスクリプションには影響せず、次回の更新でまた戻ってくるので、気軽に整理して問題ありません。
トラブルシューティング
接続できたのに開けない、ノードがすべてタイムアウトする、TUN が起動しない、システムプロキシが効かない。このカテゴリの問題は、決まった順番で確認するのが最短です。
5件の Q&A状態は接続済みなのに Web ページが開かないとき、どこから調べる?
外側から内側へ順に確認し、各手順で変える要素は1つだけにします。ステップ1では、プロキシを切って直接接続し、端末のネットワーク自体が通じているか確認します。ステップ2では、別のノードに切り替えて再接続し、単一ノードの不具合を除外します。ステップ3では、ルーティングモードとアプリごとのプロキシを確認し、現在のアプリがプロキシの対象に入っているかを見ます。ステップ4では、DNS 設定を確認します。ローカルでの名前解決に失敗すると、プロキシに接続できてもページが開けません。ステップ5では、特定のサイトだけおかしい場合を確認します。その場合はそのサイトのアクセス方針によるものが多く、ノードとは関係ありません。
作業の間は各ステップの結果をメモしておくのがおすすめです。原因の箇所を特定してからピンポイントで調整するほうが、クライアントを何度も入れ直すよりはるかに効果的です。
ノードがすべてタイムアウトし、遅延テストが全滅するときは?
すべてのノードが同時に失敗する場合、原因はクライアントの外にあることがほとんどです。まずサブスクリプションを手動で1回更新し、ノード情報が古くなっていないか確認します。次にネットワークを切り替えて試し、現在の Wi-Fi や回線の問題かどうかを見ます。その後、システム時刻を確認します。VMess のように時刻検証を行うプロトコルは時刻のずれに敏感で、システム時刻が正確でないとハンドシェイクが失敗します。
ネットワークを変えて一部のノードが復活したなら、特定の回線の問題です。モバイルデータに切り替えてもすべて失敗するなら、原因はサブスクリプション側とほぼ判断できるので、サービス提供元に確認しましょう。
TUN モードをオンにすると権限不足や起動できないと表示される?
TUN モードは仮想ネットワークカードで通信を引き受けるため、システムから VPN 権限を付与される必要があります。初めてオンにすると承認ダイアログが表示されるので、必ず許可を押してください。許可しないと接続はすぐに切れます。以前に拒否した場合は、システム設定の VPN またはアプリの権限から再承認すれば問題ありません。
ほかによくある原因は2つです。VPN チャンネルを同時に占有できるアプリは1つだけなので、まず他のプロキシ系アプリが動いていないか確認します。一部のカスタム OS ではバックグラウンド起動が制限されるため、バッテリーとパフォーマンスの設定でクライアントをバックグラウンド実行の許可リストに追加する必要があります。TUN モードはシステムプロキシより引き受ける範囲が広いので、オンにしたらまずテストページで出口アドレスが変わったか確認しましょう。
v2rayN デスクトップ版でシステムプロキシをオンにしてもブラウザが直接接続になる?
まず「システムプロキシ」のスイッチがオンで、モードが「システムプロキシを自動設定」または「グローバル」になっているか確認します。ブラウザにプロキシ管理の拡張機能が入っている場合、その拡張がシステムプロキシ設定を上書きします。いったんシステムに従う設定に切り替えるか、一時的に無効化してください。
もう1つあるのは、管理者権限で動作するプログラムは現在のユーザーのプロキシ設定を読まないことがあるケースです。その場合は TUN モードで通信を引き受ける必要があります。設定を変えたらブラウザを一度再起動して新しいプロキシ設定を反映させ、テストページを開いて出口アドレスを確認しましょう。
DNS リークはどう検出して防ぐ?
DNS リークとは、ドメインの名前解決リクエストがプロキシ経由にならず、ローカルネットワークや ISP の DNS で解決されてしまうことを指します。検出の考え方は、接続後に DNS リーク検出系のテストページを開き、返ってくるリゾルバの所属を見るというものです。ローカルの ISP やルーターのアドレスが表示されたら、リークしています。
防ぐにはリモート DNS を有効にし、解決リクエストをノード側に任せ、ルーティング設定で DNS クエリの経路を個別に指定します。デスクトップ版では DNS 設定でローカルネットワークを経由しないリゾルバのアドレスを指定する方法もあります。変更したら再接続し、もう一度テストして確認しましょう。DNS 設定とルーティングルールは互いに影響するので、一度に1項目だけ変更するのがおすすめです。
Q&A 以外の完全なドキュメント
FAQ はよくある質問だけを扱っています。手順ごとの操作、プロトコルとコアの技術的な背景、プラットフォーム別のダウンロード入口は、以下の3つのページに分けて掲載しています。