// QUICK SETUP · 10 MIN

v2rayN Setup Guide: From Subscription Import to Connection Verification

Complete four steps in order: import the subscription, choose a proxy mode, establish the connection, and verify the result. Each step explains where to find the relevant entry, what should appear in the interface, and which status to confirm before continuing.

// PREPARATION

Before you start: client, subscription URL, and local network

Before configuring anything, make sure the client opens normally. After startup, the desktop version should show its main window or a system tray icon; the Android version should open the configuration list. An empty list on first launch is normal because no server configurations have been added yet. Do not keep clicking the connection button: an empty list has no active server to start.

The second item to prepare is the complete subscription URL. The service provider usually supplies it. Copy everything from the beginning of the URL to the end without omitting characters, and do not include explanatory text, leading or trailing spaces, or line breaks. A subscription is the source of server configurations: the client reads and updates those configurations. It is not a single server name or a manually entered note. If you have a single share URL instead, its import entry may differ from the Subscriptions entry. See Troubleshooting to confirm the format differences.

Finally, confirm that your existing local network can open ordinary web pages. The setup process relies on the local network to fetch the subscription and establish a connection. If the network is already down, the client logs will usually show repeated timeouts. Fix the basic network issue first, then configure the subscription and proxy to avoid misdiagnosing several overlapping problems.

CLIENT The client opens

The main window, configuration list, or system tray entry appears normally.

SUBSCRIPTION The subscription URL is complete

Copy the complete URL without explanatory text or extra spaces.

NETWORK The basic network works

With the client disconnected, ordinary web pages still open normally.

// STEP 01

Import the subscription and update the server list

Subscription import has two actions: save the subscription URL, then manually run an update. If you save it without updating, the client may remember the subscription while the server list in the main interface remains empty. The step is complete only when the main list contains selectable server configurations, not merely when the subscription window shows a saved entry.

v2rayN desktop: add a subscription group

Open the v2rayN main window, find “Subscription groups” or a similarly named Subscriptions entry in the top menu, and open the subscription group settings. Menu layouts may vary slightly by version, but the entry usually provides both group management and subscription updates. In the settings window, choose Add, enter an easy-to-recognize note such as the purpose or provider, and paste the complete subscription URL into the address field.

Check the beginning and end of the URL once more before saving. The address field should contain no Chinese quotation marks, spaces, or extra explanation. Save and close the settings window, return to the Subscriptions menu, and choose “Update all subscriptions” or update the group you just created. You can watch the log area during the update. Normally, the logs show subscription retrieval and configuration processing, followed by multiple entries in the main server list. These entries usually include fields such as an alias, address, port, or protocol type.

Subscription groups Subscription group settings Add and save Update subscription

v2rayNG Android: add a subscription configuration

Open v2rayNG and enter the top menu, then add a subscription record in the subscription settings. Enter a name, paste the complete URL, and save it. Return to the configuration list and use “Update subscription” to fetch the server configurations. Some versions return to the list automatically after updating; others show a brief result message. You can continue once the list contains a selectable entry.

If the list is still empty after updating, do not move on to proxy mode settings. Reopen the subscription record, check whether the URL was truncated, and confirm that the current network can reach the subscription source. Also check the logs for parse failures, connection timeouts, or an empty response. Subscription formats, single share URLs, and complete subscriptions differ in several ways; this page does not cover format conversion. Use the “Installation and configuration” category in Troubleshooting for further checks.

Once a server configuration appears in the list, do not immediately test every entry repeatedly. First determine how the client will handle traffic. The proxy mode controls which applications use the connection and which status to check during verification.

// STEP 02

Choose a proxy mode: use the default scope for the first connection

A proxy mode determines which traffic the client handles. The goal of the first setup is to establish a verifiable connection, not to tune complex routing, TUN parameters, or custom rules immediately. Start with the client's standard system proxy or connection method. After confirming that the subscription and server work, refine routing rules to suit your needs. This keeps the possible causes of failure within a smaller scope.

