v2rayNG Android活用の要点:VpnServiceの許可、バッテリー最適化の対象外設定、アプリ別プロキシ

v2rayNG初回接続時に表示されるVPN許可ダイアログの意味、バックグラウンド切断を防ぐためにクライアントをバッテリー最適化の対象外にする方法、アプリ別プロキシの「バイパス/プロキシのみ」2モードの設定手順を解説します。

この記事の要点

VMess、VLESS、Trojan、Shadowsocksのノードをすでに取り込んでいるものの、初回許可の意味が分からない、画面ロック後に接続が切れる、特定のアプリだけプロキシを通したくないといった悩みを抱えるv2rayNGユーザー向けです。本文の許可設定、バックグラウンド制御、アプリ別ルールを整えれば、動作を予測しやすく、順番に切り分けられるAndroidプロキシ環境を構築できます。

VpnServiceの許可がv2rayNGへの通信取り込みを決める

v2rayNGはAndroidで接続を開始すると、システムが提供するVpnServiceインターフェースを呼び出します。初回接続時には通常、システムレベルの確認ダイアログが表示され、このアプリがVPN接続の確立を求めていることが示されます。ここでいう「VPN」は、Androidがアプリに提供するネットワークを引き受ける仕組みです。システムが仮想ネットワークインターフェースを作成し、条件に合うアプリの通信をv2rayNGへ送り、Xrayコアが現在のノードとルーティングルールに従って処理します。

この許可は、サブスクリプションURL、ノードのプロトコル、サーバー認証とは別の階層にあります。許可に成功しても、v2rayNGが端末の通信を受け取れるようになるだけで、VMessやVLESSのノードが利用可能になるとは限りません。逆に、ノードのパラメータが完全に正しくても、VpnServiceの許可がなければ端末全体のプロキシは確立できません。切り分けでは、まずステータスバーにシステムのVPNアイコンが表示されているか確認し、その後にノードのハンドシェイクとコアログを確認します。

1回
初回接続では通常、システムの許可が必要
1本
システムが同時に保持できるアクティブなVPN経路
10808
よく使われるローカルSOCKS待受ポート
30分
画面ロック後の安定性を確認する推奨時間

Androidでは通常、同時にアクティブなVpnService経路を1本しか許可しません。接続ボタンが起動済みになった直後に元へ戻る場合や、「既存のVPNを置き換えますか」といった表示が出る場合は、まずこのインターフェースを使用している別のネットワークツールを停止してください。仕事用プロファイル、システムの常時接続VPN設定、企業による端末管理ルールが、通常のアプリによる経路確立を制限することもあります。

  • ステータスバーにVPNアイコンがない:まずシステムの許可、ほかのVPN経路、端末管理による制限を確認します。
  • ステータスバーにアイコンはあるが、すべてのアプリが通信できない:現在のノード、DNS、ルーティングルール、コアログを確認します。
  • 一部のアプリだけ通信できない:アプリ別プロキシの選択、アプリ独自のネットワーク設定、バイパスモードの有効化を確認します。
  • Wi-Fiは正常だがモバイル通信で失敗する:再接続後に名前解決、IPv6、トランスポート層の設定を確認し、すぐに許可の問題と決めつけないでください。

初回接続は許可とノード確認を順番に行う

以下では、v2rayNG 1.9.xシリーズの一般的な日本語インターフェースを基準に説明します。システムによって許可ダイアログのボタン位置は異なりますが、操作の流れは同じです。開始前にサブスクリプションまたは単一ノードの取り込みを済ませ、設定一覧に少なくとも1つ選択可能なノードがあることを確認してください。

  1. ノードを選択

    メイン画面で設定を1つタップし、現在のノードとして選択します。サブスクリプションを利用している場合は、先に右上のメニューを開いて「サブスクリプションを更新」を実行し、一覧が古いキャッシュや空のグループになっていないことを確認します。

  2. 接続を開始

    メイン画面下部の接続ボタンをタップします。初回起動時にシステムのVPNリクエストが表示されたら、要求元がv2rayNGであることを確認し、接続の確立を許可します。

  3. 状態を確認

    メイン画面の状態が変わるのを待ち、同時にステータスバーにVPNアイコンが表示されているか確認します。ボタンがすぐ元に戻る場合は、右上のメニューにある「ログ」を開き、失敗した時刻付近の記録を確認してください。

  4. 疎通をテスト

    まずブラウザーで安定したサイトを開き、その後プロキシが必要な対象をテストします。ノードの遅延だけを見ないでください。遅延テストの成功と、Webページ全体のリクエスト成功は別の確認項目です。

  5. 画面ロックをテスト

    接続したまま30分間画面をロックし、ロック解除後すぐにネットワークへアクセスします。毎回手動で再接続する必要がある場合は、システムのバッテリー設定とバックグラウンド動作の権限を引き続き確認してください。

