V2Ray FAQ
Subscription imports, proxy settings, and connection troubleshooting. Identify where the error occurs, then follow the relevant checks. Menu names may vary slightly between client versions.
For your first setup, start with the getting started guide. To install a client, choose a package for your platform on the client downloads page.
Platform Guides
Understand the client, core, and connection settings before choosing an installer.
What are V2Ray, its core, and GUI clients?
V2Ray usually refers to the proxy technology and tools associated with Project V. The core handles protocols, routing, and connections; GUI clients manage subscriptions and settings, then launch the core. With v2rayN, v2rayNG, or v2flyNG, you can usually configure everything in the client instead of writing a complete config file by hand. When troubleshooting, distinguish a failed action in the interface from a failed core connection: check import messages for the former and logs after startup for the latter. Similar client names do not guarantee identical core or protocol support.
How do v2rayN, v2rayNG, and v2flyNG compare?
Use v2rayN on Windows, macOS, or Linux desktops. On Android, v2rayNG with the Xray core is usually the first choice; consider v2flyNG when you need compatibility with V2Fly configurations. Before choosing, confirm the server protocol, transport, and security settings—especially features such as REALITY. A successful subscription import does not guarantee a connection. If a field is unsupported, check the client and core documentation rather than repeatedly changing the port. After switching clients, review routing and DNS settings; client settings are not fully transferred with a subscription link.
What else do I need to configure after installing a client?
After installing the client, you’ll need a valid subscription URL, a share link, or complete connection details from the server administrator. The installer does not include a ready-to-use server. If entering settings manually, check the address, port, user ID, protocol, transport, and TLS or REALITY parameters against the server configuration. Don’t combine fields from unrelated examples or use your website login password as a protocol password. Subscription URLs often contain access credentials, so hide sensitive details before sharing screenshots, asking for help, or copying logs.
Which Android package should I choose: arm64 or universal?
Check the device’s system information or processor specifications to confirm its architecture. Choose the arm64 package for ARM64 devices. If you’re unsure of the architecture, or the arm64 package is reported as incompatible, try the universal package, which includes multiple architectures. The main differences are bundled native components and package size—not connection speed. If installation still fails, check the Android version requirement, available storage, and whether the existing app has a matching signature. Before reinstalling, export and save any settings you need to keep so subscription groups and custom routes aren’t removed with app data.
Setup
Start with the subscription format and update method, then check the system proxy and TUN permissions.
Why does importing a subscription fail after I copy the link?
First check whether you copied a subscription URL or a single share link. In v2rayN, add a group under “Subscription Groups,” enter the subscription URL, then update it. In v2rayNG, add the URL under “Subscription Group Settings” and update the subscription. For a single share link, use the relevant option, such as “Import from clipboard.” Check for spaces, line breaks, explanatory text, or punctuation before and after the copied content. If the list is empty after import, check whether the client reports an unsupported format and ask the configuration provider which format it returns. A website login URL cannot be used as a subscription URL.
Subscription update failed or returned an empty list? Here’s what to check.
First confirm that your network can reach the subscription service. Then check whether the URL has expired, been revoked, or is missing query parameters. If the client offers both direct updates and updates through a proxy, choose based on whether the subscription service is reachable that way; updating through a proxy can fail if the proxy itself is unavailable. If the list is empty, check the group’s filters and the server’s response format—a login or error page cannot be parsed as a configuration. Keep existing working configs before updating, and don’t repeatedly clear groups while troubleshooting. If the issue persists, check the update log, but redact the full subscription URL before sharing it.
Why does v2rayN’s system proxy not work in some apps?
Start a working configuration, then choose “Set system proxy automatically” from the main window or tray menu under “System Proxy.” The system proxy affects only apps that follow the system proxy settings; it does not capture all traffic. If your browser has a proxy extension, check whether it overrides the system settings. Terminals, games, and other apps may have their own proxy options. Also make sure the local proxy port configured in the app matches the port v2rayN is listening on. Once the system proxy works, decide whether you need TUN. Enabling both traffic-capture methods at once should not be your default troubleshooting step.
TUN reports insufficient permissions or a virtual network adapter failure. What should I do?
Turn off “EnableTun” first and confirm that a regular proxy connection works before troubleshooting permissions. On Windows, exit the client and restart it as an administrator. On macOS and Linux, follow the client’s prompts to grant permissions or configure the required service; don’t copy commands intended for another OS. Check whether another VPN, virtual network adapter, or security app is using the same resources, and close conflicting software if needed. Re-enable TUN after making changes, then check the logs to confirm that the virtual adapter and routes were created successfully. Administrator access only addresses startup requirements; routing, DNS, and server configuration issues must be checked separately.
Usage Tips
Adjust routing, groups, and DNS separately, and test real connections after each change.
Should I use “Bypass mainland China” or global proxy routing?
“Bypass mainland China” typically routes traffic according to preset domain and IP rules, sending matching destinations directly rather than through the proxy. Global proxy routing sends requests within its traffic-capture scope through the proxy. The actual scope depends on the current routing rules, so the mode name alone doesn’t tell you whether every app is covered. For everyday use, start with the preset that fits your needs, then add rules for specific domains if needed. To troubleshoot a website, switch modes temporarily and compare the results, then restore the original setting. Changing modes only changes the selected outbound route; it won’t fix an incorrect server address or expired credentials.
How should I group multiple subscriptions to avoid mixing them up or deleting the wrong one?
In “Subscription Groups” or “Subscription Group Settings,” create a separate group for each source and give each one a clear, descriptive name. Each group stores its own URL, update method, and filters, so don’t paste multiple subscription URLs into the same field. Keep manually added configurations separate from auto-updating subscriptions to prevent them from being overwritten during a refresh. After updating, verify the target group and selected configuration before testing the connection. When exporting a backup, check whether it includes subscription credentials. Backup files are for personal migration and should not be attached to public support requests.
Should Fake DNS in v2rayNG always be enabled?
Not by default. Fake DNS responds to some domain lookups with mapped addresses, then restores the domain name for subsequent connections. Whether it’s suitable depends on the core, DNS settings, and how traffic is captured. First confirm that connections and routing work with it disabled. Then, if needed, enable it under the DNS options in “Settings” and test one change at a time. “Enable local DNS” and “Fake DNS” are separate settings; changing one does not mean the configuration is complete. If local domain names stop working or some apps can’t resolve domains, restore the previous settings, reconnect, and check how DNS and routing rules work together.
Does a successful latency test mean a website will definitely load?
No. A TCP connectivity test usually only shows that a connection to the target port can be established. It does not confirm protocol authentication, the TLS handshake, domain resolution, or a successful outbound connection. A client’s connection test also depends on its test address; reaching one address doesn’t mean every website is reachable. Check what the test measures, select the configuration, start the connection, and visit a specific website in your browser. Check the logs for handshake, DNS, or routing errors. If a test fails, troubleshoot the relevant connection stage instead of deleting multiple configurations based on a single result. Even after a successful test, confirm that the browser is using the client’s proxy route.
Troubleshooting
First check whether requests reach the client, then identify the DNS, connection, or handshake stage.
Node connection timed out? What should I check first?
First confirm that the device itself has internet access, then check the server address, port, and subscription validity. Open the client logs and determine whether the issue is a timeout connecting to the target port, a DNS resolution failure, or a protocol handshake failure; each requires a different fix. If the problem occurs on only one network, compare results on another trusted network. If it fails on every network, ask the server administrator to check the service status and access requirements. Don’t change the protocol, port, DNS, and routes all at once, or it will be hard to tell what made a difference. Change one setting at a time, save the exact error and time it occurred, and hide sensitive fields such as your user ID.
The client says it’s connected, but the browser has no internet. What should I do?
First check whether “Connected” means the core has started or an actual network test has succeeded; a successful startup doesn’t guarantee that the server is reachable. Then check the browser’s proxy extensions, system proxy settings, and the client’s local listening port to confirm that requests are reaching the client. In the logs, no matching request points to a traffic-capture issue; a DNS error points to resolution settings; a request routed outbound but failing at the handshake points to server parameters. If you use TUN, also check the virtual adapter and route status. Following these steps helps preserve useful clues and is more effective than immediately reinstalling the client.
Can I bypass verification for an x509 or TLS certificate error?
Don’t use “skip certificate verification” as a routine fix. First correct the system date, time, and time zone. Then check that the server name or SNI in the configuration matches the server certificate. The connection address and certificate domain can differ, but SNI must match the server’s actual configuration—don’t change it to an unrelated website domain. If the certificate has expired, the certificate chain is incomplete, or the server is misconfigured, the administrator needs to fix it. For REALITY connections, check the public key, fingerprint, and server name against the required parameters; don’t apply ordinary TLS fixes. Keeping the exact error message helps identify the cause.
Internet stops working after I exit the client, or multiple proxy apps are running. What should I do?
Run only one proxy app at a time to avoid multiple programs repeatedly changing the system proxy or competing for the virtual network adapter. Before exiting v2rayN, turn off TUN, choose “Clear system proxy” under “System Proxy,” and then quit the app. If it has already closed unexpectedly, check your system network settings for a local proxy port that is no longer active, and restore settings appropriate for your current network. Don’t delete a proxy setting provided by your workplace; record its original value first. Once connectivity is restored, test regular internet access, then enable client features one at a time. If you still can’t connect, check DNS, leftover routes, and other VPN services.