V2Ray Client FAQ
Covers installation, subscriptions, routing, and troubleshooting for v2rayN, v2rayNG, and v2flyNG. Find your issue by category and expand an entry to see the answer.
- 4 categories
- 24 Q&As
- v2rayN · v2rayNG · v2flyNG
- Four platforms
Basics
Learn the core concepts of the V2Ray ecosystem: how clients relate to cores, the differences between common protocols, and how subscriptions work. These determine how you approach configuration and troubleshooting later.
What is V2Ray? What is the relationship between v2rayN and v2rayNG?
V2Ray is the core network component of the open-source Project V, providing multi-protocol proxy transport. V2Ray itself has no graphical interface; v2rayN and v2rayNG are its GUI clients: v2rayN runs on Windows, macOS, and Linux desktops, while v2rayNG runs on Android. Both share the same subscription and node configuration concepts, so once you learn one, the other is easy to pick up.
What is the difference between VMess, VLESS, and Trojan?
All three are common proxy protocols in the V2Ray ecosystem. VMess is the classic encrypted transport protocol with the broadest compatibility; VLESS is a streamlined protocol that removes redundant encryption steps and performs better when paired with XTLS and REALITY; Trojan disguises traffic as a regular TLS connection, making it suitable for scenarios that need to look like ordinary HTTPS. For everyday use, just use whatever protocol your subscription provides — no manual adjustment needed.
What is the difference between the Xray core and the V2Fly core?
Both are actively maintained cores in the V2Ray ecosystem. The Xray core is community-maintained, iterates quickly, and supports new features like VLESS, XTLS, and REALITY; the V2Fly core continues the original V2Ray core's maintenance, focusing on stability and compatibility. v2rayN uses the Xray core by default and can be switched to V2Fly; v2rayNG defaults to Xray, while v2flyNG ships with the V2Fly core. For everyday use, just stick with the client defaults.
What is a subscription? Why use a subscription instead of adding nodes manually?
A subscription is a URL provided by your service provider. When the client reads it, it automatically fetches the node list and updates. Compared with manually entering address, port, user ID, and other fields, a subscription imports all nodes at once and syncs changes via 'Update Subscription' when the provider changes routes. Subscription URLs are sensitive — do not share them with anyone.
Are v2rayN, v2rayNG, and v2flyNG free? Is the code open source?
Yes. v2rayN, v2rayNG, and v2flyNG are all free software, with client and core code published as open source and maintained by community volunteers. When downloading installers, use the download links on this site and avoid getting files from third-party download sites.
Installation
Installation, build selection, and subscription import for Windows, macOS, Android, and Linux. Check your chip architecture and distribution type before installing.
How do I install v2rayN on Windows? Do I need additional runtime libraries?
Get the v2rayN desktop installer from the download center and follow the prompts to install. On first launch, the client automatically detects and downloads the required core files. If the system reports a missing .NET runtime, install the matching version as prompted and restart. Keep the default installation directory and avoid placing it in a system folder that requires administrator privileges.
Which macOS build should I choose: Apple Silicon or Intel?
Open 'About This Mac' and check the chip info: if it shows Apple M1, M2, M3, etc., choose the Apple Silicon (arm64) build; if it shows Intel, choose the Intel (x64) build. When opening the client on macOS for the first time, if the system says the developer cannot be verified, click 'Open Anyway' under System Settings → Privacy & Security.
Which Android build should I choose: arm64 or universal?
Most mainstream Android phones released after 2015 use 64-bit ARM processors, so the arm64 build is smaller and more efficient. A few older or special-architecture devices can use the universal build. If the arm64 build fails to install or crashes, switch to the universal build.
Which Linux package should I choose: deb or rpm?
Distributions like Debian, Ubuntu, and Linux Mint use deb packages; Fedora, RHEL, and openSUSE use rpm packages. If you are not sure which distribution you have, run cat /etc/os-release in a terminal. On ARM devices, choose the corresponding arm64 download.
Subscription import fails with a format error. What should I do?
First make sure the subscription URL was copied completely, with no extra spaces or line breaks. Then open 'Subscription Group Settings' to check the address and click 'Update Subscription' to retry. If it still fails, paste the subscription URL into a browser and confirm it returns text content rather than a login page. Some providers issue subscription URLs with an expiration date — you will need to get a new one after it expires.
How do I add a single node manually?
In v2rayN, open Servers → Add Server, fill in the address, port, user ID, encryption method, and transport protocol as provided by your provider, and save. The node will then appear in the server list. Manual adding is useful when you only have one or two nodes or when the subscription is unavailable.
Usage Tips
Everyday use of subscription updates, routing modes, system proxy, and TUN mode. Mastering these settings makes connections more stable and gives you more control over traffic routing.
How do I update the subscription?
In v2rayN, right-click the subscription group and select 'Update Subscription'; in v2rayNG, tap the refresh icon in the top-right corner. After a successful update, the node list syncs to the provider's latest configuration. Update when nodes change frequently or after a long period of inactivity — there is no need to refresh before every connection.
Which routing mode should I choose: 'Bypass Mainland', 'Global', or 'Direct'?
'Bypass Mainland' keeps sites in mainland China direct and routes sites outside China through the proxy — the recommended mode for daily use. 'Global' routes all traffic through the proxy, which suits scenarios that need a fixed exit IP. 'Direct' means no traffic goes through the proxy. In v2rayN, select it from the Routing menu; in v2rayNG, choose it in the Routing settings.
What is the difference between system proxy and TUN mode?
System proxy only takes over applications that support it, such as browsers and most common software. TUN mode creates a virtual network interface at the system level and takes over all traffic, which suits command-line tools, games, and other programs that do not use the system proxy. TUN mode requires extra permissions on macOS and Linux; on Android it corresponds to VPN mode and needs system authorization on first enable.
How do I route sites outside China through the proxy while keeping mainland China sites direct?
The 'Bypass Mainland' routing mode covers most scenarios. Its built-in GeoIP and domain rules mark mainland China traffic as direct. If a site is misclassified, add a direct rule for its domain in the routing rules, or switch to 'Global' and manually add a bypass rule.
How do I enable auto-start on boot?
In v2rayN, check 'Auto Run When Login' under Settings → Parameter Settings → General; in v2rayNG, enable 'Auto start on boot' in app settings. Once enabled, the client runs automatically at system startup and restores the previous proxy state.
How do I quickly switch nodes and verify connectivity?
In v2rayN, click the target node in the server list to switch; the current node is highlighted. In v2rayNG, tap a node in the node list to switch. After switching, open any website in your browser to verify connectivity and confirm the new node works.
Troubleshooting
Find your issue by symptom: no internet, node timeouts, system proxy not working, TUN permissions, and subscription failures. Each entry gives an actionable checklist.
The node shows connected but there is no internet. How do I troubleshoot?
Check in order: 1. Make sure the system proxy is enabled and the browser is not bypassing it with a separate proxy extension. 2. Run 'Test Real Connection' in the client to confirm the node itself works. 3. Temporarily switch the routing mode to 'Global' and test. 4. Check DNS settings and switch to 1.1.1.1 or 8.8.8.8 if needed. 5. Clear the browser cache and try again. If none of these work, test a different node.
What if all nodes time out?
Node timeouts are usually caused by the route or the local network environment. First update the subscription to get the latest nodes, then test them one by one. If all nodes time out, check whether your local network is working and whether the system clock is accurate (a large time offset can cause TLS handshake failures), and restart the client and router if necessary.
The system proxy is not working. What should I do?
Make sure the client status bar shows 'System Proxy On', then check that any proxy extension in your browser is disabled. On Windows, go to Settings → Network & Internet → Proxy and verify the system proxy address is 127.0.0.1 and the port matches the client's local listening port. If the port is occupied, change the local listening port in the client and re-enable the system proxy.
TUN mode fails to enable or asks for permissions. What should I do?
On Windows, run the client as administrator. On macOS, grant permission under System Settings → Privacy & Security. On Linux, run with administrator privileges or grant the current user access to the tun device. On Android, this corresponds to VPN mode — the system will show an authorization prompt on first enable; just tap Allow. If enabling fails, turn off the system proxy first and try again.
Subscription update fails with a network error. What should I do?
First check whether your current network can reach the subscription URL. If the URL requires a proxy, temporarily switch to 'Global' mode to update, then switch back to 'Bypass Mainland'. You can also paste the subscription URL into a browser to verify it is reachable and confirm the provider's route is working.
How do I troubleshoot slow speeds?
Slow speeds are usually related to node load, the transport route, and local settings. First run latency tests on the nodes in the list and pick one with lower latency and packet loss. Then check the routing mode to make sure mainland China traffic is not being sent through the proxy by mistake. Finally, confirm no other proxy software on your machine is occupying the port. If it stays slow, try a different provider route or a different time of day.
Will my node configuration survive a client update?
Yes. v2rayN stores node and subscription configuration in the client data directory, and upgrading does not clear it. If you use the portable build, just keep the data directory unchanged when upgrading. v2rayNG also preserves existing configuration after updates.
Continue Reading
v2rayN Tutorial
A step-by-step guide from subscription import to connection verification, ideal for first-time users.
View tutorial →Troubleshooting Handbook
A systematic troubleshooting flow organized by symptom: no internet, node timeouts, DNS issues.
View guide →Client Download Center
Download the latest v2rayN, v2rayNG, and v2flyNG builds for all four platforms.
Go to downloads →Download v2rayN
Installers for Windows, macOS, and Linux, plus v2rayNG and v2flyNG for Android.