v2rayNGのノード一覧は、Base64サブスクリプションから取得することも、vmess、vless、trojan、ssの共有リンクから取り込むこともできます。取り込み方法によってVpnServiceの役割が変わることはありません。サブスクリプションは設定を一括配布し、コアはプロトコル接続を処理し、システムインターフェースはアプリの通信を集めます。この3層は分けて判断してください。

接続後に「VPNアイコンはあるのにアクセスできない」場合は、システムの許可を何度も取り消すのではなく、コアログを確認します。ログに名前解決の失敗があればプライベートDNSとノードアドレスを、接続タイムアウトがあればサーバーアドレス、ポート、現在のネットワークを、認証失敗があればUUID、パスワード、暗号化方式、トランスポートパラメータを確認してください。

確認の順番
1. システムのVPNアイコンが表示されているか
2. 現在のノードが選択されているか
3. ログにDNSまたは接続エラーが出ていないか
4. アプリ別プロキシでテスト対象のアプリを除外していないか
5. 画面ロック後もプロセスが動作しているか

バッテリー最適化の対象外設定で画面ロック後の切断に対処

Androidの省電力機能は、バックグラウンドに長時間常駐するプロセスを制限します。v2rayNGは接続後も仮想インターフェース、プロトコルセッション、ネットワーク変化の監視を維持する必要があります。システムが画面ロック後にプロセスを停止または回収すると、ステータスバーのアイコンが消える、メッセージアプリの同期が遅れる、ロック解除後もしばらく通信できない、接続ボタンは起動中のままなのに実際の通信が止まる、といった症状が現れます。

まずシステム標準のバッテリー設定から動作を変更します。Android 14でよくある経路は「設定」→「アプリ」→「v2rayNG」→「アプリのバッテリー使用量」→「制限なし」です。別の経路として「設定」→「アプリ」→「特別なアプリアクセス」→「バッテリー最適化」→「すべてのアプリ」→「v2rayNG」→「最適化しない」もあります。実際のメニュー名はシステムの画面によって異なりますが、目的はいずれも画面ロック後にアプリがバックグラウンドタスクを継続できるようにすることです。

制限なし

推奨

画面ロックやネットワーク切り替え後も、v2rayNGがVpnServiceとコアプロセスを維持できる設定です。長時間接続の基本設定として適しています。

適した用途:日常的な常時接続、メッセージの同期、モバイル通信とWi-Fiの頻繁な切り替え

最適化または自動管理

システムが利用頻度に応じてバックグラウンドリソースを管理します。短時間のテストでは正常でも、長時間ロックした後は復帰が遅れることがあります。

適した用途:必要なときだけ手動接続し、使用前にクライアントを開く場合

制限あり

システムがバックグラウンドでの実行機会を大幅に減らすため、画面ロック中、待機中、メモリ不足時にプロキシ経路が停止しやすくなります。

適した用途:バックグラウンドプロキシが不要で、一時的な診断だけを行う場合

端末によっては「自動起動」「バックグラウンド動作」「バックグラウンドタスクをロック」「休止中のアプリ」といった一覧も用意されています。これらはv2rayNG本体の設定ではなく、システムのアプリ管理画面で変更します。バックグラウンドタスクを自動削除する機能がある端末では、v2rayNGを削除対象から外し、起動後やネットワーク変更時にも実行できるようにしてください。

結論:まずシステムのバックグラウンド設定を固定し、その後でノードパラメータを調整する

接続が画面ロック後だけ切れ、画面点灯中は常に正常なら、まずv2rayNGを「制限なし」に設定して30分間の画面ロックテストを行います。この場合、VMess、VLESS、またはトランスポート方式を変更しても、システムによるプロセス回収は解決できないことが多いです。

  • テスト中は同じノードを使い、プロトコル、ルーティング、バッテリー設定を同時に変更しないでください。
  • 30分間画面をロックしてから解除し、VPNアイコンを確認したうえでWebページへのリクエストを1回実行します。
  • Wi-Fiからモバイル通信へ切り替え、10秒待って接続が自動復帰するか確認します。
  • 同じテストを2回連続で行います。条件を固定して再現できる切断でなければ、どのシステム設定が引き金か判断しにくくなります。

