V2Ray Client · Troubleshooting Index

V2Ray Troubleshooting FAQ

Subscription imports, proxy routing, and connection issues. Identify your client, then troubleshoot by symptom—changing one setting at a time.

Client Basics

Understand clients, cores, nodes, and how traffic is routed.

What’s the difference between V2Ray, v2rayN, v2rayNG, and v2flyNG?

V2Ray usually refers to the proxy core and related technology in the Project V ecosystem, not to these three graphical clients collectively. v2rayN is a desktop client for Windows, macOS, and Linux. v2rayNG is an Android client that uses the Xray core, while v2flyNG is an Android alternative that uses the V2Fly core. Clients manage subscriptions, node selection, and proxy controls; the core handles the actual connection. When troubleshooting, note the client name, version, and core name. “V2Ray won’t connect” alone isn’t specific enough to identify the relevant menu or supported protocols.

Why don’t I have any nodes to connect to after installing the client?

A client is a configuration and connection tool; installing it doesn’t automatically provide servers. You’ll need a subscription URL, a node share link, or a complete configuration that you’re authorized to use, then import it. Subscription URLs usually provide a list of nodes, while share links typically contain a single node, and each has a different import option. After importing, select a node from the server list and enable the system proxy or VPN connection. Don’t use an ordinary webpage URL as a subscription, or post subscription details in public comments, screenshots, or online conversion tools—they may contain account identifiers and connection credentials.

What do system proxy, TUN, and routing modes control?

The system proxy determines whether apps that follow the system proxy settings send requests to the client. TUN captures traffic through a virtual network interface, covering traffic differently from the system proxy. Routing mode decides whether traffic entering the core is proxied, sent directly, or blocked. Enabling the system proxy doesn’t capture traffic from every app, and switching to global routing won’t automatically capture apps that bypass the proxy. For an initial setup, start with the system proxy and verify browser access, then consider TUN if specific apps require it. When troubleshooting, check separately whether traffic reaches the client and which routing rule it matches.

Can I freely switch between VMess, VLESS, Trojan, and Shadowsocks?

You can’t just change the protocol name in the client. The protocol must match the server, along with the address, port, identity fields, transport, and TLS settings. A VMess share link and a core-native JSON configuration use different formats; changing a link prefix doesn’t convert one protocol to another. Import the original configuration from your provider first, then check that the client and selected core support that combination. If a configuration isn’t recognized, keep the original and confirm its format with the source. Don’t remove unfamiliar fields just to make the import succeed—some may be required for the connection.

Setup & Installation

Choose the right package, import your subscription, and check permissions.

Which v2rayNG package should I choose: arm64 or universal?

Most newer Android phones can use arm64, but a device’s age alone doesn’t tell you its system architecture. Check the model under Settings → About phone, then look up the device’s processor and system architecture; some devices don’t show the ABI in Settings. Choose arm64 if you’ve confirmed the device runs a 64-bit ARM system. If you’re unsure, try universal, which includes multiple architectures and is usually a larger download. If the app won’t install, also check the Android version, available storage, and the signature of any installed version. Architecture isn’t the only possible cause of an installation failure.

Where do I import subscriptions in v2rayN and v2rayNG?

In the v2rayN desktop app, open the Subscription Group menu at the top, choose Subscription Group Settings, add a group, and enter the subscription URL. Save it, then return to the menu and select Update Current Subscription (direct). In v2rayNG, open Subscription Group Settings from the side menu, add a name and URL, then return to the main screen and choose Update Subscription from the top-right menu. Menu wording may vary slightly by version; look for the subscription group settings and update subscription options. After updating, check that nodes appear in the server list, then select one to connect. Saving the URL alone doesn’t fetch nodes for the first time.

Subscription import reports a format error. What should I check first?

First, distinguish a subscription URL from a node share link: a subscription is usually a complete HTTPS URL, while a share link starts with a protocol prefix such as vmess:// or vless://. Enter subscription URLs in Subscription Group Settings; import individual share links through a node import option such as Import from clipboard. When copying the link again, remove leading or trailing spaces, line breaks, quotation marks, and punctuation added by a messaging app, but keep the URL’s original parameters. Repeated pasting won’t help if the response is a login page, an error page, or a configuration format the client doesn’t support. Ask the provider which format works with your client, and don’t submit sensitive links to unfamiliar conversion sites.

TUN won’t start. How do I handle administrator permissions and VPN authorization?

On desktop, check the log at the bottom of v2rayN and distinguish permission errors from virtual network adapter initialization or route configuration failures. On Windows, quit the client, run it as administrator, and test TUN again. On macOS or Linux, follow the current version’s prompts for any required helper components or permissions; Windows steps may not apply. On Android, traffic is usually captured through the system VPN interface. Approve the system connection request the first time, and make sure another VPN app isn’t already using the connection. If work profiles or device management policies restrict the feature, confirm that the policy allows it. Don’t repeatedly grant permissions or disable system protections.

