M
MegaV
Download
Back to blog
v2rayng not workingv2rayng errorv2rayng troubleshootingv2rayng connection

V2RayNG Won't Connect? 7 Causes and How to Fix Them (2026)

Detailed troubleshooting for V2RayNG connection failures: expired configs, DPI blocking, DNS issues, Android battery optimization. Step-by-step fixes for each cause.

MegaV Team15 min read

V2RayNG Won't Connect? 7 Causes and How to Fix Them (2026)

V2RayNG was working fine yesterday, and today the Connect button is lit, the VPN icon appears in the notification shade โ€” but the internet hangs. Websites won't load, messaging apps show "no connection," and the app log is full of red lines. Sound familiar? You are not alone: in 2026 this is the most common complaint from V2RayNG users in Russia, Iran, and other countries with aggressive DPI filtering.

The good news: in 99% of cases the problem resolves within 2โ€“5 minutes once you know where to look. This article covers the most common causes of V2RayNG connection failures and provides step-by-step solutions for each. From expired configs to Android battery optimization to DPI blocking โ€” everything in one place.

If you are setting up V2RayNG for the first time and it has never connected, start with the complete V2RayNG setup guide, then come back here for troubleshooting.

Why V2RayNG May Stop Working in 2026

One important framing point: if a connection "was working and then stopped," in 90% of cases the problem is not the app itself โ€” it is external factors. V2RayNG is a client that passes traffic through your config. Three things typically break:

1. The server config โ€” the server went offline, the config expired, or the UUID became invalid.

2. The network environment โ€” the carrier's DPI system learned to recognize your protocol and is now cutting the connection.

3. The Android environment โ€” the system killed the background VPN service to save battery.

Each of these looks identical from the outside: "won't connect." But the fixes are different. That is why diagnosis comes first.

Step 0: Diagnosis โ€” How to Figure Out What Actually Broke

Before fixing anything, identify the problem. V2RayNG has built-in tools that point you in the right direction.

Real Ping Test

On the main screen of V2RayNG, long-press a server entry to open the context menu โ†’ select "Real delay test". The app attempts to connect to the server and measures round-trip time.

ResultWhat it means
Green number (50โ€“500 ms)Server is alive, config is working โ€” problem is elsewhere
-1ms or timeoutServer is unreachable or port is blocked
connection failedConfig is broken or UUID has been revoked
Very high ping (>1500 ms)Server is overloaded or routing is poor

App Logs

Tap the three-dot menu (โ‹ฎ) at the top right โ†’ "Logs". This is the most precise source of information. Look for lines containing failed, EOF, i/o timeout, tls handshake error:

  • i/o timeout โ€” packets are not reaching the server (port blocked or DPI is dropping packets)
  • tls handshake error โ€” DPI is interfering with TLS, or the SNI is wrong
  • EOF โ€” server closed the connection (often means UUID is invalid)
  • connection refused โ€” server is down or not listening on the specified port

With this information, proceed to the relevant cause below.

Cause 1: Expired Config

This is the number-one cause for users relying on free configs from Telegram channels and public lists. Free VLESS servers in 2026 typically last anywhere from a few hours to a few days. They are found quickly by DPI systems and blocked, or the server operator closes access once traffic exceeds the limit.

How to Identify

Run the Real Ping test. If the result is timeout or connection failed, and the same server was reachable yesterday โ€” the config has expired.

A second sign: the connection appears to establish, then drops on its own within 1โ€“2 minutes and does not recover.

How to Fix

Option 1 โ€” Update the subscription. If your config was added via a subscription URL, just update it: tap the three-dot menu โ†’ "Update subscription". The server address typically changes, and the subscription automatically pulls the new one.

Option 2 โ€” Replace the config. If the config was added manually via QR or link, it needs to be fully replaced. Long-press the server entry โ†’ Delete, then add a new one.

Option 3 โ€” Move to stable servers. If you are tired of updating configs every couple of days, look at MegaV servers โ€” they maintain continuous uptime and automatically rotate SNI and Reality parameters when DPI starts recognizing them.

Cause 2: DPI Is Blocking the Protocol (VMess No Longer Works)

