setup / first connection

v2rayN Setup Guide
From subscription import to connection verification

Complete four tasks in order: import a subscription, choose a proxy mode, configure the connection, and verify the result. Each step identifies where to find the setting, what normal behavior looks like, and what to confirm before moving on.

before / setup

Before you begin

Prepare a valid subscription URL and make sure the client is installed. You do not need to edit config.json manually or adjust advanced routing fields before the first setup.

A subscription URL is usually provided by the service provider. It lets the client retrieve a set of connection configurations. When copying it, keep the full URL and remove surrounding spaces, line breaks, and explanatory text. A subscription is personal configuration data and should not be pasted into public pages, screenshots, or chat logs. If you only have a single VMess, VLESS, or other share link, you can use the client's “Import from clipboard” option, but this guide focuses on the more common subscription-group workflow.

After opening the client, first check that the main interface loads normally. The v2rayN desktop client usually shows a server list, menu bar, and status area at the bottom of the window; v2rayNG on Android usually shows a configuration list and connection controls. An empty list is normal at this point because no subscription has been added. If the client will not start, closes immediately, or reports a missing runtime, return to the download page to check the platform and package type before continuing.

For the first setup, keep the client's default port, default DNS, and default routing rules for now. Change one key setting at a time so you can identify where a problem occurs. After completing the four steps on this page and confirming a basic connection, continue to the routing section of the system guide to adjust domain rules, GeoSite, GeoIP, or TUN mode.

subscription / import

Import a subscription

The goal at this stage is not to connect immediately. It is to make the client read the subscription successfully and populate the main list with selectable configuration entries. Once the list has entries, the proxy mode and connection steps have a clear target.

v2rayN desktop: Create a subscription group

Open the v2rayN main window and find “Subscription Groups” or a similarly named subscription-management entry in the top menu, then open “Subscription Group Settings.” Depending on the version, the entry may be under a “Subscriptions” menu or appear directly as a toolbar button. In the settings window, click Add, enter an easy-to-recognize name such as “Primary subscription” in the remark or alias field, and paste the full subscription link into the URL field. The name is only for local identification and does not affect the connection.

Click Confirm or Save when finished, then return to the main window. This only saves the subscription source; the server list may not have been updated yet. Open the “Subscription Groups” menu again and choose “Update All Subscriptions,” or select the group you just created and update it. The client will read the subscription and add the parsed entries to the server list. When the update finishes, the main window should show fields such as protocol, address, port, and alias; the exact number of fields varies with the version and window width.

If the list is still empty after updating, return to Subscription Group Settings and check for spaces at the beginning or end of the URL. Then confirm that the subscription group is enabled. If the status bar reports a subscription fetch failure, do not keep changing the proxy mode—the problem is occurring while retrieving the configuration. Recopy the URL from the provider's management page, replace the existing value, and update it once more. For a fuller breakdown of subscription errors, see Subscription Management in the system guide.

v2rayNG on Android: Add and update a subscription

Open v2rayNG, use the side menu or the menu in the upper-right corner, and open “Subscription Group Settings.” Tap Add, enter a group name in the remark field, paste the subscription link into the available URL field, and save. Return to the configuration list and choose “Update Subscription” from the menu. If multiple subscription groups are listed, first confirm that you are updating the group you just added so you do not mistake an older group's contents for the new result.

After the update finishes, one or more entries should appear in the configuration list. Each entry usually shows a name and protocol-related details. Do not tap Connect yet: first confirm that the list is not empty and that the names generally match those from the subscription source. If the same batch of entries appears repeatedly, you may have added the same URL more than once. Open Subscription Group Settings, remove the extra group, and update the list again.

next: proxy-mode Choose a proxy mode →

routing / mode

Choose a proxy mode

The proxy mode determines which traffic is handled by the current configuration. For a first setup, start with rule-based routing: common local websites and LAN addresses stay direct, while requests that need a proxy use the active server. This usually offers a good balance of reachability and everyday app compatibility.

First, separate two settings that are easy to confuse

The v2rayN desktop client usually has both “System Proxy” and “Routing Mode” settings. System Proxy determines whether browsers and apps that follow the system proxy send traffic to v2rayN. Routing Mode determines whether traffic entering the core uses the proxy outbound, direct outbound, or blocked outbound. Changing only the routing mode without enabling the system proxy may leave the browser connecting directly; enabling the system proxy with the wrong routing rules can produce unexpected results for some sites.