アプリ別プロキシのバイパスモードとプロキシのみモード

アプリ別プロキシは、AndroidアプリのUIDに基づいて通信をVpnServiceへ通すかどうかを決めます。これはプロトコル接続より前の段階で動作するため、現在のノードがVMess、VLESS、Trojan、Shadowsocksのいずれであるかには左右されません。アプリを選び間違えると、ノード自体はオンラインでも、対象アプリが直接接続したり、想定したルーティングに入らなかったりします。

v2rayNGでサイドバーまたはメインメニューを開き、「設定」→「アプリ別プロキシ」へ進みます。まずアプリ別プロキシを有効にし、アプリを選択して「バイパスモード」の状態を確認します。ここで最も混同しやすいのは、同じチェックリストでも、バイパスのオン・オフによって意味が完全に逆になる点です。

  1. 接続を停止

    メイン画面に戻り、現在の接続を停止します。アプリの対象範囲を変更する前に停止しておくと、古い仮想インターフェースが前回の選択結果を使い続けるのを防げます。

  2. 機能を有効にする

    「設定」→「アプリ別プロキシ」へ進み、アプリ別プロキシのメインスイッチをオンにして、インストール済みアプリの一覧が読み込まれるまで待ちます。

  3. モードを確認

    少数のアプリだけをプロキシ経由にする場合は「バイパスモード」をオフにして対象アプリにチェックを入れます。大半のアプリをプロキシ経由にし、一部だけ直接接続にする場合は「バイパスモード」をオンにして、除外するアプリにチェックを入れます。

  4. 選択を保存

    設定画面に戻り、もう一度アプリ別プロキシの画面を開いてチェック状態を確認します。アプリの更新、再インストール、仕事用プロファイルの変更後は、以前のアプリ識別子を選び直す必要がある場合があります。

  5. 再接続

    メイン画面に戻ってv2rayNGを起動し、VpnServiceを再確立します。チェックしたアプリとチェックしていないアプリをそれぞれ1つずつテストし、通信経路が想定どおりか確認してください。

プロキシのみモードは、ブラウザーや指定した通信アプリだけをプロキシ経由にし、それ以外はシステム標準のネットワークを使うような、対象が明確な場面に適しています。範囲が小さくルールを確認しやすいのが利点ですが、新しいアプリをインストールしても選択済みリストには自動追加されないため、手動で追加する必要があります。

バイパスモードは、大半のアプリをプロキシ経由にし、銀行系アプリ、LAN機器の管理アプリ、社内ツールだけを直接接続したい場合に適しています。チェックするのは例外項目なので、新しく追加したアプリは通常プロキシ経由になります。LAN機器の管理アプリを使う場合は、v2rayNGのLANバイパス設定も確認してください。アプリを除外する設定と、IPベースのルーティングは別の階層です。

よくある症状から原因を切り分ける

許可とアプリ別設定を終えても動作が想定どおりでない場合は、テスト用ノード、テスト用アプリ、ネットワーク環境を1つずつ固定して確認します。一度に複数のスイッチを変更すると、ログと実際の操作を対応づけられなくなります。

接続をタップすると許可ダイアログが一瞬で消える?

システムの「設定」→「ネットワークとインターネット」→「VPN」を開き、ほかのアクティブな接続を停止してからv2rayNGに戻って再試行します。端末で常時接続VPNが有効になっている場合は、端末管理者に制限を解除してもらう必要があります。

画面ロックから十数分後、メッセージが更新されない?

「設定」→「アプリ」→「v2rayNG」→「アプリのバッテリー使用量」を開き、「制限なし」に変更します。同時に休止中のアプリ、自動起動、バックグラウンド削除の一覧も確認してください。変更後に再接続し、少なくとも30分間の画面ロックテストを行います。

アプリを選択したのにプロキシを通らない?

「設定」→「アプリ別プロキシ」でバイパスモードを確認します。バイパスがオンの場合、チェックしたアプリは除外されます。チェックしたアプリだけをプロキシ経由にする場合はバイパスをオフにしてください。変更後は接続を停止して再起動します。

