For Android users who have imported a subscription but aren't sure the connection is working. Check the server configuration, run a real connection test, then verify the browser's exit IP and app access. These steps check configuration availability, whether proxy requests complete, and whether traffic follows the expected route. Don't treat the VPN icon in the notification bar as proof that everything is working.
Before You Connect: Check Your Subscription and Android VPN Permissions
v2rayNG is an Android client powered by the Xray core. A subscription provides server configurations, while the client sets up a local proxy and routes traffic through a VPN. A successful import only means the configuration can be read; it doesn't confirm that the server is online, your account has data remaining, or the websites you need are reachable. Before you begin, make sure your phone can open ordinary websites without a proxy. This rules out basic issues such as a Wi-Fi sign-in page or an inactive mobile data plan.
-
Check Your Subscription
From the top-right menu on the main screen, open “Subscription group settings” and check the subscription URL and target group. Return to the main screen and select “Update subscription” from the menu. Menu names may vary slightly by version; make sure you update the group you just checked.
-
Choose a Server
Tap the configuration you want in the list and make sure the selection indicator moves to it. For your first test, choose a server clearly described in the subscription as suitable for your needs and without usage restrictions. Don't rely on the region name alone.
-
Check VPN Routing
Open the top-right menu and go to “Settings” → “VPN settings.” Check whether “Per-app proxy” is enabled. For your first verification, you can temporarily turn it off so your test browser isn't excluded. Restore your preferred app selections afterward.
-
Authorize the Connection
Tap the connect button in the lower-right corner of the main screen. The first time you connect, approve Android's VPN connection request. If Android says another VPN is already active, stop the other VPN service, then try again in v2rayNG.
Choosing a Server: Check Availability Before Comparing Latency
A region in a server name usually refers to the route or exit location claimed by the provider; it doesn't guarantee that the entry and exit points are in the same place. VMess, VLESS, and Trojan are protocol types, not speed rankings. For your first connection, find a route that reliably completes requests. Then compare data usage multipliers, regions, and performance during peak hours.
A Server That Passes a Real Connection Test
RecommendedIt completes the client's test request and repeatedly opens the websites you need. Use it as your baseline, then check whether your everyday apps work reliably.
Best for: First-time connections and a repeatable troubleshooting baseline
TCP Test Only
This confirms that a connection to an address and port can be established. It doesn't confirm that proxy authentication, transport settings, or access to the destination work. Continue with a real connection test.
Best for: An initial check that the server endpoint is reachable
Region and Use Case Match
Some services require an exit in a specific region or restrict data center IP addresses. First confirm that the server works, then check the service's requirements. A server name alone can't tell you whether it will work.
Best for: Accessing an app with a specific region requirement
For a fair comparison, keep the network, test address, and routing settings the same. Results over Wi-Fi can't be directly ranked against results over mobile data. Data multipliers depend on your subscription provider's billing rules; client latency tests can't tell you how much data remains. Check your provider's account page for multipliers and quotas.
Real Connection Tests: Port Reachability vs. Successful Requests
From the top-right menu on the main screen, select “Test all configurations (real connection)” to filter subscription configurations in batches. If you have many configurations, narrow the list to the group you want first to avoid interference from too many concurrent requests. After connecting to a server, select “Test current configuration (real connection)” to check it again. Some versions let you test the current connection by tapping the connection status area at the bottom. Use whichever option is available in your version.
These numbers distinguish port roles and test steps; they aren't performance measurements from this site. The server port is specified in the subscription and may not be 443. Local port 10808 is the proxy listening port on your phone, so don't enter it as the remote server port. When VPN mode routes browser traffic, you usually don't need to enter a local proxy in the browser settings.
- TCP latency: Primarily reflects how quickly a TCP connection to the server endpoint is established. It can't verify the UUID, password, or TLS settings.
- Real connection latency: Measures access to a test destination through the selected configuration, covering more of the request path. Results still depend on the test destination, DNS, and routing.
- Timeout or failure: Doesn't mean the server is permanently down. Check the logs to distinguish a server connection failure, authentication failure, certificate error, or unreachable destination.
- Successful test: Doesn't mean every app is routed through the VPN, and it doesn't measure download bandwidth. Latency for a small request and throughput for a large file are different metrics.
The actual outbound route used by a real connection test may depend on the client implementation and routing settings. If a rule sends the test destination directly, the result alone can't confirm that the proxy exit is working. Don't keep changing the test address just to get a lower number. Use the same destination and check the exit IP as described next.
Verify the Proxy: Cross-Check the Exit IP, Websites, and Routing
A key or VPN icon in the notification bar only confirms that Android has established a VPN service. To verify that the proxy is actually working, check whether the app is included in VPN routing, which route its requests take, and whether the public exit IP matches your expectations. With split tunneling enabled, local and proxied websites can show different exit IPs—that may be expected.
| What to Check | How to Check | What the Result Can Tell You |
|---|---|---|
| Baseline Before Connecting | Disconnect the proxy and note the public IP and network provider shown on an IP lookup page in the same browser | Don't mistake your phone's private Wi-Fi address for its public exit IP |
| Exit IP After Connecting | Connect to the server, reload the same lookup page, and check the IP address, network provider, and region | The IP may stay the same if a direct-routing rule applies to the lookup page |
| Target Websites | Open an HTTPS page that requires a proxy, then try a second, independent destination | One website failing may be due to restrictions on that site; it doesn't prove that all connectivity is down |
| App Coverage | Check whether the browser and target app are included in the per-app proxy settings | If an app is excluded, a successful server test doesn't mean that app's traffic is proxied |
| Switching Between Foreground and Background | Lock the screen, reopen the app, and check the VPN notification and connection status | If the connection drops only in the background, check system battery restrictions and background permissions |
To temporarily check the exit IP for all traffic routed through the VPN, open the main menu and go to “Routing” → the global proxy mode. Option names vary by version; make sure the selected mode routes everything through the proxy, rather than directly. Restore your original split-tunneling mode when you're done. IP lookup region databases can be out of date, so treat country and city labels as estimates. Check the change in IP address alongside the actual access results.
Check Configuration: Compare Settings, Don't Change Protocol Parameters at Random
If TCP is reachable but real connection tests keep failing, tap the edit control beside the server and check the parameters imported from your subscription. The cards below show which fields to review; they aren't complete, ready-to-use configurations. The server address, port, credentials, and transport parameters must come from your server provider. You can't convert a configuration simply by changing its protocol name.
VLESS + REALITY
- Protocol
- VLESS
- Security and Transport
- REALITY
- Server Name
- Must match the server's required serverName
- Public Key and Short ID
- Keep the values provided by the subscription; don't generate replacements
- Flow
- Use xtls-rprx-vision only if the server requires it
If the public key is missing or the name doesn't match, import a valid configuration again. Don't disable verification to try to bypass the issue.
VMess + WebSocket + TLS
- Protocol
- VMess
- Transport
- WebSocket
- Path
- Must exactly match the server path, including the leading slash
- Host and SNI
- Check each separately; neither is necessarily the server address
- TLS Certificate Verification
- Leave verification enabled; check the domain name and system time
The WebSocket path and Host are transport parameters. The TLS server name is a handshake parameter. Don't use one in place of the other.
Android's system time can also affect TLS and some authentication flows. Go to system “Settings” → “Date and time” and turn on automatic time. Depending on your device, this option may be under “System” or “General management.” If many servers start failing after a subscription update, first check your subscription account, network changes, and client logs instead of editing each imported configuration.
Common Questions: Connected but Still Can't Browse?
VPN Icon Is Showing, but the Browser Won't Load Pages?
First make sure the selected configuration is the same server that just passed the real connection test. Then check the per-app proxy settings under “Settings” → “VPN settings,” and temporarily include your browser. Reconnect, try two independent websites, and check for DNS errors or connection timeouts.
Real Connection Test Passed, but the IP Hasn't Changed?
Check whether a routing rule sends the lookup page directly and whether the browser is excluded. Temporarily switch to a routing mode that sends everything through the proxy, reconnect, and reload the lookup page. Restore your original rules afterward. Don't conclude that the exit IP is unchanged based only on a matching region label.
Subscription Imported, but Every Server Times Out?
Disconnect and make sure your regular network connection works, then check whether your account has expired or run out of data. Test once over Wi-Fi and once over mobile data, and check the system time. If it fails on only one network, troubleshoot that network route first. If it fails on both, share redacted logs with your service provider and ask them to check the server status.
Connected at First, but Disconnects After the Screen Locks?
On Android, go to system “Settings” → “Apps” → “v2rayNG” → “Battery.” Allow background activity or remove battery restrictions using the options on your device, then check notification permissions. Settings paths vary by manufacturer, so follow the options shown on your phone. Don't start by changing the server protocol.
Websites Work, but One App Can't Connect?
First check whether the app is included in per-app proxy settings, then see whether it uses different domains or UDP traffic. A web page test usually can't verify UDP support. Check whether the server and routing settings support what the app needs; don't assume an issue with one app means the whole client is broken.
Your first connection is working when the selected server repeatedly passes its test, the browser is routed through the expected exit and can reach the sites you need, and your everyday apps still work after you restore split tunneling. Make a note of the working server name, current network, and any relevant settings. If problems come up later, repeat the same checks in order and change one thing at a time. This makes the cause easier to find than reinstalling, switching servers, and changing DNS all at once.