Client Help & FAQ
V2Ray FAQ: Subscription, Proxy & Connection Troubleshooting
Find setup instructions for v2rayN, v2rayNG and v2flyNG by task. For connection issues, check the client and server settings first, then review the system proxy, routing and logs.
Understand clients, cores and configurations
Choose the client for your device and identify whether you’re importing a subscription or a single server link.
Which devices are v2rayN, v2rayNG and v2flyNG for?
v2rayN is a desktop client for Windows, macOS and Linux; v2rayNG and v2flyNG are for Android. v2rayNG typically uses the Xray core, while v2flyNG uses the V2Fly core. Choose a client for your device, then make sure its core supports the protocols required by your subscription or server configuration.
What’s the difference between a V2Ray client and the Xray core?
A client provides a graphical interface for importing subscriptions, choosing servers, setting routes and viewing logs. The core reads the configuration and handles connections. Xray and V2Fly are related open-source core projects, but their features and configuration support differ. If a protocol option is missing, check which core the client is using and what it supports.
What’s the difference between a subscription link and a server link?
A subscription link is usually maintained by a service provider. The client fetches it to build a server list, which you can update manually or on a schedule. A server link describes a single connection and won’t automatically add the other servers in a subscription. Before importing, identify which type of link you have and choose the matching import option.
What are VMess, VLESS, Trojan and REALITY?
VMess, VLESS and Trojan are protocol types you can select in a client. REALITY is generally an option used with specific transport and security settings, and it isn’t compatible with every protocol. When importing a configuration, use the protocol, transport and security parameters provided by the service. Changing only the protocol name is unlikely to make a connection work.
Are routing mode and system proxy the same thing?
No. The system proxy determines whether apps that follow the operating system’s proxy settings send traffic to the client. Routing mode determines how the client handles that traffic based on domains, addresses or rules. First make sure the app is using the client, then check the routing rules. Changing routing mode alone won’t connect apps that ignore the system proxy.
Install, import subscriptions and grant permissions
After installing the client, import the configuration that matches your link and respond to any operating system permission prompts.
Which Android build should I choose: arm64 or universal?
Most mainstream Android phones released since 2015 can use arm64. If you’re unsure of your device’s processor architecture, or the arm64 build reports that your device is incompatible, choose universal. Both builds are for the same client, so there’s no need to install both. Before switching, save your subscription link or export your configuration.
How do I import a V2Ray subscription link into v2rayN?
In v2rayN, open Subscription Groups, add a group and enter the subscription URL. Save it, then select Update Subscription. Return to the server list and choose the group you just imported and the server you want. Use the complete subscription URL. If you only have a link for one server, use the server-link import option instead of adding a subscription group.
Why isn’t my browser using the proxy after I open the client on macOS?
Opening the client and enabling the system proxy are separate steps. Choose a server, then select Set System Proxy Automatically from the client menu. Confirm that the setting is active in macOS network proxy settings. If your browser has its own proxy extension, temporarily disable it and test again; it may override the system settings.
What should I do after importing a subscription in v2rayNG?
Check that the subscription has added server configurations, then select one and tap Connect. The first time you connect, Android may ask you to approve a VPN connection; follow the system prompt. A changed connection icon only shows that the client has started. Test an actual webpage, and check the client log and selected server settings if something goes wrong.
What should I do if TUN reports insufficient permissions?
TUN creates a virtual network interface, so it may need additional system permissions. Read the client’s permission prompt, follow the installation instructions for your system, then restart TUN. Repeatedly toggling the setting won’t grant access. If you don’t need to route traffic from apps that ignore the system proxy, turn TUN off and use the system proxy for a basic connection test.
Modes and day-to-day management
Understand how traffic enters the client and how it’s routed to avoid repeating setup when switching servers.
When should I use Global, Rule or Direct mode?
Global mode sends traffic received by the client through the selected proxy. Rule mode routes traffic according to domain and address rules. Direct mode bypasses the proxy. For initial troubleshooting, briefly try Global mode to tell a connection issue from a rule-matching issue. Once the connection works, switch back to Rule mode if needed and check which rules apply.
Do I need to set up the system proxy again after switching servers?
Usually not. As long as the client is running and the system proxy still points to its local listening port, switching servers changes the client’s outbound server. If you previously selected Clear System Proxy, select Set System Proxy Automatically again. If webpages still don’t load after switching, check the new server configuration and logs instead of repeatedly toggling the proxy.
Why don’t terminal commands use the system proxy?
Many command-line tools don’t read the macOS or Windows system proxy settings. They use their own configuration or proxy environment variables instead. Check the client settings for its local HTTP or SOCKS address and port, then configure the tool according to its documentation. Don’t enter the remote server port as the local proxy port.
How can I avoid choosing the wrong server when I have many subscription groups?
Give each subscription group a clear alias. After updating, confirm which group is selected before choosing a server. Filters can narrow the list, but they don’t change a server’s connection settings. If the same name appears in multiple groups, check the group and configuration details instead of relying on the displayed name alone.
Check subscriptions, connections and DNS step by step
Change one setting at a time and check the logs for that specific test.
What if a subscription fails to import or the list is empty after updating?
Check that the subscription URL is complete and still valid, and make sure you haven’t entered a single-server link in a subscription group. Select Update Subscription manually and check the logs. If the request fails, check the URL and network; if parsing fails, ask the subscription provider to confirm the content format. Don’t delete existing groups straight away—first check the selected group and any filters.
What should I check first if a server connection times out?
First make sure your device can access the internet. Then check that the server address, port, protocol, transport and transport security settings match the configuration you were given. A hostname that won’t resolve, an unreachable port or a temporarily unavailable server can all cause a timeout. Check the specific error in the client log rather than assuming routing mode is the cause.
What if the client says it’s connected but webpages won’t load?
Check whether the browser is using the system proxy and whether the client has a working server selected. Then briefly switch to Global mode to test. If it works, focus on the routing rules; if it still doesn’t, check the logs for connection or DNS errors. Browser extensions and old proxy settings can override the client’s current configuration, so disable them one at a time while troubleshooting.
What if the system proxy is enabled but isn’t working?
Make sure Set System Proxy Automatically is enabled in the client menu. Then check your operating system’s network settings to confirm that the proxy address and port point to the client’s current local listening port. Restart the affected browser and test again. If only one app is affected, check its own proxy settings. Terminal tools may need to be configured separately.
How do I check logs when the Xray core fails to start?
Open the v2rayN log window and find the first error from the latest startup. If it reports a port conflict, check the local listening port. If it reports an invalid field or configuration, check the server settings. If a feature isn’t supported, check which core is selected. Change one setting at a time, restart and compare the new logs to keep the cause clear.
What if some websites load but others fail to resolve?
Test different domains in the same browser first to rule out an issue with a specific website. If the logs show DNS errors, check the client’s DNS settings, system DNS and routing rules to make sure the domain is sent to the intended resolver. Temporarily testing in Global mode can help identify a routing issue. Once you know the cause, adjust the relevant rules.