In this guide

For users who have just installed v2rayN or v2rayNG and have node details but aren't sure where to start troubleshooting. Work through imports, subscriptions, traffic routing, routing rules, and logs in order, changing one setting at a time. First establish a working baseline with one node and one test website, then tackle per-app proxying, background operation, and startup behavior.

1. What are V2Ray, Xray, and a client?

V2Ray is a proxy software project and is also commonly used as a general term for this type of configuration. Xray is the core responsible for connections, protocol handling, and routing. A client provides a server list, subscription updates, and a settings interface. Installing a client does not give you access to a working server—you still need to import a node or subscription you’re authorized to use.

VMess and VLESS are protocol names, not subscription service names. A node may also include settings such as TLS, transport, and server name. VLESS itself does not provide encryption; assess connection security based on the specific configuration, including TLS or REALITY, rather than the protocol name alone.

2. Why won't my share link import?

Check the beginning of the copied text. vmess:// and vless:// usually indicate single-node share links. https:// is common for subscription URLs, but it could also point to a regular webpage. Importing a single node and updating a subscription are different actions. Using the wrong option may result in a format error or no nodes being imported.

  1. Copy the complete link, without explanatory text, quotation marks, or line breaks from a chat. Don't try to use a truncated link as a complete configuration.
  2. In v2rayNG, tap “+” in the top-right corner, then “Import config from clipboard.” In v2rayN, go to “Servers” → “Import bulk URLs from clipboard.” Menu labels may vary slightly by version.
  3. The QR code must contain the complete node configuration. Scanning a QR code that links to a service webpage won't automatically give you a node.
  4. If the import still fails, ask the provider to confirm the protocol, transport, and client compatibility, then request a fresh link. Don't try to fix it by removing query parameters at random.

3. Subscription updates failing: should the proxy be on or off?

It depends on whether the subscription server is reachable from your current network. Updating a subscription only downloads a list of configurations; it doesn't mean the nodes in that list can connect. Treat a timed-out request, a webpage response, an empty list, and an unavailable node as separate issues.

SymptomWhat to check firstWhat to do next
Connection timed outWhether the subscription domain is reachable on your current networkIf you have a working node, try updating through the proxy. Otherwise, ask the provider for an accessible URL.
HTTP 401 or 403Token, account status, or access restrictionsGet a fresh subscription URL. A 403 may also be caused by an access policy, so don't assume the link has expired.
Update succeeds, but no nodes appearResponse content and subscription formatMake sure the response isn't a login page, an error page, or a format your client can't parse.
Node names haven't changedCurrently selected subscription groupSwitch to the group you just updated, then check its update time and node count.

In v2rayN, the “Subscription groups” menu distinguishes between update options that bypass the proxy and those that use it. In v2rayNG, check the URL under “Subscription group settings” in the sidebar, then select “Update subscription” from the main screen. If the proxy itself is disconnected, updating through it just adds another point of failure. Don't delete all your nodes first; keep one known-good configuration so you can recover.

4. Connected, but webpages still won't load?

A running icon usually means the core or VPN service has started. It doesn't confirm that remote authentication succeeded—or that browser traffic is going through the proxy. Break the request into these five stages, find where it fails, and then change the relevant setting.

App requestLocal traffic captureRouting matchNode connectionDestination response
  1. Check your local network: Temporarily turn off the proxy and make sure regular websites load. This rules out issues such as an unsigned-in Wi-Fi network or disabled mobile data.
  2. Check traffic capture: In v2rayN, set “System proxy” to “Auto configure system proxy.” In v2rayNG, confirm the system VPN indicator appears after startup and that the app you're testing isn't excluded.
  3. Check the local port: Use the listening port shown under “Settings” → “Parameter settings.” If the actual SOCKS port is 10808, don't enter 10809 in the app.
  4. Check the remote connection: Switch to a node you know works, visit the same full HTTPS URL, and check the logs at that moment.

If only your browser works, other apps may not follow the system proxy settings. If just one website fails, check its domain's routing and DNS results first. Don't change DNS, nodes, routing, and ports all in one test; otherwise, you won't know what fixed the problem.

5. Global, rule-based, system proxy, and VPN modes: which should you use?

These terms refer to different layers. A system proxy, VPN, or TUN determines how traffic enters the client; global or rule-based routing determines which outbound route it takes once it reaches the core. Enabling the VPN service doesn't mean all traffic goes through a remote node—routing rules may still send some requests directly.

SettingWhat it controlsRecommended for beginners
System proxyUsed by apps that follow the system proxy settingsStart here to test a connection in a desktop browser
VPN / TUNCaptures traffic at the network layer; the exact scope depends on the platform and configurationEnable it when you need to route traffic from other apps
Global proxy routingSends regular traffic within the matched scope through the proxy outboundUse briefly to troubleshoot routing rules
Rule-based routingSelects proxy, direct, or blocked routes based on domains, IPs, and other conditionsUse for everyday browsing after confirming the connection works

Bottom line: verify the node first, then the rules

Keep the traffic capture method unchanged and temporarily switch routing to global proxy. If the same webpage now loads, check which rules match and how DNS is handled; don't reinstall the client straight away. Restore your original routing mode after testing.

