Quick Start / First Connection

v2rayN Setup Guide:
From Subscription Import to Connection Test

Complete a connection you can verify in four steps. Start with the default routing rules and basic traffic handling. Once you confirm access, you can configure TUN, per-app proxy settings, and custom rules.

Before You Begin: Client and Subscription URL

If the client isn't installed yet, visit the download page and choose the installer for your operating system and processor architecture. After installing or extracting the desktop app, launch v2rayN from its permanent location rather than from the archive preview. On Android, install v2rayNG and open it; you don't need to enter a local proxy port manually before connecting for the first time.

Next, get a valid subscription URL or a server share link from your service provider. The client reads configuration and forwards traffic, but installing it doesn't give you access to a working server. A subscription URL usually provides a list of server configurations, while an individual share link contains connection details for just one entry. The import steps may differ, so identify which one you have before continuing.

A subscription URL may contain access credentials. Copy the entire URL without adding quotation marks, explanatory text, or line breaks from a chat message, and don't post it in a public forum. Before you begin, quit any other proxy or VPN tools that are managing network traffic to prevent multiple apps from changing system settings at once. The steps below assume you have a subscription URL. If you don't, don't enter an address from an unfamiliar website.

1. Import the Subscription and Update the List

v2rayN: Save a Group, Then Fetch the Configuration

In the v2rayN main window, open the menu for subscription groups and select Subscription Group Settings. Add a group. Enter a recognizable label in the remarks or name field, such as “Everyday,” then paste the full URL into the subscription URL field. Leave the other options at their defaults for now. Check that there are no extra spaces at either end of the URL, then save. At this point, you've only saved the subscription source, so it's normal for the server list to be empty.

Return to the main window, open the subscription menu, and choose Update Current Subscription or Update All Subscriptions. If you haven't set up a working proxy yet, use the option to update without a proxy if available; the exact wording varies by version. Wait for the update to finish, then check the information or log area at the bottom of the main window. On success, server entries and protocol details should appear in the relevant group. Switch to the group you just saved so another active filter doesn't make it look like the import failed.

v2rayNG: Save the Group, Then Update from the Main Screen

In v2rayNG, open Subscription Group Settings from the top-right menu, tap the add option, enter a label and URL, and save. Return to the server list, then choose Update Subscription from the menu. If no entries appear after saving, check that you actually ran the update instead of creating the same group repeatedly. Once the update is complete, the list should show servers you can select. A selected entry is usually marked or highlighted.

If you have an individual server share link, copy it in full and use the client's import-from-clipboard option. Don't paste a server share link into the subscription URL field, which is meant to fetch remote content. Both types of link can look like long strings, but they're imported differently. After importing, check whether the resulting entry matches the provider's instructions rather than judging by the link's appearance.

The subscription import is complete once server entries appear in the list. Don't bulk-edit protocol settings or switch the core yet. Next, decide how apps on your device will send requests to the client.

2. Choose a Proxy Mode and Default Route

On Desktop, Start with the System Proxy

From the v2rayN system tray menu or the system proxy option in the main window, select “Set system proxy.” This points the operating system's relevant proxy settings to the client's local listening address, making it a good starting point for testing with a browser that follows system proxy settings. The client must keep running after you set this. A system proxy isn't a standalone connection service; if you quit the client without clearing the setting, your browser may lose internet access.

“Clear system proxy” removes the system proxy settings. “Do not change system proxy” means the client won't modify the existing settings; it doesn't mean the system proxy has been reset. If you previously configured a proxy, clear it before retesting, then select automatic configuration. Desktop operating systems may show a permission prompt when settings change. Make sure it comes from the current client and operating system settings flow.

Leave TUN off during the initial setup. The system proxy affects only apps that honor that setting, while TUN uses a virtual network interface to handle more traffic and may involve additional permissions, routing, and DNS behavior. Neither mode is a higher or lower connection-quality setting. After browser access works, if an app doesn't use the system proxy, see System Proxy and TUN: Frequently Asked Questions to decide whether to switch.

On Android, Check VPN Mode and App Coverage

v2rayNG typically handles app traffic through Android's VPN interface. In the settings, confirm that VPN mode is selected. On your first connection, Android will ask for permission; review the prompt and approve it. This VPN is a way to handle traffic on your device, not a change to the protocol in your subscription. If another VPN connection is active, stop it before starting v2rayNG to avoid having the two replace each other and mistakenly thinking the client disconnected.

For your first test, keep the default app coverage and don't configure per-app proxy settings yet. If you've already changed them, check that the browser you're testing isn't excluded. Per-app settings may use options such as “proxy selected apps only” or “bypass selected apps.” A checked app isn't necessarily using the proxy; read the mode description as well.