On desktop, distinguish system proxy from routing rules

In v2rayN, “system proxy” and “routing mode” serve different purposes. The system proxy determines whether browsers and other applications that follow system network settings send requests to the client. Routing mode determines whether requests entering the client are handled by direct connection, proxy, blocking, or another action. For a first setup, choose automatic system proxy configuration from the system tray or relevant main-window menu, and keep the default rule-based routing. Do not run multiple third-party proxy tools at the same time, since they may repeatedly modify the same system proxy entry.

If you start only the core without enabling the system proxy, the client logs may show normal operation while browser traffic continues along its original path. That does not necessarily mean the server configuration is wrong; traffic simply has not been handed to the client. Conversely, if the system proxy is enabled while the client core is not running, the browser may show a connection failure. During the next step, confirm the active server, running status, and system proxy status together.

On Android, use the standard connection entry

v2rayNG has a more centralized basic workflow: select a server in the configuration list, then tap the connection button in the lower-right corner. On the first connection, Android displays a network connection authorization prompt; confirm it so the client can create the local connection channel. If you deny the prompt, the configuration remains in the list but the connection cannot become active. After authorization, the status bar usually shows a connection indicator and the in-app button changes state.

Keep the client's default routing options at first. The default rules are useful for determining whether the basic connection works. Custom domain, ip, and geosite rules, along with more advanced TUN usage, can be covered after the connection succeeds in the System Guide. If you change the subscription, routing, DNS, and transport parameters during the first test, it will be difficult to identify which change caused the result.

FIRST RUN

First connection

Use the standard system proxy or connection entry, keep the default routing, and verify the basic path first.

AFTER VERIFIED

After the connection is stable

Adjust routing rules, DNS behavior, and other advanced settings based on the applications you need to support.

Once the mode is set, the client still needs a specific active server. Next, select a configuration from the subscription list, start the connection, and use the status and logs to determine whether startup completed successfully.

// STEP 03

Choose an active server and establish the connection

When configurations appear in the server list, explicitly select one. Having a configuration in the list does not make it the active server. This is especially important after the first import, switching subscription groups, or removing an old configuration, when the client may have no current selection. For the first test, use the subscription provider's recommended entry rather than changing transport parameters one by one. Use the protocol, address, port, and transport fields generated by the subscription as a complete set.

Set the active server in v2rayN

Return to the main window, click the target row in the server list, then use Enter, double-click it, or choose “Set as active server” from the context menu. The exact trigger varies by version. Check the selected marker, current-server notice, or status information at the bottom of the window to confirm success. Once the active server is set, start the service and choose the automatic configuration method selected in the previous step from the system proxy menu.

Then open the log area. During normal startup, the logs first show the configuration loading, followed by the core starting and the local listener being established. A local port listening message means the client is ready to receive requests from the system proxy. If it stops immediately after startup, focus on the first error before the stop rather than only the final termination notice. A port conflict, incomplete configuration field, or local security policy may end startup prematurely.

Start the selected configuration in v2rayNG

Tap the target entry in the configuration list so it becomes selected, then tap the connection button in the lower-right corner. After confirming the system authorization prompt on the first connection, wait for the button and top status to change. Once connected, do not close the client immediately. Stay on the page for a few seconds and check the logs. If the button quickly returns to its disconnected state, startup did not remain successful; open the logs to find the reason.

When a subscription contains multiple configurations, test one first and switch to another if it fails. Stop the current connection before switching, select the new configuration, and start again so the old and new logs do not get mixed together. Do not manually rewrite the server address, user ID, transport method, or security parameters during testing. Any mismatch can prevent the connection from being established.

Active server is selected

The list has a selected item, and the status area identifies the current configuration.

The client keeps running

It does not stop immediately after startup, and the connection button remains active.

The logs show a listener

The logs finish loading the configuration and begin accepting local requests.

A running client only confirms that the local process has started. You still need to verify that real application traffic is passing through the current connection. In the final step, compare the interface status, browser result, and logs together.

