v2rayNGのAndroid設定ガイド:VPN権限・バッテリー最適化の例外設定・アプリ別プロキシ

v2rayNGのVpnServiceの仕組みから、バックグラウンド切断を防ぐバッテリー最適化の例外設定、特定アプリだけをプロキシ経由にする方法まで解説します。

この記事の要点

まずAndroidのVPN権限を許可し、次にv2rayNGのバックグラウンドでのバッテリー制限を緩和してから、アプリ別の対象リストを設定します。Androidクライアントを初めて使う方、画面ロック後に切断される方、ブラウザーだけをプロキシ経由にしたい方に向けた手順です。順番に確認すれば、権限の問題、バックグラウンドプロセスの停止、アプリがプロキシを経由しない問題を切り分けられます。原因がわからないままノードを何度も変更する必要はありません。

1. VPN権限とノード接続の違い

v2rayNGはXrayコアでプロキシプロトコルを処理し、AndroidのVpnServiceを利用してローカルの仮想ネットワークインターフェースを作成します。システムは対象アプリの通信をこのインターフェースに送り、クライアントがルーティングルールに基づいて直接接続かプロキシ経由かを選択します。初回起動時に表示される「接続リクエスト」はAndroidの権限確認であり、サブスクリプション事業者のログイン画面ではありません。

ステータスバーにVPNアイコンが表示されても、システムのVPNインターフェースが有効だとわかるだけで、リモートサーバーへの接続が成功したとは限りません。ノードのアドレス誤り、認証情報の期限切れ、DNSの名前解決失敗は、権限を許可した後でも発生します。VMessやVLESSなどの接続パラメーターはノードまたはサブスクリプションから取得します。VPN権限を許可しても、パラメーターが自動で設定されるわけではありません。

API 14
Android 4.0でVpnServiceが導入
API 23
Android 6.0でDozeが導入
1つ
同じユーザーまたはプロファイルで動作中のVPNサービス

上記のバージョンは各機能が導入された時期であり、現在のv2rayNGの最低動作要件を示すものではありません。同じユーザーまたは仕事用プロファイルで、VPNインターフェースを使う別のアプリを起動すると、現在の接続が置き換わることがあります。一部のローカルフィルタリングツールも該当します。切り分けの際は、他のVPNサービスを先に停止し、インターフェースの競合をノードの不安定さと混同しないようにしてください。

2. 初回起動:権限を許可し、ノードを選んでウェブサイトを確認

信頼できる提供元のノードまたはサブスクリプションをインポートしてから、サービスを起動します。インポートの成功は、設定が保存されたことを示すだけです。バージョンによってボタンのアイコンやメニューの表記が多少異なる場合があります。以下では一般的な中国語UIを例に説明します。システムの権限画面の文言は、Androidのバージョンやスマートフォンメーカーによって異なります。

  1. 設定を確認

    v2rayNGを開き、メイン画面にサーバー設定があることを確認して、使用するノードを選びます。サブスクリプションを更新した直後は、現在選択中の項目を確認してください。無効になった古い設定を使い続けている場合があります。

  2. サービスを起動

    メイン画面右下の起動ボタンをタップします。初回にシステムの「接続リクエスト」が表示されたら、アプリ名がv2rayNGであることを確認し、「OK」または「許可」を選びます。拒否すると、ローカルVPNインターフェースを作成できません。

  3. 状態を確認

    システムのVPNアイコンとクライアントの動作状態を確認します。Android 13以降で通知の許可を求められた場合は、動作通知を確認できるよう許可することをおすすめします。通知権限とVPN権限は別々の設定です。

  4. 接続を確認

    まずブラウザーで、正常に表示できることがわかっているHTTPSページを開き、次に実際にプロキシ経由でアクセスしたいサイトを試します。前者では基本的なインターネット接続を、後者では目的のサイトへのアクセスを確認できます。遅延の数値だけでは、ウェブページの表示確認に代わりません。

  5. 基準となる状態を記録

    現在のノード名、ネットワークの種類、アプリ別プロキシの設定を記録します。初回の切り分けではアプリ別の制限をオフにし、接続できる状態を確認してから対象アプリを絞り込みます。設定は一度に一つだけ変更してください。

3. バッテリー最適化の例外設定:画面ロック後の切断を減らす