Usage Tips

Routing, DNS, and speed tests each check a different part of the connection.

Should I use global proxy or rule-based routing?

For everyday use, start with rule-based routing and switch to global proxy temporarily to compare results while troubleshooting. In v2rayN, change the routing configuration in the route selector at the bottom of the main window, and check the system proxy separately. In v2rayNG, review the predefined and custom rules under Routing in the side menu. Global proxy means traffic handled by that routing configuration generally uses the proxy for outbound connections; it doesn’t mean every app will use the proxy automatically. If a site works after switching modes, check rule order, domain matching, and DNS. Restore your original mode when testing is done so temporary troubleshooting settings don’t remain in place.

Should I change DNS in the system settings or in the V2Ray client?

First determine which component resolves the domain, then decide where to make changes. Resolution paths may differ for apps connecting directly, system proxy traffic, and TUN traffic. Changing system DNS may not affect remote resolution in the core. In v2rayN, check the DNS settings under Settings. In v2rayNG, look for options such as local DNS and remote DNS in Settings; the available options depend on the version. Keep the defaults initially, then test the same domain with the same node and compare the result with any DNS errors in the logs. Change one setting at a time. Replacing all DNS servers and routing rules at once makes it hard to tell what fixed or caused the problem.

Why are webpages still slow when TCPing shows low latency?

TCPing mainly measures the connection to a target port; it doesn’t confirm that the full proxy handshake, DNS resolution, or access to the destination site is working. A real-connection latency test sends a request through the proxy, while a download speed test better reflects sustained transfer performance. In v2rayN, choose a test from the server list’s right-click menu. In v2rayNG, look for a real-connection test in the main screen menu. For a fair comparison, keep the network, test address, and timing consistent, and avoid downloading large files at the same time. If only one site is slow, check its route and matching rules instead of repeatedly switching nodes based on a single latency figure.

How can I keep node configurations in sync between a computer and an Android phone?

The best option is to add the same valid subscription URL on both devices and update each one, so the subscription source can provide node changes consistently. First confirm that your account allows multiple devices; device limits and simultaneous connection limits depend on the service provider. For a temporary transfer of a single node, use a share link or QR code, but these usually won’t update automatically with the subscription. Desktop and Android settings for the interface, system proxy, VPN authorization, and TUN can’t simply be copied between devices. When backing up, keep node details separate from client preferences. Hide URLs, identity fields, and QR codes before sharing screenshots.

Troubleshooting

Start with the update and connection logs to identify whether the issue is fetching the configuration, starting the core, or reaching the destination.

Subscription update failed. How can I tell whether it’s the URL or the network?

Start by checking the specific error in the update log. A DNS resolution failure points to the current network or resolution path. A connection timeout means you should check whether the subscription domain is reachable. For HTTP 401 or 403, check URL permissions and account status. For 404, confirm whether the URL has changed, but remember that an error code alone doesn’t prove the cause. In v2rayN, first try Update Current Subscription (direct). If a direct connection isn’t available and you already have a working node, try updating through the proxy. Don’t rely on a proxy update when you have no working nodes. If the old list still works, keep it so you don’t lose the configuration you may need to restore your connection.

A node times out and won’t connect. What should I check, and in what order?

Enable automatic system time and confirm the time zone, then check whether your local network can access websites directly. Next, check the client logs to confirm the core started and make sure the local listening port isn’t in use. If there’s a port conflict, close the other program or change the client’s port, then update the proxy address in the app as well. Check the node address, port, TLS, SNI, and transport settings, then verify routing and subscription status. Change one thing at a time and test again. If every node in the same subscription fails, look for a shared cause first. If only one node fails, ask the provider whether that node is operational.

It says connected, but my browser can’t access the internet. What should I check?

“Connected” usually means only that the core or VPN interface has started; it doesn’t prove that the destination site is reachable. Check the client logs for browser requests. If there are none, check whether the browser’s own proxy settings, system proxy, or another proxy extension is overriding the client. If requests appear but fail, identify whether the issue is DNS resolution, a TLS handshake, or an outbound timeout. Temporarily test a known working node and a standard test website rather than checking only one site. If access still fails after closing the client, make sure the system proxy was cleared and isn’t still pointing to a local port that’s no longer listening.

v2rayN system proxy isn’t working. Why do some apps still connect directly?

In the System Proxy menu at the bottom of the v2rayN main window, select Set system proxy automatically. Then check the operating system’s network proxy settings to confirm that the address and port were set and match the client’s actual listening address and port. If your browser has its own proxy settings, set it to follow the system settings or enter the correct local proxy. Some games, command-line tools, and other apps don’t use the system proxy. Configure those apps individually or, after checking permissions, consider TUN. Don’t run several apps that change the system proxy at the same time. Reopen the target app after restoring the settings, and use the logs to confirm that its traffic reaches the client.