This guide explains how to choose which Android apps use the v2rayNG proxy and which connect directly. You’ll compare the two per-app selection modes, find the relevant settings, apply them in a careful order, and verify the result with real app traffic. Menu labels can differ slightly between v2rayNG releases and Android manufacturers, so use the setting names and checks below rather than relying on an exact screen layout.
1. What per-app proxy controls
v2rayNG uses Android’s VPN service to create a local traffic path. When you connect, Android asks you to approve the VPN connection, and the app routes traffic according to its settings. Per-app proxy changes which apps are included in that path; it does not create a separate proxy server for every app and does not change the server configuration in your subscription.
Think of the app list as a selection rule. Depending on the mode, the apps you select are either the apps that use the proxy or the apps that bypass it. The name “Bypass mode” can be easy to misread: it describes what happens to the selected apps, not necessarily what happens to every app on the phone. Confirm the mode and selected list together before connecting.
- Proxy selected apps: Apps on the list send their traffic through v2rayNG. Other apps are excluded from the VPN route and generally use the device’s regular network connection.
- Bypass selected apps: Apps on the list are excluded from the proxy route. Other included apps use the v2rayNG connection.
- All apps: If per-app selection is disabled, v2rayNG generally applies the VPN route to all eligible apps, subject to Android and client routing behavior.
Per-app selection is useful when a particular app must keep using a local network connection, when you want to limit proxy use to a few apps, or when you are testing whether an app handles proxy-routed traffic correctly. It is not the same as a domain-based routing rule: selecting an app affects that app’s traffic as a whole, while domain routing depends on the destination and the client’s routing configuration.
2. Choose the selection mode before editing the list
Start with the behavior you want, not with the app names. If only a small number of apps should use the proxy, selecting those apps for proxying is usually the clearest setup. If most apps should use the proxy and only a few should connect directly, selecting the exceptions in bypass mode can be easier to maintain. The right choice depends on how many apps belong in each group and how often that group changes.
Proxy selected apps
- Mode
- Turn off Bypass mode, if shown
- Selected apps
- Apps that should use the proxy
- Other apps
- Excluded from the VPN route
- Good starting point
- A small proxy-only group
Choose this when you can name the apps that need the proxy more easily than the apps that should avoid it.
Bypass selected apps
- Mode
- Turn on Bypass mode
- Selected apps
- Apps that should connect directly
- Other apps
- Use the proxy when included
- Good starting point
- A short exception list
Choose this when nearly all relevant apps should use the proxy and only a few need a direct route.
Do not assume that an unselected app will always behave identically across every version or configuration. Read the mode shown on your screen, verify the selected apps, and test a representative app after reconnecting. Also check whether the app you want to route is listed by its display name or package name. System components, work-profile apps, and apps installed for another Android user may not appear in the same list as ordinary apps.
Keep the selection list narrow at first. For example, if your goal is to proxy a browser but leave a local-network utility direct, add only the browser in proxy-selected mode, or only the utility in bypass-selected mode. This makes it easier to see which setting produced a change and reduces the chance of excluding an app that another service depends on.
3. Set up per-app proxy in v2rayNG
First confirm that the imported configuration connects successfully with the current settings. Per-app routing cannot repair an unavailable server, an incomplete subscription, or a failed VPN permission request. Once a normal connection works, open v2rayNG’s settings and look for the per-app proxy control. In many releases it is available from the main screen’s menu under Settings; the label may be “Per-app proxy,” “Per-app VPN,” or similar.
-
Confirm a connection
Select a working configuration on the main screen, tap the connect button, and approve Android’s VPN request if it appears. Verify the connected status before changing app selection.
-
Open app selection
Open the main menu → Settings → Per-app proxy, or the similarly named setting in your version. Enable the feature if it has a separate switch.
-
Choose the mode
Decide whether the selected apps should use the proxy or bypass it. Check the state of “Bypass mode” and read any explanatory text on the screen before selecting apps.
-
Select the apps
Open the app list and mark only the apps that match the mode you chose. Check the displayed app names carefully; do not select a system entry just because its name resembles the app you use.
-
Reconnect and test
Return to the main screen, stop and start the VPN connection if the selection has not taken effect, then test one selected app and one unselected app.
Some builds apply the list immediately; others may need the VPN service restarted before new selections take effect. If the connection remains active while you edit the list, stop it once, wait for the disconnected status, and reconnect. If Android asks again to establish a VPN connection, verify that the prompt belongs to v2rayNG before approving it.
When selecting apps, remember that a single visible app can use more than one package or a separate helper component. A browser, for example, may open an external link in another installed app. If the browser behaves as expected but the linked service does not, check the destination app’s selection as well. Do not add every system package as a first response; change only the relevant entries and test again.
4. Verify the result with two controlled tests
A connected indicator only confirms that the VPN service started; it does not prove that a particular app used the route you intended. Test with one selected app and one unselected app, and make sure the two tests are meaningful. Use an app or destination whose behavior you understand, avoid changing server, DNS, and app-selection settings at the same time, and note what you changed before testing.
Bottom line: Test one app from each side of the rule
After reconnecting, check one app that should use the proxy and one that should connect directly. If both behave the same way, verify the Bypass mode state and app list before changing the node or core settings.
- Test the proxy group: Open a selected app and load a destination that is reachable through your working proxy configuration. If possible, compare its public network location with a known direct connection, but treat location results as a clue rather than proof of every request’s route.
- Test the direct group: Open a selected bypass app, or an unselected app in proxy-selected mode, and check a service that normally works on your regular network. A local device or local-network service can be a useful test if it is normally reachable without the proxy.
- Check the connection state: Confirm v2rayNG still shows an active connection and Android still shows the VPN indicator. If the VPN service stopped, app selection cannot be evaluated until it is running again.
- Change one variable: If a test fails, switch only the mode or one app entry, reconnect, and repeat the same test. This separates selection mistakes from server or network problems.
Results can be affected by app behavior. Some apps maintain existing network connections, cache content, or use a companion process, so a setting change may not change an open session immediately. Fully close and reopen the test app when appropriate, then retry. If a service still appears to use the wrong route, check whether it launches another app to complete the request and test that app separately.
Direct access also does not guarantee access to a local device. The phone must still be connected to the right Wi-Fi network, and the router must allow communication between wireless devices. Conversely, an app excluded from v2rayNG may still be affected by another active VPN service or by Android’s own network settings. Establish a simple baseline by disabling competing network tools temporarily, if safe and appropriate, then test v2rayNG on its own.
5. Fix common selection problems
If an app seems to ignore the list, work through the selection settings before reimporting the subscription. First confirm which mode is active. Then confirm the exact app entry is selected or unselected as intended. Finally, restart the VPN connection and reopen the app. This order catches the most common configuration mistakes without changing server details that may already be correct.
Why does my selected app connect directly?
Check whether Bypass mode is on. In bypass mode, selected apps are the exceptions that avoid the proxy. If the app should use the proxy, turn bypass mode off or select the app according to the mode described on your screen, then reconnect.
Why does an unselected app still use the proxy?
In bypass mode, unselected apps are generally the ones that use the proxy. If you intended proxy-selected behavior, turn bypass mode off, select the apps that should use the proxy, and test again after restarting the VPN service.
Why is the app missing from the list?
Check that it is installed in the Android user or profile currently running v2rayNG. Some device versions separate work-profile apps, cloned apps, or system components. If the app was just installed, reopen the list or restart v2rayNG and check again.
Why did the setting change nothing?
Stop and restart the VPN connection, then fully close and reopen the test app. Confirm the selected entry and mode, and test with a destination that makes sense for the intended route. A cached page or an existing app session may not create a new connection.
Why did the VPN disconnect after another app started?
Android usually permits only one active VPN service per user profile. A security, filtering, or work-network app may replace v2rayNG’s VPN. Stop the other VPN service and test v2rayNG again before changing per-app settings.
If the connection fails for every app, return to the basic connection check: select a known working configuration, connect, and confirm the VPN service starts. Review v2rayNG’s status and logs for connection errors, and check that Android has not denied VPN access. A per-app list cannot compensate for an unreachable server or an unsupported node configuration.
Once the setup works, keep a short note of the active mode and the apps you selected. This is especially useful after a v2rayNG update, a device migration, or a change in Android profiles, when the list or menu wording may differ. Recheck one proxy-routed app and one direct app after any significant change rather than assuming the previous behavior still applies.