まずv2rayNGのバックグラウンドでのバッテリー制限を解除し、画面ロック後の動作を確認します。AndroidのDoze、アプリスタンバイ、メーカー独自のバックグラウンド管理は、それぞれ別の仕組みです。バッテリー最適化の対象外にすると一部の制限を軽減できますが、プロセスが終了しなくなるわけではありません。電波の切り替わり、リモート側のタイムアウト、システムのメモリ不足も解決できません。

標準Androidに近い端末では、「設定」→「アプリ」→「すべてのアプリを表示」→「v2rayNG」→「アプリのバッテリー使用量」→「制限なし」が一般的な手順です。バージョンによっては「バッテリー」→「制限なし」と表示されます。項目が見つからない場合は、設定で「バッテリー最適化」を検索し、アプリ一覧からv2rayNGを選択して「最適化しない」に設定してください。

条件をそろえて再テストし、1回の画面ロックだけで判断しない

15分間の画面ロックテストをおすすめします。時刻とネットワークの種類を記録して画面をロックし、しばらく待ってからロックを解除して同じテストページを開きます。その際、サービスの状態とログも確認してください。15分は繰り返し確認しやすい観察時間であり、Dozeが必ず開始するまでの時間ではありません。短時間のテストに成功しても、一晩中安定して動作するとは限りません。

テスト結果優先して確認する項目次の対処
ロック解除後にVPNアイコンが消えるサービスが停止した、または置き換えられたバックグラウンド制限、他のVPNアプリ、クライアントのログを確認します。
VPNアイコンは表示されるが、すべてのウェブページがタイムアウトするノード接続とネットワークの切り替え設定は変えずにサービスを再起動し、別のネットワークでも比較します。
特定のアプリだけアクセスできないアプリ別リストとアプリの接続キャッシュ対象リストを確認し、そのアプリを完全に終了してから再起動します。
モバイルネットワークのバックグラウンド通信だけ失敗するバックグラウンドデータとデータセーバーデータ通信の権限を確認し、同じノードを使ったWi-Fi接続時の状態と比較します。

4. アプリ別プロキシ:対象リストの方式を選んでアプリを指定

アプリ別プロキシでは、どのアプリの通信をVPNインターフェースに送るかを決めます。ルーティングによる振り分けでは、インターフェースに入った接続の出力先を決めます。この2つは別の設定です。ブラウザーを対象リストに追加しても、すべてのドメインへの通信がリモートノード経由になるとは限りません。ルーティングルールで直接接続と判定されたドメインは、そのまま直接接続されます。

v2rayNGのサイドメニューで「設定」を開き、「アプリ別プロキシ」に関する項目を見つけて有効にし、アプリ一覧を開きます。バージョンによっては一覧への入口が「アプリ別プロキシ設定」と表示されます。アプリを選ぶ前に「バイパスモード」の状態を確認してください。以下の「選択したアプリのみプロキシを使用」は許可リスト方式、「選択したアプリを除外」は除外リスト方式です。

選択したアプリのみプロキシを使用

おすすめ

アプリ別プロキシを有効にし、「バイパスモード」をオフにして、プロキシを使うブラウザーなどのアプリだけを選択します。選択していないアプリはこのVPNインターフェースを経由しません。少数のアプリだけをプロキシ経由にしたい場合、設定を確認しやすい方式です。

おすすめの用途:ブラウザー1つ、または指定した少数のアプリだけをプロキシ経由にする場合。

選択したアプリを除外

アプリ別プロキシを有効にし、「バイパスモード」もオンにして、除外したいアプリを選択します。リスト内のアプリはVPNを経由せず、それ以外のアプリはインターフェースに送られ、具体的な出力先はルーティングルールで決まります。

おすすめの用途:ほとんどのアプリをVPN経由にし、少数のアプリだけ元のネットワーク経路を使う場合。

アプリ別の制限をオフにする

アプリ別プロキシをオフにして、通常のアプリの通信をVPNの対象範囲に応じてクライアントへ送ります。ただし「すべての通信を強制的にプロキシ経由にする」という意味ではありません。直接接続ルールは引き続き適用され、システムや管理ポリシーによって対象範囲が変わることもあります。

おすすめの用途:最初の接続確認や、ルーティングルールをまとめて確認する場合。

