v2rayN Setup Guide
Import a Subscription and Test Your Connection
Follow these steps: import a subscription → choose a proxy mode → connect → test. First confirm that your browser can access sites reliably, then adjust routing and which apps are covered.
Before you begin, install the client and get a valid subscription URL from your service provider. The client reads the configuration, starts the core, and routes traffic; installing it does not give you a working server. If you haven’t installed a client yet, choose the right option on the client download page. For installation permissions, processor architecture, or system requirements, see the cross-platform installation and setup guide.
Subscription URLs often contain account details. Copy the entire URL, and don’t share it in public chats, screenshots, or support requests. For now, use the default connection settings, avoid running multiple proxy tools at once, and leave ports, DNS, and advanced routing unchanged. Complete each step before moving on so you can pinpoint where a problem occurs.
01 Import a Subscription and Update the List
First, distinguish a subscription URL from a server share link. A subscription URL retrieves and updates a set of server configurations; a share link describes just one connection. A provider’s sign-in page, purchase page, and documentation are not subscription URLs. Find the option clearly labeled for subscriptions or copying a subscription, then copy the URL into your client. Avoid including the page title or extra spaces.
Add a Subscription Group in v2rayN
Open the v2rayN main window and go to Subscription Group Settings under the Subscription Group menu. Add a group, enter a recognizable name in Remarks, and paste the full subscription URL in Address. For the first setup, leave other options at their defaults and leave Filter keywords blank so valid servers aren’t excluded. Check that the URL has no line breaks, save it, and return to the main window.
Saving the URL only adds a source for updates; it doesn’t fetch server configurations. Open the Subscription Group menu and choose Update Subscription (without proxy). This is the best option for an initial setup because you haven’t confirmed that a proxy connection works yet. When the update finishes, switch to the group you just added and check the server list. Once servers appear, move on to choosing a proxy mode.
If the update fails due to a network error, don’t keep adding duplicate groups. Check that the URL is complete and valid, and see whether your provider requires you to generate a new link. Use Update Subscription (through proxy) only if you already have a working proxy connection and the subscription URL must be accessed through it. These options determine how the update request is sent, not how your browser traffic is routed afterward.
Update a Subscription in v2rayNG
Open v2rayNG, expand the top-right menu, and go to Subscription Group Settings. Add a group with a name and subscription URL, save it, and return to the main screen. Then use the menu to update the subscription. The wording may vary slightly by version; choose the subscription update action rather than entering the URL in the manual server address field. After the update, check that the servers appear on the main screen.
If the update completes but no servers appear, check whether another group is selected, then review the filters and subscription contents. An empty response, an expired account, or a sign-in page returned in place of the subscription can all leave the list blank. Turning on the system proxy won’t restore missing servers; fix the subscription source first. Once the list looks right, keep the group—there’s no need to delete and recreate it for future updates.
02 Choose a Proxy Mode and Routing
After importing the subscription, decide two things: how an app’s traffic reaches the client, and how the client routes it afterward. System proxy and TUN handle the first; routing rules handle the second. They are not the same setting. Choosing Global routing does not automatically make every app use the system proxy, and enabling the system proxy does not guarantee that every request goes through a remote server.
Start with the System Proxy for Browser Traffic
In the v2rayN tray menu, open System Proxy and choose Set system proxy automatically. On macOS, open the menu from the client icon in the menu bar; on other desktop systems, use the system tray or the client’s system proxy option. Reopen the menu and make sure Set system proxy automatically is selected, then choose a routing mode. If the system asks for permission to change network settings, verify the prompt’s source before approving it.
Clear system proxy removes the system proxy settings. Do not change system proxy means the client won’t actively alter the current system setting; it does not mean the proxy is off. When starting out, don’t choose Do not change system proxy and assume that menu text tells you where traffic goes. Browsers usually follow system proxy settings, but some apps have their own proxy configuration, and browser extensions can override system settings. For your first test, use a browser without custom proxy rules.
Then Choose Routing to Match Your Needs
Open Routing in the tray menu and review the available presets. Bypass mainland China sends requests matching the relevant regional rules directly, while handling other requests according to the preset. Blacklist typically proxies only requests that match proxy rules. Global typically sends all traffic intercepted by the client through the proxy. Preset names don’t define the rules themselves; actual behavior depends on the active configuration and rule data.
For everyday browsing, start with a split-routing preset that suits your needs, then test the target site in the verification step. If you temporarily switch to Global to check whether a site matches a rule, note the original setting and restore it afterward. Don’t change routing, DNS, and the server at the same time; if access starts working, you won’t know which change fixed it. For details on rule matching order, see the routing section in the installation and setup guide.
Leave TUN Off for Now; Understand Android’s Traffic Routing
Keep TUN off on desktop for now and test browser access through the system proxy. Consider TUN only if an app ignores system proxy settings or you need to intercept a wider range of traffic. TUN involves a virtual network interface, routing, and permissions, and often requires administrator approval. Before enabling it, check the requirements for your client version and pause other network tools that modify system routes. TUN is not a general fix for every connection problem.
On Android, v2rayNG typically routes traffic through the system VPN interface; you don’t need to configure a desktop-style system proxy manually. Leave per-app settings at their defaults, check that routing matches your needs, then continue to the connection step. If per-app proxying is enabled, make sure the browser you’re testing isn’t excluded. Other VPN services on the device may also replace or conflict with the current connection.
03 Enable a Server and Keep the Client Running
Return to the server list and choose a server that appears active and uses a protocol supported by your client. Pick one server and test it before switching; don’t keep changing servers before making a request. Location labels are provided by the service and don’t prove that a server works. Latency tests only reflect their specific test conditions and aren’t a substitute for loading a real webpage.
Set the Active Server in v2rayN
Select a server, open the right-click menu, and choose Set as active server, or the equivalent option in your version. Confirm that the current-server indicator moves to the selected entry; highlighting a row alone may not switch the actual connection. The client will start or reload the core using the current configuration. Wait for it to finish, then check the log area at the bottom of the main window for recurring errors such as startup failures, port conflicts, or incompatible configuration.
If the window can minimize to the tray, use the client’s minimize or close-window option, but don’t choose Exit yet. The system proxy points to an endpoint provided by the local client, which may stop accepting connections if the process exits. A tray icon only shows that the app is running; it doesn’t confirm that the remote server is reachable. Test with a real request in the next step.
If errors keep appearing in the log, stop here. For a port conflict, check whether another instance of the client is running. For incompatible configuration, check that the subscription protocol is supported by the client. For a connection timeout, consider the server, network, and system time. You can compare with another server from the same subscription, but change only one thing at a time. For specific error fixes, see the cross-platform installation and setup guide; advanced settings are outside the scope of this page.
Confirm System Permission in v2rayNG
Select a server on the main screen and confirm that its current-server indicator changes, then tap the connect button. The first time you connect, the system asks for permission to establish a VPN connection. Approve it only after confirming that v2rayNG initiated the request. Return to the main screen and check that the button or status text indicates an active connection; also look for the VPN status indicator in the system UI.
If the connection drops soon after you approve the request, check the client log instead of repeatedly tapping Connect. If the system says another VPN is already active, disconnect it before trying again. During your first test, keep the client in the foreground or recent apps and avoid background cleanup. After web access works, adjust background permissions as needed for your device’s battery settings. A background restriction causing disconnects is different from an invalid subscription URL.
04 Test Access and Restore Your Settings
Leave the client running and open a new browser window. Visit one site expected to use the proxy and another that should connect directly under your current rules. Choose sites you know and can reliably check, then refresh once. Don’t rely on an old tab: cached content, reused connections, and browser-specific proxy rules can keep it from reflecting your latest settings.
Check the Results Alongside the Client Logs
If both sites load, return to the client and check the connections or logs generated by your visits. If your version shows the routing exit, confirm that each request used the expected route. If it doesn’t show detailed records, you don’t need to enable complex debugging just to finish this guide. If access is repeatable and behavior matches your routing rules, you can keep this basic setup.
An IP lookup only shows which exit was used for that specific request. With split routing, different sites may take different paths, so one lookup can’t prove that every app is using the proxy. The same applies on Android: a system VPN indicator shows that the interception interface is active, not that every app is covered. If only one app isn’t working, check its own proxy settings or per-app rules before changing the entire configuration.
Narrow Down the Problem Based on What You See
If sites that should connect directly work but sites expected to use the proxy don’t, check that the right server is active, then try another server from the same subscription. If temporarily changing the routing mode restores access, check whether the original rules matched the target request. If changing servers doesn’t help, review the logs for connection errors and check the system time. A successful subscription update does not prove that a server is reachable.
If no webpages load, first check that the desktop client is still running, the system proxy points to that client, and no other tool has changed your network settings. You can choose Clear system proxy to test a direct connection. If direct access works, re-enable the system proxy by following Step 2. On Android, disconnect v2rayNG first and confirm that your regular network works, then connect again and retest.
If the browser works but other apps don’t, the issue is more likely to be traffic coverage or the apps’ own settings. Check whether the app supports the system proxy. If you need TUN, configure it separately using the permissions and networking guidance in the installation guide. If you recently changed DNS, routing, or several network tools, return to this guide’s minimal setup and restore changes one at a time. Recording the failing step, operating system, client name, and error text with sensitive details removed is more useful than repeatedly reinstalling.
Restore Your Network Settings When You’re Done
Before exiting on desktop, choose Clear system proxy from the tray menu. If TUN is enabled, turn it off too, wait for the network settings to restore, then exit the client. Don’t rely on force-quitting to clean things up. If webpages stop loading after an unexpected exit, restart the client and clear the proxy, or check the proxy settings for your current network connection in the operating system. Remove only the settings added during this setup.
On Android, disconnect using the v2rayNG connection button and confirm that it has stopped running. If Always-on VPN or Block connections without VPN is enabled, check those system settings too. After restoring your settings, visit a site you normally use. You now have a complete checklist covering the subscription source, traffic interception, active server, and access results. Use the same four steps to check your setup after changing servers or updating a subscription.
For follow-up, return to Import a subscription for subscription list issues, Proxy mode for traffic coverage, or Connect to a server for client errors. For installation, permissions, or persistent issues across platforms, see the cross-platform installation and setup guide.