In 2026, carrier-level DPI in Russia has become highly effective at recognizing VMess and Shadowsocks without obfuscation. If your config uses vmess://..., there is a significant chance that DPI is severing the connection 5โ€“30 seconds after it is established.

How to Identify

Open the log. If you see a cycle of connected โ†’ disconnected โ†’ reconnect every 30โ€“60 seconds โ€” this is the DPI signature.

A second sign: VPN connects, but after about a minute speed drops to zero even though the connection still appears active.

How to Fix

Switch to VLESS + Reality โ€” this is the only protocol that DPI cannot block without cutting all HTTPS traffic. Reality disguises your VPN traffic as a normal TLS session with a real website (for example, www.microsoft.com). DPI sees a legitimate TLS connection and passes it through.

In V2RayNG, open the config โ†’ Edit configuration โ†’ check the Type section:

  • Protocol: VLESS (not VMess)
  • Network: TCP
  • Security: Reality (not TLS)
  • Flow: xtls-rprx-vision

If your config does not have Reality, it is outdated. For a full explanation of why Reality cannot be blocked, see VLESS Reality โ€” Why It Cannot Be Blocked.

Cause 3: Wrong SNI

SNI (Server Name Indication) is a field in the TLS handshake where the client tells the server which domain it wants to reach. In Reality, the SNI determines which real domain your traffic is impersonating. If the SNI is wrong or has been flagged, DPI immediately recognizes the mismatch and drops the connection.

How to Identify

The log shows tls handshake error: REJECTED or the connection establishes but drops within 2โ€“3 seconds.

How to Fix

1. Open the config in V2RayNG โ†’ Edit configuration

2. Find the SNI field (may also appear as "Server Name")

3. Confirm it contains a real, accessible domain โ€” for example, www.microsoft.com, www.cloudflare.com, or www.apple.com

4. Avoid domains that might themselves be on block lists or that redirect to other hosts

A good SNI is a large, widely-used domain that no carrier would block (doing so would generate too many complaints). A bad SNI is an obscure host or a domain that redirects elsewhere. After changing the SNI, run the Real Ping test again.

Cause 4: Port Is Blocked

On some networks โ€” corporate Wi-Fi, hotel internet, carriers with aggressive filtering โ€” only port 443 (standard HTTPS) is allowed outbound. Everything else is dropped.

How to Identify

V2RayNG shows connection refused or i/o timeout in the logs. Other servers in the same subscription may work fine.

A common pattern: works at home, does not work at a cafรฉ. Does not work at home, works on mobile data. This is a clear sign of network-level restrictions, not a config problem.

How to Fix

In the server config, change the Port to 443. This works almost everywhere because blocking port 443 means breaking all HTTPS โ€” carriers are not willing to do that.

If your provider's server only listens on a non-standard port (8443, 2053, etc.), contact them and request an alternate config on port 443. Good providers always have this available.

Cause 5: VPN Conflict or Always-On VPN

Android allows only one active VPN connection at a time. If another VPN is running in parallel โ€” for example, a corporate VPN โ€” or if Always-On VPN is enabled for another app, V2RayNG cannot obtain control of the network stack.

How to Identify

V2RayNG shows "Failed to start VPN service" or tapping Connect has no effect.

How to Fix

1. Go to Android Settings โ†’ Network & internet โ†’ VPN (or Advanced โ†’ VPN)

2. Make sure no other VPN is active

3. If Always-On VPN is enabled for another app, disable it (tap the gear icon next to the VPN โ†’ turn off "Always-on VPN")

4. Restart the device โ€” not just V2RayNG, but the phone itself

5. Open V2RayNG and connect again

Also check whether any browser VPN (Opera, Brave) or Google One VPN is active in the background โ€” these also claim the VPN slot and do not release it.

Cause 6: Server Is Offline

Public V2Ray servers go offline periodically โ€” the operator moved them, hosting expired, or the data center banned the account. This is especially common with free servers shared in Telegram channels and GitHub aggregator lists.

How to Identify

Real Ping returns connection refused or timeout for all servers from the same provider. One server dying is normal. All servers from one source dying simultaneously suggests the provider has shut down.

You can verify the server address with a simple connectivity test: if the IP does not respond to ping and a direct curl https://server-address times out โ€” the server is gone.

