V2Ray Beginner FAQ: Subscription Import, Connection Failures & Proxy Modes

From subscription sources and node imports to connection troubleshooting, system proxy settings, TUN, and routing modes, this guide answers 10 common questions in practical order.

At a glance

This guide is for users new to v2rayN, v2rayNG, or v2flyNG. It explains how subscriptions and clients work together, provides clear checks for importing, updating, connecting, and routing, and uses exact errors, port details, and step-by-step checks to troubleshoot two common issues: nodes are available but will not connect, or the client shows connected while websites remain unreachable.

1. Subscription Links and Node Import

Question 1: Where do subscription links come from?

A subscription link is not an account generated by the client, and it does not come bundled with v2rayN or v2rayNG. It usually comes from a self-managed server configuration, a network service provider's user panel, or a configuration portal shared by an organization administrator. The client only reads node details from the link, then passes them to the V2Ray, Xray, or v2fly core to establish a connection.

A single subscription link may return multiple VMess or VLESS configurations, or just one node. When copying it, keep the complete protocol prefix, path, and query parameters; do not copy only the domain. If the link requires authentication, do not import the webpage URL as the subscription address. Confirm the source and your access rights before use, and store any included credentials securely.

Question 2: Why are there no nodes after importing a subscription?

The most common reason is that a subscription group was created but never updated. Other possibilities include spaces added to the link, an expired subscription, an empty response, or filters that hide every node in the group. Run an update first, then check the client message and node count in the subscription group instead of judging import status from a blank main screen alone.

  1. Copy the complete link

    Copy the full address from the provider's subscription page. Make sure it starts as a recognizable web address and that chat software has not truncated its ending parameters.

  2. Create a subscription group

    In v2rayN, open “Subscription Groups” → “Subscription Group Settings” → “Add”. Enter an alias and subscription address, then save.

  3. Update all subscriptions

    Return to the main screen and open “Subscription Groups” → “Update All Subscriptions (Without Proxy)”. If the subscription cannot be reached directly from your current network, use the proxy update option instead.

  4. Check the filters

    If the update reports success but the list is still empty, clear the include and exclude keywords in the group and make sure name filtering has not hidden the nodes.

  5. Review the update result

    Check the returned item count in the status bar or logs. A response with zero configurations usually means the subscription itself needs checking, not repeated client reinstallation.

2. Connection Failures and Unreachable Websites

Question 3: The node test works, but connecting fails. What should I do?

A latency test only shows that an address responded at that moment; it does not guarantee a successful protocol handshake. A real connection also checks the server address, port, user ID, transport, TLS, SNI, REALITY parameters, and system time. Any mismatch can cause a timeout, a closed connection, or an unreachable destination error.

Try another node from the same subscription first. If only one node fails, focus on that node's configuration. If every node fails at once, check the local network, DNS, core startup status, and system time. In Windows 11, open “Settings” → “Time & language” → “Date & time” and enable automatic time setting; a large time difference can disrupt the TLS handshake.

Error: failed to find an available destination

Cause and fix: The outbound server address cannot be resolved, or the resolved address is unreachable. Check the node address for typos, temporarily switch the system DNS to a working resolver, then restart the core and test again.

Error: context deadline exceeded

Cause and fix: The connection did not complete within the allowed time, commonly because the port is unreachable, the route is congested, or handshake parameters do not match. Switch nodes first, then verify the port, TLS, SNI, and transport.

Error: bind: Only one usage of each socket address is normally permitted

Cause and fix: The local listening port is already in use by another process. Close duplicate client instances, or change the local port under “Settings” → “Parameter Settings”, then restart.

Error: connection reset by peer

Cause and fix: The remote endpoint closed the connection during the handshake. Check whether the node has expired and confirm that the transport layer, TLS, and server-side configuration match the client.

Question 4: The client says connected, so why are websites still unreachable?

“Connected” usually means only that the core has started or that one test request succeeded; it does not mean browser traffic is using the proxy. On desktop, check the system proxy switch first. On Android, confirm that the system VPN permission is still active. If only one website fails, also check routing rules and DNS results instead of assuming every node is down.

10808
Common local mixed-proxy port
127.0.0.1
Local proxy listening address
53
Traditional DNS query port
5 minutes
Suggested time for quick troubleshooting

For a setup using local port 10808, a browser with a manually configured proxy should point to 127.0.0.1:10808, not the remote port on the node server. When the system proxy is enabled, the client writes the setting to the operating system, so the browser usually follows it automatically. If the port is changed manually, update the browser's old proxy setting as well.

Browser sends requestSystem proxy takes overLocal port listensRouting rule matchesNode proxy sends traffic out

3. Global, Rule-Based Routing, System Proxy, and TUN

Question 5: Should I use global mode or rule-based routing?

Global mode sends all traffic managed by the client through the proxy, making it useful for quickly checking whether a problem is caused by routing rules. Rule-based routing chooses direct, proxy, or blocked access according to domains, IPs, protocols, or rule sets, making it better for everyday use. Beginners can start with global mode for connectivity testing, then switch back after confirming that the node works.

Rule-based routing is not simply a matter of deciding between “mainland China” and “outside China”. The client matches routing rules from top to bottom, and the first match determines the outbound path. A custom rule placed after the default rules may never take effect. After changing rules, reload the configuration and use the logs to confirm which rule actually matched the target domain.

Mode Traffic handling Best for Key checks
Global proxy All intercepted traffic uses the proxy Initial connectivity tests and ruling out routing problems Node availability, DNS, and remote port
Rule-based routing Chooses different outbounds by domain and IP Everyday browsing and reducing unnecessary proxy traffic Rule order, domain categories, and DNS resolution
Direct connection Requests bypass proxy nodes Testing the local network or accessing local services Leftover system proxy settings and browser-specific proxies