6. How should you read errors in the logs?

In v2rayN, check core activity in the main window's log panel. In v2rayNG, open “Logs” in the sidebar. Clear old entries or note the current time, then reproduce the failed request once. These are common log excerpts; surrounding prefixes and detailed addresses vary by core and platform.

Error: address already in use

Cause: Another process is using the local listening port. Fix: Close any duplicate client instances, or change the listening port and update the proxy port in the app as well.

Error: connection refused

Cause: The connection to the destination was refused. The local proxy may not be listening, or the remote service may be down. Fix: Check whether the error points to 127.0.0.1 or the node address, then check the local service or contact the node provider accordingly.

Error: i/o timeout

Cause: A network operation didn't complete in time. This message alone doesn't tell you whether the problem is DNS or the remote server. Fix: Use the surrounding log entries to identify the connection target, then try the same node on a different network.

Error: x509: certificate has expired or is not yet valid

Cause: The device time doesn't match the certificate's validity period, or the server certificate has actually expired. Fix: Turn on automatic date and time, then try again. If the time is correct and the error persists, ask the provider to check the certificate.

Don't enable allowInsecure just to make a certificate error go away. It changes certificate verification behavior, but won't fix an incorrect server name, an expired certificate, or an untrusted connection. When sharing logs, include a few lines before and after the error, along with the time. Hide tokens, UUIDs, passwords, and private domains.

7. Low latency, but slow downloads?

TCPing mainly measures the time needed to establish a TCP connection to the server port. It doesn't tell you whether the proxy handshake, destination access, or download throughput is working well. Actual connection latency also depends on the test URL, server response, and protocol handshake. Download speed tests use real bandwidth and are limited by the test server's speed.

If speeds drop only in the evening, compare different times and nodes. If switching to mobile data fixes the issue, check for congestion, packet loss, or traffic restrictions on the original network. Don't keep tweaking transport settings based on one latency reading.

8. Should you change DNS or enable FakeDNS?

First confirm whether the failure happens during name resolution. DNS translates domain names into addresses; routing selects the outbound route. Changing the resolver to a particular address doesn't automatically route DNS queries through the proxy. The remote resolver must also be reachable using the path specified in your configuration.

  1. If the default settings work, leave DNS as is for now and save a working configuration.
  2. If the node server uses a domain name, make sure that domain resolves. Otherwise, the core may get stuck on the DNS lookup it needs before it can connect to the node.
  3. If only some domains fail, check the domain rules, DNS results, and outbound route. Don't assume every failure is caused by DNS poisoning.
  4. FakeDNS maps domain names to virtual addresses and requires compatible traffic capture, sniffing, and routing. It's not a general-purpose speed boost, especially for beginners.

9. Why do only some apps work—or does the connection drop when the screen locks?

Desktop apps may ignore the system proxy; Android apps may be excluded from per-app proxying. In v2rayNG, open “Settings” in the sidebar and check “Per-app proxy.” Confirm whether the list is set to “Proxy selected apps” or “Bypass selected apps.” The checkmarks alone can make it easy to misunderstand which apps are affected.

Battery restrictions, app traffic scope, and node expiration are three separate issues. First keep the app in the foreground and browse long enough to confirm the node works. Then test with the screen locked to tell whether the remote connection drops or the system closes the process.

10. How do you set up startup and keep a recovery-ready configuration?

Starting the client at boot, starting the proxy service automatically, and automatically setting the system proxy are different things. Verify your configuration manually first, then look for startup options under v2rayN “Settings” → “Parameter settings.” The menu path varies by desktop OS and version, so use the options shown in your current interface. On Android, restoring the connection at boot also depends on the system's startup permissions and VPN authorization.

  1. Note your current node, subscription group, routing mode, listening port, and per-app proxy scope. Keep sensitive details on your own device.
  2. After enabling automatic startup, restart the device and confirm that all four work: the process is running, the service has started, traffic is being captured, and webpages load.
  3. Keep recovery steps handy: stop the service, close the client, restore the system proxy settings, then use your local network to check basic connectivity.

Browser stops working after you close v2rayN?

In v2rayN, select “Clear system proxy” under “System proxy,” then exit. If the client is already closed, open your system's network proxy settings and disable any manual proxy that still points to a local port. Then reopen the browser and test again.

Why do I still have to click Connect after enabling startup?

Startup may only launch the interface. Check whether there is a separate auto-connect or service recovery option, and make sure a working node is available at startup. On Android, also check that the system allows background launch and VPN connections.

Switching phones: what should I back up?

Save your subscription URL and any essential manual node configurations first, then note your routing and per-app settings. Keep subscription credentials private. Remove the old device's configuration only after the new device imports successfully and you have confirmed that it connects.

After troubleshooting, keep a minimal working setup: one valid node, one clear traffic capture method, and one verified routing configuration. If something breaks later, return to this baseline and restore additional settings one at a time.

Client installation and first-time setup

Choose v2rayN or v2rayNG for your operating system, then follow the Getting Started guide to import a configuration, start the client, and verify connectivity.