When v2rayNG connects, it creates a system-level local connection tunnel, while routing settings determine how traffic is assigned. Labels such as “Predefined Rules” and “Routing Settings” belong to this stage. For the first setup, avoid enabling complex per-app controls or importing multiple custom rule sets. Start with one clear, reproducible rule set, verify the connection, and expand it one setting at a time.

How to choose among three common modes

Mode How it handles traffic Best for
Rule-based routing Uses domains, IPs, and predefined categories to choose direct or proxied access Everyday use and first-time setup
Global proxy Sends most traffic entering the client through the current proxy outbound Temporarily bypassing routing-rule effects
Direct Connects directly to the destination without proxying outbound Pausing the proxy or running comparison tests

In v2rayN, first choose a rule-based routing profile in the routing settings. Then use the system tray icon or the System Proxy menu in the main window to select “Auto-configure system proxy” or an equivalent option. Do not choose “Clear system proxy,” as that makes most browsers bypass the client. If you only want a program with manually configured SOCKS or HTTP proxy settings to use v2rayN, you can leave the system proxy unchanged, but you will need to enter the local listening port separately, so this is not recommended for a first setup.

In v2rayNG, open routing configuration in Settings and start with one of the client's predefined rules. Return to the main list and make sure no conflicting per-app rules are enabled at the same time. Global proxy mode is useful for troubleshooting: if a destination works globally but not with rule-based routing, the issue is more likely to be routing matches or rule data. If both modes fail, continue checking the subscription entry, connection status, and network environment.

Rule-based routing depends on the relationship between routing.rules, domain categories, IP categories, and outbound tags. For the first connection, you only need to understand that a match determines the traffic path; there is no need to cover every field here. For custom rules, continue to the routing system guide for step-by-step configuration.

client / connect

Configure the connection

Before connecting, complete two actions: select a specific configuration and put the client into a running state. Having entries in the list does not mean one is being used; confirm the active item, system proxy, and core status separately.

v2rayN desktop: Set the active server

Return to the v2rayN main window and click an entry in the server list. For the first test, choose a clearly named entry from a known source and do not select multiple entries at once. After selecting it, press Enter or use “Set as active server” from the context menu. A successful selection usually changes the color, font, selection marker, or status-bar text for the current entry, depending on the client version.

Next, check the bottom of the window or the log area. During normal startup, you should see messages that the core has started and local inbound ports are listening. These ports are usually managed automatically by the client and do not need manual changes for a first setup. Then check the v2rayN icon in the system tray and confirm that the system proxy is set to automatic configuration. If you restarted the client after choosing the proxy mode, check the tray menu again in case the system proxy was manually switched back to direct access.

If the log shows a connection failure immediately after selecting an entry, do not cycle rapidly through many configurations. First confirm that the computer's date and time are correct, then test one other entry from the same subscription for comparison. If only one entry fails, the issue is more likely specific to that entry; if all entries fail, check whether the subscription has expired, the network is available, or a local port is already in use. See Local Ports in the system guide for ways to identify port conflicts.

v2rayNG on Android: Select a configuration and start

In the v2rayNG configuration list, tap an entry to make it the current configuration. The selected entry usually shows a radio marker or highlighted state. Then tap the connection button at the bottom of the page. The first time you start, Android displays a connection authorization dialog; verify the app name and confirm. Authorization only allows the client to create a local connection tunnel; it does not replace the subscription configuration.

After a successful connection, the bottom button changes state and the system status area shows a connection indicator. Return to the v2rayNG main screen and confirm that the current configuration name is still the entry you selected. If the connection quickly returns to a disconnected state, open the log and inspect the last few lines instead of tapping the button repeatedly. Common causes include an unavailable configuration, an interruption after switching networks, incomplete subscription parameters, or an incorrect system clock.

After switching from Wi-Fi to mobile data, or back from mobile data to Wi-Fi, an existing connection may need to be re-established. Watch the client status during the switch; if the connection indicator disappears, return to the main screen and tap Connect again. Do not run multiple clients with the same system-proxy role at the same time, as app traffic may be captured repeatedly by different local ports and produce inconsistent verification results.

network / verify

Verify that the proxy is working

A Connected indicator only shows that the client is running. Final verification requires checking whether real application traffic follows the expected path. Start with a newly opened browser window, then test other applications.

Establish a before-and-after comparison

Open a new browser window and search for “current IP address,” then note the exit information shown on the page. Keep the client running, refresh the results, or open another window. If the exit result changes as expected, browser traffic is reaching the client. With rule-based routing, different lookup pages may follow different rules, so use the client log as supporting evidence rather than relying on a single page.