Question 6: What is the difference between system proxy and TUN mode?

A system proxy mainly affects applications that follow the operating system's proxy settings. Browsers usually do, but some programs, command-line tools, and software with its own network stack may bypass it. TUN mode uses a virtual network adapter to capture a broader range of IP traffic, so it offers wider coverage but depends more on drivers, permissions, DNS interception, and routing-table configuration.

In v2rayN, ordinary web browsing can start with “System Proxy” → “Set system proxy automatically”. Consider TUN only when an application clearly ignores the system proxy. If local network devices become unreachable after enabling TUN, check the LAN bypass rules. If the core fails to start, check administrator permissions, virtual adapter status, and port conflicts.

4. VMess, VLESS, and Subscription Updates

Question 7: Can VMess and VLESS parameters be mixed?

No. VMess and VLESS are different protocols. Although both may expose fields such as address, port, user ID, transport, and TLS, the protocol type and server-side configuration must match. A VLESS configuration may also combine REALITY and XTLS Vision. Without the public key, short ID, flow control, or server name, the handshake usually cannot complete.

Importing a subscription reduces manual transcription errors. If you must add a node manually, compare the protocol, address, port, user ID, encryption or flow control, transport, path, Host, TLS, SNI, and fingerprint settings one by one. Do not copy parameters from one protocol into another just because two nodes use the same address.

Question 8: What should I do if subscription updates fail or keep timing out?

First determine whether the subscription address itself is reachable, then check whether it needs to be fetched through a proxy. An update failure does not usually remove existing nodes immediately; the client can generally continue using the last successfully saved configuration. Do not delete the entire subscription group before troubleshooting, or you will lose both the old nodes and the entry used for proxy updates.

Subscription update timed out?

Connect to an existing working node first, then choose the proxy update option from v2rayN's “Subscription Groups” menu. If it still times out, check whether the subscription address has changed.

Update succeeded, but the node count is zero?

Open the subscription group settings, clear the include and exclude filters, and try again. If the response is still empty, verify the configuration at the subscription source.

Did the original node names change after the update?

Node names are determined by the subscription response. If routing or filtering depends on name keywords, review those rules as well so the new names are not excluded.

Can I send my subscription link to someone for troubleshooting?

It is not recommended to share the complete link publicly because it may contain access credentials. For troubleshooting, provide the error with identity parameters removed, the protocol type, and a relevant excerpt from the client log.

Did every node suddenly fail after the update?

Restart the core and select a node again, then check the system time and subscription announcements. If the parameters were changed across the board, follow the latest subscription content instead of continuing to use an old manually copied configuration.

After a subscription update, the configuration currently running may not reload automatically. In v2rayN, select a node again and start the core once; in v2rayNG, stop the connection, select the updated node, and start it again. Check the log timestamps to confirm that the active configuration is the updated version, not an older copy still in memory.

5. Android Background Connections and Client Choice

Question 9: Why does v2rayNG disconnect in the background, and how do I set per-app proxying?

Android may restrict background apps through battery policies. The first time you connect with v2rayNG, accept the system VPN connection request; if permission is denied, the client cannot create a VpnService channel. If the connection stops after running for a while, add the client to the system battery-optimization allowlist and permit background activity. A common path in Android 14 is “Settings” → “Apps” → “v2rayNG” → “App battery usage” → “Unrestricted”; menu names vary slightly by device.

Per-app proxying specifies which apps use the proxy tunnel. In v2rayNG, open “Settings” → “Per-app proxy”, enable the feature, then choose the allowlist or bypass list. Do not confuse the two: the allowlist sends only selected apps through the proxy; the bypass list connects selected apps directly while the rest use the proxy. Disconnect and reconnect after making changes so the new rules load.

  1. Confirm system permission

    Accept the VPN connection request on the first connection. Once the system VPN indicator appears in the status bar, test a webpage.

  2. Relax battery restrictions

    Go to “Settings” → “Apps” → “v2rayNG” → “App battery usage” and choose the option that allows continued background activity.

  3. Enable per-app proxying

    In the client, open “Settings” → “Per-app proxy”, explicitly choose the allowlist or bypass list, then select the target apps.

  4. Reconnect

    Stop the current connection and start it again. Test one selected app and one unselected app to verify that the rule direction matches your expectations.

Question 10: Which should I choose: v2rayN, v2rayNG, or v2flyNG?

For desktop, start with v2rayN. It provides subscription groups, system proxy, routing, TUN, and other common features for Windows, macOS, and Linux. On Android, choose according to your core requirements: v2rayNG uses the Xray core and suits common combinations such as VLESS and REALITY; v2flyNG uses the v2fly core and suits users who need the corresponding V2Ray configuration ecosystem.

Whether the same subscription can be fully imported into different clients depends on the protocols and parameters it actually contains, not just the link format. If a node works in one client but is not recognized by another, compare core support and configuration fields first instead of immediately blaming a network problem.

v2rayN
Windows, macOS, and Linux desktop
v2rayNG
Android with the Xray core
v2flyNG
Android with the v2fly core

For beginner troubleshooting, follow the same order every time: confirm that the subscription contains nodes, confirm that the core starts, check system proxy or VPN permission, and finally inspect DNS and routing rules. Change only one variable at a time and keep the previous configuration. This makes it possible to identify whether a failure comes from the subscription, node, client, or traffic-capture layer.

Download client View Windows, macOS, Android, and Linux versions