v2rayN Setup Guide
Import a Subscription and Test Your Connection

Complete your first setup in four steps: import a subscription → choose a proxy mode → connect → verify it works.

This guide takes you through a complete connection from start to finish. Have the client and a valid subscription URL ready. First, get everything working with the default settings; you can adjust routing or include more apps later. Set aside about ten minutes for your first run. If the subscription or network is the problem, there’s no need to reinstall repeatedly—note the step where things stopped working.

Before you begin, visit the client downloads page to choose an installer for your device, and make sure the client opens correctly. You’ll also need a subscription URL from your service provider. The client reads the configuration and establishes a connection; installing it does not create working servers. A subscription URL is different from a regular website address, so check its source before copying it.

Step 1: Import a Subscription and Check That Servers Appear

Copy the full subscription URL from your provider’s account page. Use the page’s copy button if available to avoid missing any trailing parameters. The URL may contain credentials that identify your account, so don’t post it in public chats or include the full URL in screenshots. If copying adds spaces or line breaks, remove those extra characters when pasting—but don’t delete parameters from the URL.

Add a Subscription Group in v2rayN

Open v2rayN, find the “Subscription Group” menu, and select “Subscription Group Settings.” Add a group, enter a recognizable name in the remarks field (for example, “Daily subscription”), and paste the subscription URL into the address field. The remark is just a label; the client uses the subscription URL to retrieve server details. Save the settings and return to the main window. You’ve saved the source, but the server list may still be empty until you update it.

Open the “Subscription Group” menu and choose the update option. Some versions offer “Update without proxy” and “Update through proxy.” If this is a fresh install with no working connection, try updating without a proxy first. If you already have a working proxy and the subscription URL can’t be reached directly on your current network, try updating through the proxy. Before updating, check whether the menu action applies to the selected group or all groups so you don’t mistake another group’s results for this update.

After the update, the main window should show server details such as name, address, port, and protocol. Make sure the list is no longer empty, then switch to the group you just added and check it. This confirms that the subscription was read; it doesn’t prove that every server can connect. Don’t start changing ports, transport methods, or security settings as soon as servers appear. These values should match the server configuration, so keep the subscription’s defaults for your first run.

Follow the Same Steps in v2rayNG

In v2rayNG, open “Subscription Group Settings” from the side menu, tap the add button to create a group, enter a remark and subscription URL, and save. Return to the main screen, open the top-right menu, and choose “Update subscription” or a similarly named option. If the menu lets you update the selected group or all groups, make sure the new group is selected first. The server list should appear when the update finishes. If you’re viewing a different group, switch to the one you added and check again.

If the list is still empty after updating, start with the client’s error message. A timeout often means the subscription URL can’t be reached. An unreadable response may mean the URL was copied incorrectly, the subscription has expired, or the provider’s format isn’t supported by the client. Being able to open the provider’s website doesn’t mean its subscription endpoint is working. Don’t keep adding the same URL to retry; you’ll end up with duplicate groups that are harder to identify.

Once the server list is ready, decide how app traffic enters the client and how it is routed afterward. These are separate settings, so understand the difference before choosing a mode.

Step 2: Choose a Proxy Mode and Start with a Standard Routing Preset

“Proxy mode” is often used as a catch-all for several settings. For a first setup, think of it as two separate questions: Do apps such as your browser send requests to the client? And once the client receives a request, which outbound route does it use? The first depends mainly on the system proxy or another traffic-capture method; the second is determined by routing rules. Changing routing alone usually won’t affect access if app traffic never reaches the client.

On Desktop, Set Routing Before Enabling the System Proxy

Look for routing options at the bottom of the v2rayN main window, in the Settings menu, or in the system tray menu. For your first run, choose a standard routing preset provided by the client, such as one named “Bypass mainland China” or “Bypass LAN.” Names and rules vary by version. Check the preset description to see how it handles local network access and your target websites. Don’t assume similarly named custom rules work the same way.

Next, find the “System Proxy” menu and choose “Set system proxy automatically” or a similarly named option. This sends requests from apps that follow the system proxy settings to the client’s local listening port. If “Clear system proxy” is selected instead, your browser may still connect directly even if you’ve chosen a server. The system proxy affects apps that honor this setting; it does not capture all traffic from your device.

If you see a “Global” option, first check which menu it belongs to. Some options try to send all traffic through the proxy at the routing level; others control traffic capture. For your first setup, there’s no need to enable both global routing and TUN. First, test browser access with a standard routing preset. If an app doesn’t follow the system proxy, read the relevant guidance before changing settings. This makes problems easier to diagnose and helps keep local network services accessible.

What the Three Outbound Routes Mean

direct means the device connects to the destination directly; proxy means it uses the selected proxy server; block means the matching request is denied. Routing rules choose the outbound route; they don’t tell you whether a server is working. For details on rule order, DNS resolution, and rule sets, see the concept reference. You don’t need to write configuration by hand for your first connection.

On Android, Keep the Default Routing and Check Connection Permissions

In v2rayNG, keep the default routing and DNS settings for now so you don’t change several things at once. If you’ve enabled per-app proxying, check that the browser you’re testing is included. Access results won’t tell you whether the server works if the app is excluded. The first time you tap Connect, Android displays a VPN connection request. This permission lets the client create a local traffic entry point; it isn’t a prompt to buy a service.

If another VPN or proxy app is connected on your device, disconnect it before continuing. Multiple tools trying to capture traffic can make the system settings differ from the actual route. Once you’ve chosen a mode, leave DNS, rule sets, and TUN unchanged for now. Next, select one server and test a real connection.

