Locate configuration issues by symptom

V2Ray FAQs and troubleshooting

Work through checks based on the symptom, from subscriptions and installation to proxy modes and log diagnostics. Confirm the scope of the problem first, then change one setting at a time.

Basics

Clients and subscriptions and connection modes

Distinguish the client, core, subscription, and node first, then choose an operating mode suited to your device and traffic scope.

How do you choose between v2rayN, v2rayNG, and v2flyNG?

For Windows, macOS, and Linux desktops, choose v2rayN to manage subscriptions, system proxies, and routing rules in one place. On Android, v2rayNG with the Xray core is the usual choice; use v2flyNG when a node explicitly requires the V2Fly core or when comparing core compatibility.

What are subscriptions, nodes, and server groups?

A subscription is a configuration entry maintained by a service provider. Updating it in the client retrieves a set of nodes. A node is a specific server configuration containing an address, port, protocol, and transport parameters. Server groups keep nodes from different subscriptions or for different purposes organized; the group itself does not change node settings.

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

System proxy mode changes the operating system's proxy settings and suits browsers and desktop apps that read them. TUN mode uses a virtual network interface to capture more types of traffic, including traffic from apps that ignore system proxies. Start with system proxy mode for everyday use, then configure TUN if needed.

Why doesn't a latency test result equal actual speed?

Latency tests mainly measure the time needed to establish a connection. Actual speed also depends on server bandwidth, congestion, protocol overhead, your local network, and the destination site. Eliminate timed-out nodes first, then compare real-connection latency, download performance, and stability over time—not a single number.

Do the client and core need to be updated at the same time?

The client handles the interface, subscriptions, and configuration, while the core handles protocol connections and traffic processing. Their update scopes differ. If a new protocol is not recognized, configuration fields are incompatible, or connections behave unexpectedly, check both versions. If the current setup is stable, review the release notes before updating.

Installation and setup

Subscription imports, packages, and permissions

Check installation and import issues from four angles: URL accessibility, group filtering, device architecture, and system permissions.

What should I do if importing a pasted subscription URL fails?

Make sure the copied URL has no leading or trailing spaces, line breaks, or missing characters, then open it in a browser to confirm that it returns content. Check that the system clock is accurate and temporarily disable other proxy software that may also intercept traffic. If the URL works but the client still reports an error, check the log for HTTP status, certificate, or parsing errors.

What should I do if a subscription updates successfully but the server list is empty?

Switch to the relevant subscription group, clear any keyword filters, and update again. If the list is still empty, check whether the returned content uses a format supported by the client and whether the server actually provides nodes. If you have multiple subscriptions, make sure you updated the intended group rather than an older subscription with the same name.

How should I choose between arm64 and universal Android packages?

Most mainstream Android phones released after 2015 use 64-bit ARM processors, so arm64 is usually the best choice and has a smaller file size. Choose the universal package if you cannot confirm the architecture, the device is older, or arm64 installation fails. The main features are the same; the difference is the range of supported architectures.

How should I choose between the v2rayN desktop edition and the classic WPF edition?

The desktop edition uses a newer cross-platform interface and suits users who want a similar workflow across desktop systems. The classic WPF edition targets Windows and is better for users familiar with traditional v2rayN menus and behavior. For a first installation, start with the desktop edition; back up subscriptions and custom rules before migrating an existing setup.

How can I fix insufficient permissions when enabling TUN?

Fully exit the client, restart it with administrator privileges, and confirm that the system allows virtual network interfaces to be created. If the issue persists, check whether security software is blocking a driver or network extension. Also close other TUN, VPN, or virtual network adapter tools to prevent interface and routing-table conflicts.

What should I do if a subscription update times out?

Check whether your local network can reach the subscription URL and make sure the client's current proxy settings are not creating a proxy loop. Try updating through a direct connection and then through the proxy, and check DNS resolution and the system clock. If only one subscription keeps timing out, contact its provider to confirm the endpoint or request a new subscription URL.

Usage tips

Mode selection, latency tests, and subscription management

Keep your configuration traceable: change one setting at a time, record the original value, and retest under the same network conditions.

How should I choose between global, rule-based, and direct modes?

Rule mode selects the outbound route based on domains, IP addresses, and predefined rules, making it suitable for everyday use. Global mode sends most traffic handled by the client through the current proxy node and is useful for checking whether a rule is misclassifying traffic. Direct mode bypasses the proxy and can help restore local connectivity or determine whether the proxy configuration is at fault.

How should I run a V2Ray latency test correctly?

Update the subscription and remove obsolete configurations first, then run a real-connection latency test on a stable local network. Test the same node several times and watch for frequent timeouts or large fluctuations. Pause large downloads and video playback during testing, and compare nodes from the same region using the same protocol type.

What should I do if system proxy is enabled but some apps are unaffected?

First check whether the app reads the operating system's proxy settings; some games, command-line tools, and standalone network apps ignore system proxies. Make sure the client's listening port matches the manually configured proxy port in the app, then restart it. If traffic still cannot be captured, consider using TUN mode to handle it consistently.

How should I configure LAN sharing?

Enable LAN connections in the client, note the computer's LAN IP address and proxy listening port, and enter that address manually on devices connected to the same network. Check that the system firewall allows inbound connections on the relevant port, and do not expose the listening port to the public internet. Turn off sharing when finished.

How should I group and update multiple subscriptions?

Create a clearly named, separate group for each subscription, distinguishing them by purpose or provider instead of merging every node into one hard-to-track list. Confirm the target group before updating, set a sensible update interval, and use keywords to keep the regions or protocols you need. Before deleting an old subscription, make sure it does not contain custom nodes.

Troubleshooting

Node timeouts, DNS, and startup logs

Troubleshoot in order: local network, client traffic capture, node connectivity, routing, and DNS. Prioritize the earliest error in the logs.

What should I check if node tests keep timing out?

Switch between at least two nodes to determine whether the issue affects one node or the entire configuration. Then check the local network, system clock, server address resolution, and whether the client core starts normally. If only one protocol times out, carefully compare the transport, TLS, SNI, UUID, path, port, and other parameters for completeness and consistency.

What should I do if the client says it is connected but websites will not open?

Use direct mode first to confirm that the local network works, then check whether the current node passes a real-connection test. Verify that the system proxy points to the client's actual listening port, and temporarily try global mode to rule out a routing-rule mistake. If domains fail but IP addresses work, continue by checking DNS settings.

What should I do if DNS resolution fails or some domains will not open?

Restore the client's default DNS settings and reload them, then check whether another DNS-modifying tool is running on the system. Make sure routing rules are not sending DNS requests to an unreachable outbound route, and test domain resolution and node connectivity separately. If problems begin after enabling FakeDNS, disable it temporarily for comparison.

What should I do if the client service or core fails to start?

Look for the first error in the startup log rather than focusing only on the final line. If a port is already in use, close duplicate client processes or change the listening port. For configuration errors, revert the most recent routing, DNS, or outbound changes. If file access is restricted, check installation-directory permissions and make sure security software is not blocking the core.

How can I use runtime logs to find connection problems?

Record when the problem occurred, then look for the first error near that time. “connection refused” usually means the destination port rejected the connection; “context deadline exceeded” generally indicates a connection or response timeout; “invalid user” often points to mismatched identity parameters. Trace the first error back to the node fields, make the correction, and reload the configuration.

Continue to the configuration steps

If you need to start over with subscription import, follow the user guide step by step. For routing, DNS, TUN, and FakeDNS, open the advanced configuration manual.