Once you've chosen how traffic enters the client, check the routing settings. The system proxy or VPN determines how traffic reaches the client; routing determines whether requests use a direct, proxy, or blocked outbound route. Keep the default routing for your first connection test. You don't need to route everything through a global proxy. Default routes can vary by version and existing settings. For finer control, see Routing Rules in the Configuration Reference. Next, select a server and confirm the core starts successfully.

3. Select a Server and Start the Connection

Selecting a Server Doesn't Mean You're Connected

In the v2rayN server list, choose an entry and use the right-click menu to set it as the active server. Some versions also let you double-click an entry. Check the active server indicator, status bar, or log message rather than relying on where your pointer is. Changing the active server usually reloads the core. Wait for that to finish before testing a webpage, and avoid switching between several entries during the reload.

Check the information or log area in the main window for repeated core startup failures, a port already in use, or configuration parsing errors. In some versions of v2rayN, selecting a server starts or reloads the core, so there may not be a separate Connect button. Local listener or core status messages confirm that the local service is running, but they don't prove the remote server is reachable. You still need to test real access.

In v2rayNG, select the server you want to use, then tap Connect on the main screen. On your first connection, grant VPN permission when prompted by the system, then check the button state and Android's VPN indicator. If the button immediately returns to its stopped state, open the client logs and check the startup error. If the VPN indicator is present but webpages won't load, check server reachability, routing, and DNS instead of requesting permission again.

If It Fails, Change One Thing at a Time

If a local port is already in use, quit any other client that may be using the same port, then try again. Don't change the port, switch cores, and change servers all at once; if the connection recovers, you won't know why. Some subscriptions rely on specific protocols or transport features, and switching cores at random may make a working configuration incompatible. Keep the imported settings and default core selection, and ask your provider if needed.

If the local service has started but requests keep timing out, enable automatic date and time and make sure the device clock is correct. Then try another server from the same subscription for comparison. Latency tests can help narrow down options, but a successful test doesn't prove that the browser, DNS, and every app are configured correctly. A failed test may also be due to the test target or method. Don't draw conclusions from one number; note the error type and follow Troubleshooting to investigate.

Once the client is running, a server is selected, and startup errors aren't recurring, move on to the next step. Keep those conditions unchanged and test the full path with a real request.

4. Test Web Access and Traffic Handling

Test with a New Request, Not Just the Connection Icon

Open a new browser tab and visit a familiar HTTPS site, then refresh it once. Choose a page that loads normally and is easy to recognize. Don't rely on a page that was already open; it may be cached. If your browser has an extension that controls proxy settings separately, make sure it's set to use the system settings. Otherwise, it may override the system proxy and bypass the client during your test.

Next, open the client logs and make another page request. If the current log level records access events, check the destination domain, connection result, and outbound details to see whether the request reached the client. Log detail varies by version, so the absence of an entry for each request doesn't necessarily mean traffic wasn't handled. Consider the log level, system proxy status, and page result together; don't change routing blindly just to find a log entry.

If the page loads but you're unsure whether it went through the proxy, temporarily clear the desktop system proxy or stop the Android connection, then make a new request for comparison. Restore the connection afterward. A page that's normally accessible directly may still load when the proxy is stopped, which is expected. Choose a destination that's expected to use the proxy under your current rules and check the logs; whether a site loads by itself doesn't reveal the route for all traffic.

With Split Routing, Test Direct and Proxied Destinations Separately

With the default split-routing setup, some requests go direct and others use the server. If you use an IP lookup page to check the exit address, it only shows the route used for that request; it doesn't prove that other domains or all apps use the same route. To check a specific app, make a request from that app and verify whether it follows the system proxy settings, whether it's covered by Android's VPN mode, and which routing rule applies.

If some sites work while others fail, note the failing domains, error messages, and routing mode at the time. A connection timeout, DNS lookup failure, and certificate warning are different problems. Don't disable certificate verification or ignore a warning just to complete the test. Check the system time, URL, and network environment, then follow Troubleshooting for the symptoms. For routing fields, DNS settings, and outbound tags, see the Configuration Reference.

Quit and Configure Further

When you're finished on desktop, select “Clear system proxy” in v2rayN before quitting. If TUN is enabled, stop that mode as well. Closing the main window may only send the app to the system tray; use the client's Quit option to stop it completely. On Android, tap Stop, confirm the system VPN indicator disappears, and then close the app.

If your browser suddenly can't access the internet after you quit, first check whether the system still has proxy settings pointing to your local device. Don't reinstall the client right away. Reopen v2rayN and clear the system proxy, or review the relevant options in your system network settings. If you're on a workplace or managed network, don't remove its existing organizational proxy settings without first checking what they're for.

After a successful connection, note the server, traffic-handling mode, and routing mode that worked. Don't save or share screenshots containing credentials. To update your subscription later, update the existing group. For a specific error, visit Troubleshooting; to learn about configuration fields and custom routes, see the Configuration Reference. Change one setting at a time to make results easier to reproduce.

Download v2rayN