まずブラウザー1つでリストの動作を確認

「バイパスモード」をオフにして、テスト用ブラウザーを1つだけ選択します。保存後にv2rayNGのサービスを停止して再起動し、ブラウザーも完全に終了してから開き直してください。期待どおりに動作することを確認してから、アプリを1つずつ追加します。ノード、DNS、対象リストを同時に変更すると、どの設定が影響したのか判断できません。

アプリ一覧ではアイコン名ではなく、アプリの識別情報を基準に区別します。アプリの複製や仕事用プロファイルにある同名アプリは、別のユーザーに属していたり、異なる識別情報を持っていたりする場合があります。ブラウザーから別のアプリでリンクを開くと、対象リストに含まれていないアプリへ切り替わることもあります。同じリンクがプロキシ経由になったりならなかったりする場合は、最終的にどのアプリでリンクを開いたか確認してください。

5. よくある問題:権限を許可しても期待どおりに動作しない

起動するたびにVPN接続リクエストが表示されるのはなぜですか?

直前に別のVPNアプリを使っていないか、またはv2rayNGを再インストールしたり、アプリのデータを消去したりしていないか確認します。これらの操作で、AndroidのVPN権限の状態が変わることがあります。他のVPNを終了してから、もう一度権限を許可してください。仕事用プロファイルや端末管理ポリシーが適用されている場合は、該当する管理上の制限も確認します。クライアントの再インストールを繰り返すだけでは解決しません。

「制限なし」に設定しても画面ロック後に切断されます。どうすればよいですか?

まず、サービス自体が停止したのか、リモート接続が切れたのかを切り分けます。VPNアイコンが消えている場合は、自動起動の設定と他のVPNを確認します。アイコンが表示されたままなら、問題が起きた時刻を記録し、接続タイムアウトやネットワーク変更のログがないか確認してください。ノードは変えずにWi-Fiとモバイルネットワークをそれぞれ試し、特定のネットワークだけで発生するかを調べます。

ブラウザーだけを選んだのに、他のアプリがプロキシを経由するのはなぜですか?

まず「バイパスモード」がオンになっていないか確認してください。オンの場合、選択したアプリは許可対象ではなく除外対象です。バイパスモードをオフにしてリストを確認し、サービスを停止してから再起動します。既存の接続には古い経路が残ることがあるため、対象アプリも完全に終了してから開き直してください。

「VPN未接続時は通信をブロック」を設定したら、選択していないアプリがネットにつながらないのはなぜですか?

「設定」→「ネットワークとインターネット」→「VPN」を開き、v2rayNGの設定で「常時接続VPN」と「VPNを使用しない接続をブロック」を確認します。通信のブロックを有効にすると、除外したアプリの直接接続がシステムによって制限される場合があります。選択していないアプリを通常どおり直接接続させる場合は、このブロック設定を無効にすることを検討してください。その場合、VPN切断時の通信制限も緩和されます。

ノードの遅延は正常なのに、選択したアプリでウェブページを開けないのはなぜですか?

遅延テストの成功は、目的のサイトにアクセスできることを意味しません。まず同じアプリで、アクセスできることがわかっている複数のページを開きます。次にv2rayNGのログで、DNS、TLS、接続タイムアウトに関する情報を確認してください。端末の「プライベートDNS」、ブラウザーのセキュアDNS、クライアントのDNSを同時に変更しないでください。一度に一つだけ変更して再テストすると、実際に影響した設定を特定できます。

6. 再現できるAndroidのチェックリストを残す

設定完了時には、「接続済み」のスクリーンショットだけでなく、再現可能な条件を記録しておきましょう。サブスクリプションの更新でノードが変わったり、システムアップデートでバッテリー設定が変更されたり、新しいネットワークツールの導入でVPNの状態が変わったりすることがあります。次に問題が起きたら、最後に正常動作を確認した条件に戻してから、一つずつテストしてください。

クライアントを再ダウンロードする場合は、ダウンロードページでAndroid向けのv2rayNGを選択してください。v2flyコアを採用するv2flyNGとは別のクライアントで、画面や設定機能も同じではありません。デスクトップではv2rayNを利用できます。デスクトップのシステムプロキシのトラブル対処方法を、AndroidのVpnServiceにそのまま当てはめることはできません。

v2rayN をダウンロード