Getting Started · First-Time Setup

v2rayN Setup Guide

Import a subscription → Choose a proxy mode → Connect → Test the connection. Get one connection working before changing other settings.

Before You Start: Get the Client and Subscription Ready

Start on the client downloads page and choose a build that matches your operating system and device architecture. Install it and open the main window. Use v2rayN on desktop and v2rayNG on Android. It’s normal for the server list to be empty on first launch: the client reads configuration, starts the core, and forwards requests, but installing it doesn’t provide a server to connect to.

Next, get a subscription URL or a complete server share link from your provider. A subscription URL is usually a web address that fetches a group of server configurations. An individual share link contains the connection details for one server. They use different import options. If you have an account page URL, sign-in page, or screenshot of a plan, it can’t be imported as a subscription. Check your provider’s instructions for the client subscription URL first.

Run only one proxy client during setup, and make sure your device can access regular websites and has the correct system time. Don’t enable TUN, change DNS, or add custom routes yet; none of these is required for the first connection. Subscription URLs may contain account details, so don’t post them in public chats, screenshots, or support requests. Hide the URL and other personal information in error reports.

Step 1: Import a Subscription

Open v2rayN and find the Subscription Group menu in the main window. Open Subscription Group Settings and add a group. Enter a recognizable name, such as “Everyday,” in the remarks field, then paste the full subscription URL into the address field. Check that the URL is complete, especially at the beginning and end, and look for accidental spaces, line breaks, or punctuation added during copying. Leave the other options at their defaults, save, and return to the main window.

Adding a group saves the source for updates; it doesn’t fetch servers into the list. Open the Subscription Group menu again and choose Update Subscription. Depending on the version, you may see options to update through or without a proxy. If you don’t have a working connection yet, try updating without a proxy first. If the URL isn’t reachable on your current network, you’ll need an existing proxy or another import method from your provider. Don’t keep deleting and recreating the same group just because the first update failed.

When the update finishes, check the status message, then return to the group’s server list. You should see entries with server names, addresses, ports, and protocol details. For now, just confirm that the configurations were added to the client; there’s no need to compare every server’s test results. Choose a server with a clear purpose, preferably one recommended by your provider. If the list is still empty, check that you selected the right group and haven’t enabled a filter, then see whether the subscription has expired or returned a sign-in page.

Subscriptions in v2rayNG on Android

In v2rayNG, open Subscription Group Settings from the main screen’s menu. Tap Add, enter a name and the subscription URL, save, and return to the server list. Then choose Update Subscription from the menu. Some versions let you update all subscriptions or just the current group; for your first setup, update only the group you just created. When the update finishes, tap a server to select it. The connection isn’t active yet; you’ll configure the mode and system permission next.

If you have an individual share link, copy the entire link and use the client’s Import from Clipboard option. Don’t paste it into the subscription URL field. On Android, you can also scan a configuration QR code from your provider using the add option on the main screen. Check that a new entry appears after importing. A share link usually doesn’t create an auto-updating subscription group, so you’ll need to get an updated configuration if the server details change.

Check the Imported Configuration

A successful subscription update only means the client fetched and parsed the content; it doesn’t guarantee that every server will connect. Don’t change protocol, transport, or TLS settings after importing—the values need to match the server. If parsing fails, first check that you used the right kind of URL and that the subscription is still valid, then consider client compatibility. For the difference between subscriptions, servers, and groups, see the glossary. To manage multiple sources, see the advanced subscription management guide.

Step 2: Choose a Proxy Mode

Once the server list is ready, decide which apps should send requests through the client and which outbound connection those requests should use. These are separate settings: the system proxy or TUN determines how traffic reaches the client, while routing determines where it goes next. Enabling the system proxy doesn’t send all traffic through a remote server, and global routing won’t capture apps that ignore the system proxy. Understand the difference before testing your setup.

Start with the System Proxy on Desktop

Find System Proxy in the v2rayN status area at the bottom of the main window or in the tray menu. For your first setup, you’ll want to use Set System Proxy, but you can locate the option now and enable it after the server starts successfully. This setting writes the local proxy address to your system settings; it doesn’t choose a server automatically. Browsers and apps that follow the system proxy will then send requests to the client.

Clear System Proxy removes the system proxy settings added by the client and is usually the right choice when you finish. Don’t Change System Proxy leaves your existing settings untouched; it doesn’t mean traffic will connect directly. The system may still have an earlier proxy address configured. So don’t assume your browser is connected just because you chose not to change the setting, and don’t configure a second proxy port in the browser at the same time.

Start with a Built-In Split-Routing Profile

In the Routing menu or routing selector in the main window, choose a built-in split-routing profile. Common names include Bypass Mainland China; the available options depend on your version. These rules use domains, IP addresses, or other criteria to decide which traffic goes direct and which goes through the proxy. They’re a good starting point for everyday use. If your provider recommends a specific routing setup, follow its instructions rather than assuming how every request is handled from the profile name alone.

Global routing usually sends requests that reach the client through the proxy outbound, subject to the applicable routing rules. Direct routes requests without the proxy. To check whether a specific destination is being routed as expected, you can temporarily switch to a global profile for comparison, then restore your usual split routing. You don’t need to configure rule priorities, DNS, or TUN just yet. Once your first connection works, see Advanced.