ブラウザーは正常なのに、別のアプリだけタイムアウトする?

まず、そのアプリが現在のアプリ別プロキシの対象範囲に含まれているか確認します。次に、独自DNS、QUIC、仕事用プロファイルのネットワークを使用していないか確認してください。アプリ別プロキシを一時的に無効にして再テストすると、問題がアプリの選別にあるのかノード経路にあるのかを判断できます。

Wi-Fiを切り替えた後、接続中に見えるのにアクセスできない?

10秒待ってからリクエストを再実行し、「ログ」でネットワーク変更後に最初に出たエラーを確認します。タイムアウトが続く場合は接続を停止して再起動してください。頻繁に再現する場合は、システムがバックグラウンド通信を制限していないか、ノードの名前解決が正常か確認します。

ローカルポートが連携テストに影響することもあります。v2rayNGでよく使われるSOCKS待受ポートは10808ですが、「設定」に表示される実際の値を優先してください。ローカルプロキシに対応したアプリだけがローカルアドレスとポートの入力を必要とします。VpnServiceで全体を引き受ける場合、通常のアプリに127.0.0.1:10808を個別入力する必要はありません。

サブスクリプションの更新に失敗しても、先にアプリ別リストを変更しないでください。まずサブスクリプションURLが完全か、システム時刻が正確かを確認し、次に更新リクエストが現在のプロキシを経由する必要があるか確認します。更新に成功しても、設定を読み取れたことを示すだけです。ノードに接続できるかどうかは、サーバーアドレス、ポート、認証パラメータ、TLSドメイン、トランスポート設定に左右されます。

  • 許可の問題はノードの遅延ではなく、システムのVPN状態を確認する。
  • 画面ロックの問題はプロトコルを変える前に、バッテリー設定とバックグラウンド権限を確認する。
  • 特定アプリの問題は全設定をリセットする前に、アプリ別プロキシの対象範囲を確認する。
  • すべてのアプリに関わる問題は、接続ボタンを繰り返し押すのではなく、ノードログ、DNS、ルーティングを確認する。
  • ネットワーク切り替えの問題は、切り替え時刻を記録してログの最初のエラーと照合する。

安定した設定を確認するチェックリスト

安定した運用は1つのスイッチだけに依存せず、システムの許可、バックグラウンド実行、ノードパラメータ、アプリの対象範囲によって決まります。設定後は、検証済みのノード、標準ルーティング、明確なアプリ別モード、「制限なし」のバックグラウンド設定というシンプルな基準構成を残すのがおすすめです。問題が起きたら、まず基準構成に戻し、その後カスタムルールを1つずつ復元してください。

  1. 許可を確認:起動後にステータスバーへVPNアイコンが表示され、システムのVPN画面でv2rayNGが現在の接続として表示されている。
  2. ノードを確認:現在の設定パラメータが揃っており、ログに認証失敗、DNS失敗、接続タイムアウトが継続して出ていない。
  3. バックグラウンドを確認:アプリのバッテリー使用量が「制限なし」で、休止中のアプリや自動削除の対象になっていない。
  4. モードを確認:バイパスをオフにするとチェックしたアプリだけがプロキシ経由になり、オンにするとチェックしたアプリが直接接続になる。
  5. 再接続を確認:アプリ別プロキシの範囲、ルーティング、重要なネットワーク設定を変更した後は、接続を停止して再確立する。
  6. 利用場面を確認:画面点灯中、30分間の画面ロック中、Wi-Fiからモバイル通信へ切り替えた状態をそれぞれテストする。

v2rayNGはXrayコアでノード接続とルーティングを処理し、v2flyNGはv2flyコアを対象としています。どちらもAndroidのVpnServiceとバックグラウンド設定に従う必要がありますが、コアが対応するプロトコルの組み合わせ、設定項目、ログの内容は完全には同じではありません。一方のクライアントから書き出した高度な設定を、確認せずにもう一方へそのまま適用しないでください。

ここまで設定した後の日常的な確認は3つだけです。サブスクリプション更新後もノードが使えるか、システム更新後にバッテリー設定がリセットされていないか、アプリのインストールや再インストール後もアプリ別リストが想定どおりかを確認します。クライアントを何度も再インストールするより、階層ごとに確認したほうが実際の切断箇所を見つけやすくなります。

v2rayN をダウンロード