// CLIENT FAQ

V2Ray client FAQ

Troubleshoot from the symptoms. Topics include core concepts, installation and configuration, subscription and routing workflows, and common v2rayN and v2rayNG connection problems.

// 01 · CONCEPT

Core concepts

Understand the difference between the client, core, protocol, and subscription before configuring or troubleshooting.

Is V2Ray a protocol, a core, or a GUI client?

V2Ray usually refers to the proxy technology ecosystem associated with Project V, not one specific installer. V2Fly and Xray are common core families that parse configuration, establish connections, and apply routing rules. v2rayN, v2rayNG, and v2flyNG are GUI clients for subscription management, configuration selection, system proxy settings, and log viewing. When troubleshooting, identify whether the issue is in the client interface, core startup, configuration, or local network.

Which should you choose: v2rayN, v2rayNG, or v2flyNG?

For Windows, macOS, and Linux desktops, v2rayN is the usual choice. On Android, v2rayNG with the Xray core is commonly used; choose v2flyNG when you need the V2Fly core. Their menus and supported cores differ, but the basic workflow for importing subscriptions, selecting configurations, choosing routing modes, and testing connections is similar. Choose the client for your operating system first, then confirm that its core supports the protocols supplied by your subscription.

What is the difference between the Xray and V2Fly cores?

Both come from the Project V technology ecosystem and share similar configuration concepts, but their protocol extensions, transport support, routing implementations, and release cadence are not identical. Xray is often used for configurations requiring features such as VLESS and REALITY, while V2Fly follows its own feature path. If a subscription includes a specific protocol or transport parameter, first confirm that the selected core can recognize it. When configuration parsing fails, switching to a compatible core is usually more effective than repeatedly renaming nodes.

What is the difference between a subscription link and a single-node link?

A subscription link retrieves a set of configurations at once and can be updated periodically in the client. A single-node link contains only one vmess, vless, trojan, or shadowsocks configuration. Importing a subscription usually creates a separate group; refresh it through subscription updates rather than pasting its address as a single-node link. If the provider offers multiple subscription formats, choose the one explicitly marked for your client.

How should you choose between VMess, VLESS, Trojan, and REALITY?

Choose based on the configuration actually provided by the subscription and its compatibility with the current core. VMess is mature and widely used; VLESS separates authentication from transport settings and is often paired with different transports; Trojan uses its own authentication structure; REALITY works with specific transport and security parameters and usually requires a recent Xray core. Do not change only the protocol name: the address, port, user identifier, transport, and security parameters must match as one complete configuration.

// 02 · SETUP

Installation and setup

Imports, updates, package architecture, and system permissions are the most common blockers during initial setup.

What should you check first when a subscription link fails to import?

First verify that the copied content is the complete subscription URL, with no leading or trailing spaces, line breaks, or truncation by a messaging app. Open the URL in a browser to see whether it returns subscription data or a clear error. Then check the system date and time, the client’s network permissions, and whether the current network can reach the subscription server. If the URL works but the client still reports a parsing error, confirm that the format is compatible with v2rayN or v2rayNG, then create a new subscription group and try importing again.

What should you do when subscription updates fail or keep timing out?

First determine whether only one subscription fails or all subscriptions fail to update. A single failure usually indicates an invalid URL, expired authorization, or a provider-side problem. If all fail, check the network, DNS, system time, and whether the client is trying to fetch subscriptions through an unusable proxy. Temporarily disable the system proxy before updating, or change the proxy used for subscription updates in the client settings. After the update succeeds, select a configuration from the group again.

How do you choose between arm64 and universal for Android downloads?

Most mainstream Android phones released after 2015 use the arm64 architecture, so choose the arm64 package for a smaller download. Choose universal if you cannot confirm the device architecture, installation reports incompatibility, or the device uses another processor architecture. The two packages offer essentially the same client features; the main difference is the range of architectures included. If the installed package already runs normally, there is no need to reinstall just to change package types.

Should you choose the v2rayN desktop edition or the classic WPF edition?

The desktop edition uses a newer cross-platform interface and suits users who want a similar workflow across Windows, macOS, and Linux. The classic WPF edition targets Windows and has menus closer to those in existing tutorials. For a first installation, try the desktop edition; switch to the classic edition if your environment, interface compatibility, or established workflow favors WPF. Do not extract both editions into the same directory, or their configuration files may overwrite each other.

Why does TUN mode require system permissions?

TUN mode creates a virtual network interface and changes system routes, which normally requires more than standard user permissions. On desktop systems, grant administrator access when prompted by the client; on Android, approve the VPN connection request shown by the system. If the switch turns off immediately, check the client logs first, then look for security software, old virtual adapters, or other network tools using the same capability. After changing permissions, fully exit and restart the client.