If v2rayN reports that it is running normally but the browser result never changes, first check whether the browser follows the system proxy. Some browser extensions override system settings, and some apps use their own proxy parameters. Temporarily disable extensions that modify proxy settings, then confirm the system proxy state in the v2rayN tray menu. If a manual proxy address was entered in the browser, verify that its port matches the client's current listening port.

After connecting with v2rayNG, fully close and reopen the browser to avoid reusing an old connection. If browser verification succeeds but a particular app still cannot connect, check whether per-app rules exclude it or whether it uses a separate network channel. Do not change the subscription immediately: a successful browser test indicates that the subscription, server entry, and basic connection path are broadly working. Focus troubleshooting on app scope and routing rules.

Use logs to identify the traffic path

Open the client log, then visit a new page in the browser. Normally, the log adds a connection entry showing the target domain, destination address, or matched outbound tag. Logs help distinguish “the request never reached the client” from “the request reached the client but the connection failed.” The former usually involves the system proxy, app proxy, or connection authorization; the latter usually involves the server entry, routing rules, DNS, or network conditions.

If the log shows no new entries, the app is probably not sending traffic to the client. In v2rayN, recheck the system proxy switch and the app's own proxy settings; in v2rayNG, check the connection status and per-app scope. If the log contains entries but shows timeouts or failed connections, test another entry from the same subscription. Keep the proxy mode unchanged during the comparison so you do not change two variables at once.

If pages open but images, videos, or some domains fail to load, inconsistent routing rules or DNS results are common causes. Temporarily switch to global proxy mode for comparison: if global mode works, the basic connection is available and you should inspect routing matches next; if global mode also fails, continue checking the current configuration and network status. Restore the intended mode after testing instead of leaving troubleshooting settings in place for daily use.

Confirm that other apps behave as expected

After the browser test passes, open another app that normally needs network access. v2rayN system proxy mainly covers programs that follow system proxy settings; it does not guarantee that every desktop program will use it automatically. Some programs require “Follow system proxy” in their own settings, while others need a local HTTP or SOCKS address entered manually. If you need to handle more types of traffic, study TUN mode, but read the TUN section of the system guide first to understand the permission, DNS, and routing changes before enabling it.

The setup is complete when the client runs steadily, the browser exit matches the selected mode, the log shows new requests, and commonly used apps have the expected access. Once these conditions are met, the first-time setup is finished. For future subscription updates, you do not need to repeat every step: update the subscription, confirm that the active entry still exists, and run a brief connection check.

finish / checklist

First-time setup checklist

Check the following states in order. If an item fails, fix it before moving on to advanced settings.

  1. The subscription list contains configurations

    The subscription group is saved, the update completes successfully, and the main list contains at least one selectable entry.

  2. The proxy mode matches the traffic scope

    Use rule-based routing for everyday access; switch briefly to global proxy mode when troubleshooting rules, then restore the original mode after testing.

  3. The active configuration and running state are clear

    v2rayN has an active server selected and system proxy enabled, or v2rayNG has a configuration selected and remains connected.

  4. Real traffic has been verified

    The browser exit, client log, and access results from common apps agree with one another instead of relying only on the connection button.

setup > completed

Continue with routing and TUN configuration

After the first connection works, learn subscription maintenance, routing rules, DNS, TUN mode, and troubleshooting as needed. The system guide is organized by stage, so you do not need to change everything during the initial setup.

setup / quick answers

Common first-time setup issues

The subscription updated successfully, but no new entries appear. What should I do?

First confirm that you updated the subscription group you just created, then check that the group is enabled. Recopy the complete subscription URL, replace the old one, and save it. If the client reports a parsing failure, ask the subscription provider to confirm the URL status instead of trying to fix the problem by changing the proxy mode.

Why does the client show Connected while the browser exit does not change?

In v2rayN, confirm that the system proxy is enabled and check whether an extension or manual proxy setting is overriding the browser. In v2rayNG, fully close and reopen the browser, then check per-app rules. If the client log shows no new requests, focus on whether traffic is reaching the client.

Should I use rule-based routing or global proxy mode long term?

Rule-based routing is usually best for everyday use, sending different destinations direct or through the proxy according to the rules. Global proxy mode is better for short comparison tests that help determine whether routing matches are causing the problem. Continue learning about specific rule structures in the system guide.

Do I need to set everything up again after updating the subscription?

Usually not. After updating, confirm that the previous active entry still exists and check the currently selected configuration. If the provider renamed or removed the old entry, select another configuration and run the connection and exit verification once more.