// STEP 04

Verify that it works: cross-check status, web pages, and logs

Do not verify a connection by checking only the button color or a single web page. A more reliable approach is to check three things together: the client remains running, the application under test uses the current proxy entry, and the logs show new records corresponding to the access attempt. When all three agree, the complete path from the application through the client to the server is working.

Check the client and system status first

On desktop, confirm that the active server still exists, the core is running, and the system proxy menu remains set to automatic configuration. If the browser was already open before the client started, open a new window or restart the browser completely so it rereads the system network settings. On Android, confirm that the connection button remains active, the system status bar still shows the connection indicator, and battery management has not stopped the client in the background.

Then make an observable web request

Open a browser and first visit a page that normally loads successfully to confirm that enabling the client has not broken basic access. Then visit the target page you need to test. Close other downloads and auto-refreshing pages where possible so new requests are easier to identify in the logs. If ordinary pages all fail, first check whether the system proxy points to a local port that is not running or whether the client stopped after startup.

Return to the client logs immediately after sending the web request. Normally, a new connection record appears at about the same time as the access attempt. If the browser reports an error but the logs contain nothing new, traffic usually did not enter the client; return to step two and check the system proxy or connection authorization. If the logs show the request followed by a timeout or closed connection, traffic did enter the client, so focus on the active server configuration, local network quality, or subscription status.

Handle failures in a fixed order

First, update the subscription once to make sure the configuration is not outdated. Second, stop the current connection, switch to another server in the same subscription, and restart. Third, restore the default routing to rule out custom rules affecting the test request. Fourth, temporarily exit other tools that modify the system proxy or local ports. Fifth, check the basic local network again. Change only one thing at a time and repeat the same web test after each change so you can identify what affected the result.

If the logs say that a port is already in use, close the program using that port or choose an available local port in the client settings, then restart. If subscription updates keep failing, return to the subscription settings and check the URL instead of continuing to change proxy modes. If the configuration starts but specific pages behave differently, routing rules or DNS settings may be involved. See the relevant entry in Troubleshooting; the System Guide explains routing and DNS principles in detail.

Verification results and what to check next
Observed result What it means Next step
Client running, page loads, and logs show a new request Application traffic has entered the client; the basic connection is working Keep the current settings and continue with everyday use
Client running, page fails, and logs show no new request Traffic has not entered the client Check the system proxy, connection authorization, and application proxy settings
Logs show a request followed by a timeout The local entry is working, but the remote path is incomplete Update the subscription and test another server
Stops immediately after startup The client did not finish loading the configuration or establishing a local listener Check the first error before the stop and resolve any port conflict

// DAILY USE

Everyday use: keep updates and switching in a simple order

Update the subscription before switching servers

The server list should be updated regularly from the subscription source. Stop the current connection before updating, confirm that the list has refreshed, then select an active server and restart. If an old configuration disappears after the update, the subscription content has usually changed; do not continue relying on a leftover local entry.

Change one setting at a time

Routing mode, DNS, local ports, and startup behavior can all affect the final result. When the connection works, record the current settings first, then adjust them one by one and repeat the verification. Changing several options at once makes it difficult to connect log changes to a specific cause.

Recheck the status after switching networks

When the device moves from one network to another, the existing connection may need to be re-established. Stop and restart the client, then check whether request records return to the logs. Do not immediately assume that a brief interruption caused by the network change means the subscription has expired.

Use the System Guide for advanced configuration

Once the basic workflow is stable, learn about custom routing, domain and ip matching, geosite rules, TUN, and everyday maintenance. The System Guide brings the concepts and configuration relationships together, while this page focuses on the steps needed to get started in ten minutes.

// NEXT REFERENCE

Need more troubleshooting or advanced configuration?

For interface errors, empty subscriptions, and dropped connections, visit Troubleshooting. For traffic splitting, TUN, and maintenance, continue with the System Guide.