How to Fix

  • Update the subscription (menu โ†’ "Update subscription")
  • If the subscription itself does not update, check the URL โ€” the subscription address may have changed too
  • If the provider has a Telegram channel, check for announcements about server migration
  • Connect to MegaV servers โ€” RAM-hosted with automatic failover; servers do not disappear silently

Cause 7: Android Battery Optimization Kills the Connection

Android tries to conserve battery by terminating background apps. V2RayNG suffers from this more than most: with the screen off, the system may kill the VPN connection in 5โ€“10 minutes. When the user returns to the phone, the connection is gone.

How to Identify

V2RayNG connects, but after a few minutes with the screen off the connection drops. After unlocking, internet does not work immediately โ€” it takes a minute or two to recover.

This is especially common on Xiaomi, Huawei, Honor, OnePlus, Realme, and Samsung โ€” these manufacturers implement aggressive proprietary battery optimization that can override standard Android settings.

How to Fix

Standard Android (any device):

1. Settings โ†’ Apps โ†’ V2RayNG โ†’ Battery โ†’ select "Unrestricted" (or "Don't optimize")

2. Settings โ†’ Apps โ†’ V2RayNG โ†’ Permissions โ†’ allow background activity

3. Pin V2RayNG in the recent apps screen โ€” swipe down on the app card โ†’ tap the lock icon

Xiaomi / Redmi / POCO:

  • Settings โ†’ Apps โ†’ V2RayNG โ†’ Activity control โ†’ "No restrictions"
  • Settings โ†’ Battery & performance โ†’ Battery saver โ†’ find V2RayNG โ†’ "No restrictions"
  • Settings โ†’ Additional settings โ†’ Autostart โ†’ enable for V2RayNG

Samsung:

  • Settings โ†’ Device care โ†’ Battery โ†’ Background usage limits โ†’ V2RayNG should be in "Never sleeping apps"
  • Settings โ†’ Apps โ†’ V2RayNG โ†’ Battery โ†’ "Unrestricted"

Huawei / Honor:

  • Settings โ†’ Battery โ†’ App launch โ†’ V2RayNG โ†’ turn off "Manage automatically" โ†’ manually enable all three toggles

After applying these settings, the VPN connection will persist until you explicitly disconnect it.

Cause 8 (Bonus): DNS Leak or DNS Not Working

Sometimes the VPN connects โ€” the key icon is in the status bar โ€” but websites do not load. Direct IP access works fine, but domain names do not resolve. This is a classic DNS issue: the VPN tunnel is established, but DNS queries are either routing outside the tunnel or hitting a DNS server blocked by your carrier.

How to Identify

Open the browser and navigate to 1.1.1.1 (the bare IP address). If the Cloudflare page loads, the VPN tunnel is working and the problem is DNS. If even the bare IP does not load, the problem is deeper (see earlier causes).

How to Fix

In V2RayNG, open settings (the gear icon) โ†’ DNS (or "DNS Settings"):

  • Set DNS to 1.1.1.1 (Cloudflare) or 8.8.8.8 (Google)
  • Enable "Use DNS over HTTPS" or "Local DNS" if the option is available
  • Leave the "Direct domain" field empty or with a minimal set of entries

After saving, reconnect. In 95% of cases this resolves DNS-related issues completely.

Cause 9: Broken Subscription

If you added servers via a subscription URL and the subscription no longer updates, the provider may have changed the URL structure, your paid subscription may have expired, or the subscription delivery server may be down.

How to Identify

Menu โ†’ "Subscription settings" โ†’ check the last-updated date. If it shows yesterday or earlier even though you tried updating today, the update is not going through.

Open the subscription URL in a browser. If it returns a page full of base64 text โ€” the subscription is working (V2RayNG decodes this automatically). If it returns a 404, 403, or a login page โ€” the subscription is dead.

How to Fix

  • Log into your provider account and copy a fresh subscription URL
  • In V2RayNG, delete the old subscription (menu โ†’ "Subscription settings" โ†’ long-press โ†’ Delete)
  • Add the new URL with the same display name
  • Menu โ†’ "Update subscription"

Cause 10: Outdated V2RayNG Version