Step 3: Select a Server and Connect

Choose a server from the subscription group you just updated. If your provider lists supported regions or connection methods, pick one suited to your current network. Otherwise, choose a single server to test instead of trying the entire list. A server name is just a label; it doesn’t tell you the protocol’s capabilities, reliability, or actual performance.

Set the Selected Server as Active in v2rayN

Select the server in the v2rayN list, then use “Set as active server” in the right-click menu or an equivalent option. Some versions let you double-click to activate a server. Don’t rely on the row’s highlight alone; check the active indicator, status bar, or current server label too. Selecting a row to view its details and switching the outbound server may be separate actions.

v2rayN usually starts or restarts the core once the active server is set. If your version has a separate start button, use it as directed. Open the logs and check for repeated errors such as configuration parsing failures, a port already in use, or a failed core startup. The core is the program that handles connections; opening the graphical client doesn’t mean the core is running properly.

If startup reports that a local port is already in use, check whether another copy of the client is open or another proxy is using the same port. Close duplicate instances and try again before changing port numbers. Changing ports affects the app’s connection entry point, and you’ll also need to update any settings that use that port. Keeping the defaults makes a first setup easier to troubleshoot.

The client’s built-in tests can provide an additional check. If your version offers “Real connection test” or a similar feature, test the selected server once before checking in a browser. Results depend on the test destination, network, and server status. One failed test doesn’t prove that every website is unreachable, and a successful test doesn’t prove that routing and system proxy settings are correct.

Connect with v2rayNG

Select the server you want in the v2rayNG main screen, make sure the active indicator is on that entry, and tap Connect. The first time, allow the VPN connection request in the system prompt. After startup, the button or status text changes, and a connection indicator usually appears in the system status bar. A running status only confirms that the local service started; test access in the next step to check the remote connection.

If the connection drops as soon as you switch to your browser, check whether the system is restricting the client’s background activity. Allow the background activity it needs in your device settings, and avoid force-stopping it from the recent apps screen. You don’t need to disable every battery-saving option; first confirm that the connection is actually dropping, then adjust settings for this app if needed.

The local traffic entry point and proxy route are now in place. Next, test a real web request to verify the full path instead of relying on the client’s connection indicator.

Step 4: Verify the Connection and Learn How to Disconnect

For the test, use one browser and don’t start several apps at once. On desktop, make sure the browser uses the system proxy rather than a separate proxy configured in an extension. On Android, check that per-app rules haven’t excluded the browser. Open a new tab and reload the destination; an already loaded page may still appear from cache even after the connection drops.

Test Basic Access and a Destination That Should Use the Proxy

First, open a regular website that normally works to make sure basic network access is intact. Then visit a destination that should use the proxy under your current routing preset, such as a remote service you need for work. These tests serve different purposes: the first checks that your network still works, and the second checks the proxy route. Testing only a direct-access destination can make it look as if the proxy is working when it isn’t involved.

Refresh the destination while watching the client logs. If the log level records requests, check whether the destination domain appears and whether the expected outbound route was selected. If there’s no relevant entry, first check the browser’s proxy settings, system proxy status, or per-app proxy scope. Switching servers repeatedly won’t help if the request never reached the client.

If the request reaches the client but uses direct, first check whether that’s expected for the current preset. Split routing allows some destinations to connect directly; not every request should use proxy. To test a proxy server, choose a destination that should clearly use the proxy, or temporarily compare with an existing proxy-routing preset and restore your original settings afterward. Don’t delete all your routing rules just to make the logs look consistent.

If the proxy outbound is selected but the page still won’t load, check whether the error is a DNS resolution failure, connection timeout, or TLS handshake failure. Note the error and when it occurred, then change just one thing—for example, try another server from the same subscription and visit the same destination. This helps distinguish a problem with one server from a shared configuration issue. For DNS, certificate, and mobile-specific issues, follow the steps in Troubleshooting rather than changing every setting during your first setup.

Don’t Rely on Your Exit IP Alone

An IP lookup can offer an additional clue, but it only shows the route used for that particular request. With split routing, the lookup site may connect directly while another destination uses the proxy. Results can also be affected by caching or how the site identifies connections. For a more reliable check, compare actual access, request logs, and the expected route. If the log level is set low, few entries don’t necessarily mean there was no connection; check the log settings for your version.

Once the first test succeeds, open the app you actually need. If the browser works but an app doesn’t, first check whether that app follows the system proxy instead of assuming the server is down. TUN and apps with their own proxy settings are part of a later traffic-capture setup. Keep the configuration that just worked, and see the concept reference for related terms.

Restore Your Network Settings When You’re Done

On desktop, select “Clear system proxy” in v2rayN before exiting the client. If you end the process directly, the system proxy may still point to a local port that’s no longer running, temporarily preventing browser access. If this happens, reopen the client and clear the system proxy, or check proxy status in your system’s network settings. Don’t delete your subscription or servers first.

When you’re done on Android, tap Stop in the v2rayNG main screen and make sure the system connection indicator disappears. Then open a regular website to check that basic access has returned. Next time, you usually just need to start the client, confirm the active server, and connect. Update the subscription if it changes or a server stops working; there’s no need to add the URL again every time.

First-Run Setup Checklist

You’ve completed this guide if you can find your subscription group, identify the active server, understand your traffic entry point and routing preset, and verify the connection with a real website. Keep the working setup and change only one setting at a time. For protocols and routing, see the concept reference. For a specific issue, see Troubleshooting. To set up another device, choose a client from the downloads page.

Download v2rayN