V2Ray Help Center
Client Setup & FAQs
Setup options, subscription management and connection troubleshooting for v2rayN, v2rayNG and v2flyNG. Check how traffic enters the client, then review routing and server settings. Change one variable at a time.
Basics
The client manages configurations; the core handles traffic. Understand the roles of protocols, traffic capture and routing before choosing a setup for your device.
Which should you choose: v2rayN, v2rayNG or v2flyNG?
v2rayN is for Windows, macOS and Linux desktops, where it manages subscriptions, system proxy settings and routing rules. v2rayNG is an Android client built around the Xray core, suited to configurations using protocols such as VLESS and REALITY. v2flyNG is another Android option based on the V2Fly core. Start by checking your operating system, then confirm that the client supports the protocols, transport and core features your subscription requires. Similar app names do not mean their configurations are interchangeable. If your current setup works reliably, there is no need to switch just for a different app name. Before migrating, save your subscription URL and note any custom rules.
What do the client, core, protocol and subscription each do?
Clients such as v2rayN provide a graphical interface for importing configurations, managing servers and starting connections. The Xray or V2Fly core handles traffic. VMess, VLESS, Trojan and Shadowsocks are proxy protocols; transport and transport security settings determine how connections are carried and protected. A subscription distributes configurations in bulk and may update the server list over time. Troubleshoot by layer: if the list is empty, check the subscription; if the core will not start, check the core; if only one configuration fails to connect, check its protocol settings. A successful subscription import only means the client fetched and parsed the content—not that every server in it is reachable.
Are REALITY and VLESS the same protocol?
VLESS is a proxy protocol; REALITY is a transport security option supported by Xray. They operate at different layers. Configurations commonly pair VLESS with REALITY, but the transport type, server name, public key, short ID, flow control and other settings must also match the server configuration. Seeing a VLESS option in the client does not mean the installed core supports every REALITY feature in your configuration. If a field is unrecognized or the core reports a startup error, first check the core type and the client's supported features, then make sure the configuration link is complete. Don't remove the public key or change the server name at random to force a connection.
How do system proxy, global routing and TUN mode differ?
v2rayN's system proxy directs apps that honor the system proxy settings to the local proxy. Routing rules determine whether that traffic is proxied or connected directly. Global routing generally sends traffic that has reached the core through the proxy; it does not automatically capture all device traffic. TUN uses a virtual network interface to capture traffic from more apps, but routing rules, exclusions and DNS settings still apply. Android clients' VPN mode also captures device traffic; it is not an account for a commercial VPN service. First confirm that app traffic reaches the client, then check whether its outbound route follows the rules. This helps distinguish traffic capture issues from routing issues.
Installation & Setup
Choose an installer that matches your operating system and architecture, then make sure the configuration is supported by the core. Use the subscription import option for subscription URLs and the share-link option for individual links.
Subscription import failed? What should you check?
To add a subscription in v2rayN, paste the complete subscription URL into the address field for a subscription group, then update that group. Use the clipboard import option for a single share link. Check that the copied text has no extra spaces, line breaks, explanatory text or punctuation added by a messaging app, and make sure the link has not expired. If the URL returns a sign-in page, an error page or an unsupported configuration format, the client may be able to reach it but still cannot create a server list. Don't submit subscription URLs to unfamiliar conversion sites; they may contain access credentials. Ask the configuration provider whether your client is supported, and keep the error message to tell a download failure from a parsing failure.
Which v2rayN version should you choose: Desktop or WPF?
v2rayN Desktop uses a newer cross-platform interface, while WPF is the classic Windows version. If you're installing v2rayN for the first time, consider Desktop. If you're used to WPF or depend on specific interface features, compare what each version supports before switching. Check the operating system and processor requirements before installing, and follow the installer instructions for runtime dependencies. Before migrating between versions, back up subscription groups and custom settings. Don't run two instances on the same local listening ports. If startup fails, note the exact error and check permissions and dependencies instead of overwriting the existing folder or mixing program files from different versions.
Which Android package should you choose: arm64 or universal?
The arm64 packages for v2rayNG and v2flyNG are suited to devices running a 64-bit ARM operating system and are usually smaller. The universal package includes multiple processor architectures, making it a safer choice if you're unsure of your device's architecture or need compatibility with other architectures. Most newer phones can use arm64, but a 64-bit processor does not guarantee that the operating system runs in 64-bit mode. Check your device's system information. If installation fails or the package is reported as incompatible, check the Android version and architecture requirements, then try universal. App updates must also have a compatible signature. If you see a signature conflict, back up your settings and verify where the package came from before uninstalling, to avoid losing configuration data.
TUN won't start or reports insufficient permissions. What should you do?
v2rayN's TUN mode may require administrator privileges, approval for a system network extension or a virtual interface component, depending on the operating system and client version. Follow the instructions for your version to grant access, then check the logs for interface creation failures, route errors or port conflicts. On Android, v2rayNG's VPN mode requires system connection approval. If another app is using the VPN service, stop it first. Don't disable system security protections just because of a permissions error. Note your current settings before making changes, address one conflict at a time, and turn off traffic capture modes you no longer need after testing to prevent overlapping routes.
Using the Client
Routing, subscription maintenance and background operation are separate settings. Keep a working configuration and test notes; changing one option at a time makes it easier to pinpoint differences.
When should you use Bypass mainland China or global routing?
v2rayN's Bypass mainland China preset generally uses domain and IP rules to send matching mainland China addresses through a direct connection, while handling other traffic according to the rules. The outcome depends on the current rule set, rule order and rule data. Global routing can be useful for briefly testing the proxy exit or for apps that need all traffic to use the same exit, but it may route traffic through a longer path when a direct connection would work. For everyday use, choose a split-routing preset suited to your network, then add specific rules for domains that need them. Reconnect when testing a new setting, as existing connections may keep using the previous route. Routing only handles traffic that has reached the core; it does not replace system proxy settings or TUN.
Will updating a subscription overwrite server settings I changed manually?
v2rayN and Android clients generally treat subscription groups as lists managed by remote content. An update may rebuild the entries, so manual changes to a subscribed entry's address, remarks or protocol settings may not persist. If you need to maintain a configuration yourself, copy it to a separate manual group if the client supports that, then edit the copy. Back up routing rules, app split-routing settings and subscription entries separately; they are different settings. Compare entry names and configuration changes before and after an update rather than checking only the list size. If the provider changes settings, older entries may stop working. Keeping an old configuration is useful for comparison, but does not mean its settings will still work.
How can you stop v2rayNG disconnecting in the background or using more battery?
If v2rayNG disconnects in the background, check battery optimization, background activity permissions and your device manufacturer's app management settings. Allow background activity only if you've confirmed that the system is stopping the app. If battery use has increased, determine whether the client is handling more traffic, the network is repeatedly reconnecting or another app is frequently waking the device. Check the system battery statistics and compare similar periods of use and data consumption; a persistent notification alone does not indicate unusual battery drain. Always-on VPN or blocking connections outside the VPN can affect network access when you stop the client. Before changing these options, understand how they affect protection from unfiltered connections, then balance background reliability against battery life.
How can you check whether an app or website uses the expected proxy exit?
Use v2rayN's connection logs, the app's own proxy settings and an outbound IP lookup to help trace traffic. Close any existing test pages and start a fresh connection, then check which routing rule matches the target domain. A running client does not prove that an app is using the proxy. Command-line tools, developer tools and some browsers may have their own proxy settings, so check them separately. An outbound IP lookup shows the route for that request only; other domains and DNS requests may use a different route. On Android, also check the app split-routing include and exclude lists. Before sharing logs for help, remove subscription URLs, authentication parameters and other details that could identify your account.
Troubleshooting
Subscription updates, core startup, remote connections and DNS resolution are separate stages. Read the error first, then compare one entry, one app or another network at a time.
A subscription used to update, but now the update fails. What should you do?
If a v2rayN subscription update fails, keep the existing list and determine whether the problem is a failed network request or a parsing error. Check the device time, whether the current network requires sign-in, whether the subscription has expired and whether the provider changed its URL. If the client offers direct or proxied update options, compare them only when you already have a working connection; don't rely on a subscription you haven't received yet to fetch that subscription. For certificate errors, check the time and URL first rather than disabling certificate verification. If one group fails while others update, focus on that subscription. If all groups fail, check the network, DNS and local proxy status. Repeatedly clicking Update won't fix server-side limits or a changed content format.
Does a server test timeout always mean the configuration is invalid?
A timeout in v2rayN or v2rayNG means only that this test did not finish within its time limit; it does not prove the configuration is invalid. Some tests check only whether a TCP connection can be established, while others make an actual web request, so their results are not directly comparable. Start with a real request and check the logs, then verify the server address, port, device time and protocol settings. If only one entry has a problem, compare it with other entries in the same subscription. If all entries time out, check the network, DNS, core status and local ports first. Try another network to distinguish a local issue from a remote server problem. Don't mask incorrect settings by randomly changing encryption options or bypassing security checks.
Connected, but websites won't load? Here's how to troubleshoot
In v2rayNG, a connected status first means the local service has started. It does not guarantee a successful handshake with the remote server, successful DNS resolution or access to the target website. Check the logs for authentication failures, connection refusals or DNS timeouts, then test a commonly used site and the affected site separately. On Android, check the app split-routing list. On desktop, check whether the browser uses its own proxy settings. If you use custom DNS, TUN or complex routing, record the current settings and then compare them one at a time with a known-working setup. Also check the device time and whether the network requires sign-in. Change one setting at a time to identify the layer causing the issue; changing the server, DNS and routing together makes the cause harder to reproduce.
v2rayN's system proxy isn't working, and you lose internet access after closing it. What should you do?
If v2rayN's system proxy isn't working, first confirm that the core is running and the local listening port is correct. Then check that the proxy address in your system network settings matches the client. Browser extensions, other proxy software, organization policies and app-specific settings can override the system proxy. Command-line programs may not use it at all. If internet access stops after you exit, the system may still be pointing to a local proxy port that is no longer running. Reopen the client, clear the system proxy and check your system settings. If you used TUN, also check that the virtual interface and routes were restored correctly. Don't force policy changes on a managed work or school device; distinguish leftover personal settings from configurations enforced by an administrator.