Use VPN Mode on Android

For your first v2rayNG setup, use VPN mode. You don’t need to enter your computer’s proxy address in your phone’s Wi-Fi settings. Check that VPN mode is selected and leave the routing settings at their defaults or choose a built-in split-routing profile. If you previously changed per-app proxy settings, make sure the browser you’re testing isn’t excluded. If you don’t have a specific reason to use per-app rules, disable them for now to avoid a connected client with no traffic from the test app.

Step 3: Select a Server and Connect

Return to the v2rayN server list and find the configuration you want to use. Select it, then choose Set as Active Server from the right-click menu. Some versions also let you double-click an entry. Confirm that the active marker has moved to that configuration; simply highlighting a row doesn’t necessarily make it active. The active server determines the client’s outbound connection, and in some versions it’s separate from the currently selected row.

v2rayN usually reloads the core automatically when you change the active server, so you don’t need to look for a Connect button like the one in v2rayNG. Check the status and log areas at the bottom for startup failures, port conflicts, or configuration errors. Then set the system proxy to Set System Proxy. If you’ve changed the client settings before, check that the system proxy points to the same local port the client listens on. Don’t copy port numbers from another guide.

If your system firewall prompts you on first launch, confirm the program name and installation location before allowing access as needed for your setup. A single-device setup doesn’t require opening additional listening ports for local network sharing. If startup reports that a port is already in use, close other proxy clients and try again. Don’t disable the entire firewall just to clear the warning; change a specific setting only when you know what’s causing the conflict.

Start v2rayNG and Approve the System VPN Prompt

Select a server in the v2rayNG list and tap Connect on the main screen. The first time you connect, Android displays a VPN connection request. This means the app will create a local VPN interface to route traffic; approve it after confirming the request is from v2rayNG. On success, the connection button and system VPN indicator will change. If Android says another VPN is already running, disconnect it first, then try again in v2rayNG.

The system VPN indicator means local traffic capture is active; it doesn’t confirm that the remote server is reachable. The local interface may start even when the server settings are wrong. Don’t stop at the indicator—continue with the access test in the next step. When you’re done, disconnect using the button in the app. Removing it from the recent apps list may not stop the background service.

Where to Look First When Startup Fails

If the client won’t start, check the earliest error in the logs, not just the last line. A configuration parsing error, a port conflict, and a remote connection timeout happen at different stages and need different fixes. You can try another server from the same subscription for comparison, but don’t change the server, routing, and DNS settings all at once; otherwise, it’ll be hard to tell what fixed the problem. See the Help Center for common errors and where to investigate them.

Step 4: Test Whether the Proxy Is Working

In the browser you want to test, visit a website that you know requires a proxy on your current network and that’s otherwise available. Whenever possible, use the same address you tested before connecting so a temporary website outage isn’t mistaken for a client issue. If the page still behaves as it did before you changed the system proxy, close the old tab and open a new one. If needed, fully quit and restart the browser so it reloads the proxy settings.

Also watch the client’s connection logs or traffic activity. When you visit the site, do related requests appear? Are there repeated connection errors? The details shown depend on the client version and log level, so the absence of a domain name in the logs alone doesn’t prove the request missed the client. Assess the client’s test results, website access, and logs together. A successful latency test only means that test target was reachable at that moment; it doesn’t guarantee every website or app will work.

Troubleshoot by Symptoms; Don’t Reimport the Subscription

If regular websites load but your target site doesn’t, first check whether routing sent the request direct. Temporarily switch to a global profile for comparison. If global routing works but your usual split-routing profile doesn’t, review the routing rules instead of reinstalling the client. If neither works, check the active server, subscription validity, system time, and connection errors in the logs. Change one setting at a time and note what happens before and after.

If your browser works but another desktop app doesn’t, that app may ignore the system proxy or have its own proxy settings. Check its settings and documentation before changing subscriptions. On Android, if only one app fails, check the per-app proxy include and exclude lists. If you need to route more desktop apps, consider TUN. For permissions and routing, see TUN mode; for DNS, see DNS configuration.

If no websites load after you enable the proxy, first clear the desktop system proxy or disconnect on Android and check that your regular network access returns. Then reconnect and check the active server. If your network recovers, the issue is more likely in the client configuration or remote connection path; it doesn’t necessarily mean the subscription has expired. When updating a subscription, distinguish a failed configuration download from a failed server connection: the first happens while fetching settings, the second while using an existing configuration. Repeating the same action won’t fix both.

Keep a Working Setup Once You’re Done

Your first setup is complete when the target site loads, the client shows the corresponding connection, and your usual websites work as expected. Note the subscription group, active server, system proxy, and routing profile you used. There’s no need to save or share the full subscription URL. After an update, if the active server was replaced or removed, select an active server again and repeat the same access test.

When you finish on desktop, choose Clear System Proxy before quitting v2rayN so your system won’t keep sending requests to a local address that’s no longer listening. On Android, disconnect using the v2rayNG connection button and confirm that the system VPN indicator disappears. Next time, check the setup in this order: select a server → enable traffic capture → test access. For deeper changes to subscription groups, rule order, and custom outbounds, see Advanced. This guide focuses on keeping one complete, repeatable connection path working.