Reality, new encryption methods, and updated transports are added to V2RayNG regularly. If you are running a version older than 1.9.x (anything from mid-2024 or earlier), modern configs may simply refuse to load.

How to Identify

Menu โ†’ "About". Compare your version to the latest release on GitHub 2dust/v2rayNG releases.

How to Fix

Download the current APK from GitHub or update via Google Play / F-Droid. After updating, re-import your configs โ€” sometimes old configs need to be deleted and re-added to expose new Reality fields that the older app version did not display.

If Nothing Works: What to Do Next

If you have worked through all the causes above and V2RayNG still will not connect, one of two things is happening:

1. Your carrier has implemented unusually aggressive DPI โ€” some regional operators in Russia in 2026 block even Reality traffic if the SNI choice is poorly calibrated.

2. Your specific server's config does not match your network's requirements โ€” you need different transport parameters (gRPC, WebSocket, TLS-fragment).

In both cases, manual V2RayNG maintenance turns into an endless quest: every two or three days you need to find a new config, verify the SNI, change the port, refresh the subscription. That can consume an entire weekend. It does not have to.

Switching from V2RayNG to MegaV

MegaV uses the same technology stack โ€” VLESS Reality with xtls-rprx-vision โ€” but hides all of the complexity behind a single Connect button. If you are tired of config maintenance, the comparison is clear:

ParameterV2RayNG + manual configMegaV
SetupAPK + finding a configDownload โ†’ tap Connect
Config updatesManual, every 2โ€“7 daysAutomatic in the background
Response to blocking"Find a new server yourself"Auto-failover to a working node
Kill SwitchNoYes, OS-level
DNS leak protectionMust configure manuallyEnabled by default
Battery optimizationMust configure per deviceHandled inside the app
SupportGitHub Issues in EnglishSupport in your language
Cost"Free" but configs are unstablePaid, with 3-day trial

V2RayNG is an excellent tool if you enjoy the technical side and do not mind spending time on configuration. MegaV is for when you just want the internet to work.

Download MegaV for Android โ€” 3-day trial, no credit card required.


FAQ: 5 Quick Answers

Why does V2RayNG show "Connected" but internet still doesn't work?

In 90% of cases this is a DNS leak or an expired config. Test it: open 1.1.1.1 in the browser. If it loads โ€” fix DNS in V2RayNG settings (see Cause 8). If it does not load โ€” the config or server is dead (see Causes 1 and 6).

Why does V2RayNG disconnect on its own after a few minutes?

This is Android battery optimization. Go to phone Settings โ†’ Apps โ†’ V2RayNG โ†’ Battery โ†’ select "Unrestricted." Full instructions are in Cause 7 above.

What if V2RayNG won't launch at all?

Uninstall and install a fresh copy from GitHub. If that does not help, your Android version may be too old โ€” V2RayNG requires Android 5.0 minimum. On older Android, try Husi or v2rayNG-Mod.

Why did all my free configs stop working at once?

This is normal for 2026. Free VLESS servers last a few days โ€” DPI systems find them quickly, or server operators close access when traffic exceeds their limit. For stable connectivity, you need either paid configs or a managed service like MegaV.

Is V2RayNG more secure than a regular VPN?

"More secure" is not the right framing. V2RayNG is a tool for making traffic look like ordinary HTTPS, which makes it invisible to DPI. Standard VPNs (WireGuard, OpenVPN) encrypt traffic but leave a recognizable signature. For privacy, both depend on the server operator's policies. For resistance to blocking โ€” V2RayNG with Reality is significantly better.


V2RayNG is a powerful tool, but it requires attention: staying current with configs, understanding SNI and Reality settings, managing Android battery optimization. If that kind of technical engagement suits you, work through this guide when something breaks. If you would rather have the connection just work, consider MegaV for Android โ€” the same VLESS Reality technology, without the manual maintenance overhead.

If this guide helped you fix your connection, you might also find useful: the complete V2RayNG setup guide and VLESS Reality โ€” Why It Cannot Be Blocked.

Want more than just reading?

Try MegaV VPN free for 3 days

All features unlocked โ€” Xray, WireGuard, ad blocker, IP checker and the private news reader. No card required.