// 03 · USAGE

Usage tips

Start with a built-in mode to establish a stable connection, then gradually add subscription groups, switch cores, and introduce custom rules.

What is the difference between system proxy, PAC, and TUN mode?

System proxy mode uses the operating system’s proxy settings and affects applications that follow them. It is simple and works well for browsers and common desktop software. PAC mode uses rules to decide which requests go through the proxy, but applications must still support the system proxy. TUN mode handles broader traffic through a virtual network interface, providing wider coverage at the cost of additional permissions. Start with system proxy mode for everyday use; consider TUN only when an application ignores system proxy settings or you need broader traffic capture.

Should V2Ray use global, direct, or bypass-LAN-and-mainland-China routing?

Global mode sends more traffic through the selected proxy and is useful for temporarily testing whether a configuration works. Direct mode mainly pauses proxying or helps troubleshoot the local network. Bypass-LAN-and-mainland-China mode sends LAN addresses and common mainland-China destinations directly according to its rules, while handling other requests by rule, making it more suitable for everyday use. Results also depend on geosite, geoip, and custom rules, so the same mode name does not guarantee identical rule sets across clients.

How do you create separate groups for different subscriptions?

When adding subscriptions, give each source a clear note or group name, then select configurations only from the corresponding group after updating. Do not repeatedly import multiple subscriptions into the same temporary group: similar node names make their sources difficult to identify and can leave duplicates after updates. Before deleting a subscription, confirm whether any manual configurations must be kept. After updating, check that the active configuration still exists; if the subscription removed it, select a valid configuration again.

Will existing configurations always keep working after switching cores?

Not necessarily. Basic fields for VMess, VLESS, and Trojan may look similar, but cores differ in their support for transport parameters, routing fields, DNS settings, and experimental features. If startup fails after switching cores, check the logs for unknown fields, unsupported protocols, or configuration parsing errors before assuming the node is invalid. Prefer the core recommended for a subscription; for manual configurations, recheck every field against the requirements of the target core.

When should you use custom V2Ray routing rules?

Built-in routing modes cover most use cases. Custom rules are needed only when specific domains must always go direct, through a proxy, or be blocked. Rules can match objects such as domain, geosite, ip, and geoip, and are applied according to the client’s priority order. Test a small number of clearly defined targets before adding rules, rather than importing a large set from unknown sources. If results differ from expectations, check the match order, domain-suffix scope, and final outbound action.

// 04 · TROUBLESHOOTING

Troubleshooting

Check subscriptions, the core, the proxy entry point, routing, and DNS in that order, changing only one variable at a time.

Why do node tests time out when subscription updates work normally?

Access to the subscription server only shows that the configuration list can be downloaded; it does not mean every node can establish a connection. First synchronize the system clock, then check that the node address, port, user identifier, transport, and security parameters are complete. Test another node and network for comparison. If all nodes time out at once, inspect the local firewall, DNS, and core logs. If only one node times out, contact the configuration provider to confirm its status.

What if the client says it is connected but the browser still cannot access the internet?

Connected only means that the core has started; it does not guarantee that the target request succeeded. Confirm that a valid configuration is selected, then check whether the system proxy is enabled, whether the browser uses separate proxy settings, and whether the routing mode is sending the target incorrectly to direct or blocked traffic. Visit a regular website to test the underlying network and inspect the logs for DNS errors, connection refusals, or handshake failures. If access also fails after closing the client, fix the local network first.

What should you do when v2rayN system proxy is enabled but has no effect?

First check that the address and port shown on the Windows system proxy page match v2rayN’s current local listening port. Then confirm that the browser or application has not enabled a separate proxy, proxy extension, or forced-direct setting. Some applications read system proxy settings only at startup, so fully close and reopen them after changes. If the port matches but requests do not appear in the logs, temporarily disable other proxy software and use TUN mode to test whether the application is ignoring system proxy settings.

How do you handle a local port-in-use error at startup?

A port conflict means another process is already listening on the local port the client wants to use. Common causes include launching the client twice, an old process that did not exit, or another proxy application using the same port. Fully close the related programs, confirm that no leftover process remains in Task Manager, and start again. If you must change the local SOCKS or HTTP port, update the system proxy, browser manual proxy settings, and any other programs that depend on it; otherwise the core may start while applications continue connecting to the old port.

Could DNS be the reason only some websites fail to load?

Possibly. When some websites fail while others work, first check whether routing rules send the target domain to the wrong outbound. Then look for DNS resolution failures, abnormal returned addresses, or connections to the wrong IP in the logs. Switch to a DNS option supported by the client, clear the system DNS cache, and test again. With TUN enabled, confirm that TUN configuration handles DNS requests. Avoid stacking conflicting system DNS, browser secure DNS, and client DNS rules.