About 10 minutes for the basic setup

V2Ray Setup Guide: From Subscription Import to Connection Verification

Prepare a subscription URL that is still valid, then complete four steps: import the subscription, choose a proxy mode, connect to a node, and verify the result. Each step explains where to click, what status to expect, and when to proceed.

01 Import subscription See the node list
02 Choose a mode Set the proxy scope
03 Connect to a node Confirm the core is running
04 Verify the result Complete the cross-check
Preflight checks

Prepare the client, subscription URL, and a stable network

Before you begin, confirm that the appropriate client is installed on the device. Use v2rayN on a desktop and v2rayNG on Android. If neither is installed, open the download center, choose the version for your operating system, install it, and complete the first launch. When v2rayN runs for the first time, the system may ask for network access; allow the network type currently in use before continuing. The first time v2rayNG connects, Android displays a system authorization dialog. Confirm it during step three.

Next, prepare a complete subscription URL. Select everything from the first character to the last when copying it; do not include explanatory text, a period, or spaces added by a chat app. The URL normally comes from your service provider, and this guide does not require editing it manually. If you are unsure whether the copy is complete, paste it into a plain-text editor to inspect both ends, then copy it again. Do not edit it character by character in the client field, since encoded characters can be deleted accidentally.

Finally, check the device time and network status. The system date, time zone, and current location should match, and the browser should be able to open ordinary web pages without a proxy. If the underlying network is unavailable, no node can establish a normal connection. Completing these three checks before importing the subscription separates client configuration issues from local network issues and makes later troubleshooting clearer.

Client Opens the main interface normally
Subscription URL Copied in full and still valid
Basic network Ordinary web pages load normally
Step one

Import the subscription and confirm the node list

A subscription gives the client a set of server configurations to manage. Step one is not complete just because the URL has been saved; after the update, actual node names must appear. You can choose a connection target only after the node list is visible.

Importing in v2rayN on desktop

Open the v2rayN main window, find “Subscription groups” in the top menu, and open “Subscription group settings.” Menu wording may vary slightly between versions, but every version provides a way to add a subscription. Click the add button, enter an easy-to-recognize name such as “Common subscription” in the remarks field, and paste the complete subscription URL into the address field. The remark is for local identification only and does not affect the connection. Check that the URL contains no extra spaces, then save and close the settings window.

Return to the main window, open the “Subscription groups” menu again, and choose Update all subscriptions or Update current subscription. When the update finishes, the main list should contain multiple nodes, typically with columns such as alias, address, port, and protocol. Do not rush to change transport parameters or edit subscription-generated nodes one by one. The provider maintains the subscription content, and manual changes may be overwritten by the next update.

If the list is still empty after updating, check the message at the bottom of the window or in the log area. For a parse error, copy the subscription URL again first. For a connection timeout, verify the basic network and try another update later. If the subscription is reported as empty, check its status. Repeatedly clicking Update will not fix an invalid URL; use the subscription-related categories in Troubleshooting to identify the specific error.

Importing in v2rayNG on Android

Open v2rayNG, tap the subscription group entry in the upper-left or top area, and open the subscription management page. Tap the add button in the top-right corner, enter a name in the remarks field, long-press the subscription URL field, paste the complete URL, and save. Back on the subscription list, select the group you just added, then use the top-right menu to update the subscription. After a successful update, return to the main screen and confirm that a set of selectable configurations is visible.

If the main screen still shows an empty list, first confirm that the correct subscription group is selected. When multiple groups exist, a new group may not become active automatically; select it on the subscription management page, then return and update it. If the update fails, follow the same order as on desktop: verify the URL is complete, check the network, and then confirm the subscription status.

Step two

Choose a proxy mode and routing scope

The node establishes the connection; the proxy mode determines which apps and requests the client handles. For a first setup, there is no need to change every advanced option. Clarify two things: whether the client should take over system traffic, and how routing rules separate direct connections from proxied traffic. Start with a standard mode to verify the basics, then explore TUN, custom rules, or per-process routing.

v2rayN: choose routing first, then enable the system proxy

In the v2rayN main window or tray menu, find the routing options. For an initial setup, choose a rule mode such as “Bypass LAN and mainland China addresses”: LAN devices and common mainland China addresses stay direct, while other matching traffic is sent through the current node. This makes basic verification easier and reduces the chance of rerouting local-device traffic. If the provider explicitly requires a specific routing rule, follow its instructions and select the corresponding group. Do not enable several custom rule sets at once.

Next, find “System proxy” in the tray menu or the main window’s status area, and choose automatic system proxy configuration or enable the system proxy. After it is enabled, the client usually shows the proxy status in the status bar. This switch mainly affects browsers and apps that follow the system network settings. Already-open apps may keep old connections, so close and reopen the test page after switching instead of merely refreshing it.

Keep TUN mode disabled for now. A system proxy is enough for the connection verification in this guide, and it keeps the troubleshooting scope smaller. If an app does not read the system proxy, or you later need to capture more types of traffic, read the TUN and routing chapters in the complete handbook. Adding TUN before the basic connection works introduces permission, DNS, and routing-table variables, making the fault harder to isolate.

v2rayNG: confirm the current configuration and per-app settings

On the v2rayNG main screen, tap a node to make it the current configuration. Keep the default routing settings for the initial setup. If custom routing or per-app proxying is already enabled and you did not configure it for this session, note the current state and temporarily restore the standard settings. Per-app proxying determines which apps use the connection; if the test browser is excluded, the client may show Connected while the webpage remains unchanged.

When checking the routing mode in Settings, make sure conflicting rules are not enabled together. If most local addresses should connect directly, choose a rule that bypasses LAN and mainland China addresses. If the subscription supplies its own rules, use the corresponding mode provided by the subscription or client. After choosing the mode, return to the main screen rather than staying in Settings, because the next step starts the connection there.

Desktop Routing mode + system proxy

Let apps that follow system settings use the proxy first; do not add advanced traffic capture yet.

Android Current node + routing scope

Confirm that per-app rules do not exclude the test app, then return to the main screen.

Step three

Select a node and start the connection

This stage checks two layers: the current node is selected, and the client core has started successfully. A selection mark beside a node only means that the configuration was chosen; it does not prove that the connection process is running normally. Watch the status bar, connection button, and log messages together.

v2rayN: set the active server and watch the logs

Select a node in the list and double-click it, or use the context menu to set it as the active server. The active node usually has a different background, icon, or status marker. You do not need to benchmark every node before connecting. Choose any working node from the subscription for the initial test; if it fails, try a second node for comparison.

After setting the node as the active server, check the status at the bottom of the window or the tray icon. v2rayN normally starts the corresponding core automatically; if it does not, use the menu to restart the service or reload the configuration. Under normal conditions, the log shows configuration loading and service startup, then remains running. If the same error repeats rapidly, stop changing settings and record its keywords. Switching several controls at once makes the cause difficult to identify.

Common startup blockers include a local port already being used, an unparseable configuration field, a significant device-time offset, or security software blocking network access. If a port is occupied, exit other similar network tools and restart v2rayN. If parsing fails for every subscription-generated node, update the subscription again. If only one node reports an error, test another node from the same subscription.

v2rayNG: tap Connect and complete system authorization

Confirm the current node name on the main screen, then tap the circular connection button at the bottom. On the first connection, Android displays a network connection authorization dialog; confirm it so the client can connect. After authorization, the button changes state and the system status area shows a connection indicator. Return to the v2rayNG main screen and confirm that the connection has started rather than leaving the button in its disconnected state.

If the client immediately returns to Disconnected after you tap the button, open the v2rayNG logs and inspect the last few lines. First make sure the selected node has not expired, then try another node from the same subscription. If several nodes fail at the same stage, check the subscription update, device time, and basic network first. If only one node fails, reinstalling the client is usually unnecessary; switch nodes and continue verifying.

Step four

Verify that it works with a webpage and connection records

Do not rely on a single page or treat a cached browser result as proof of a new connection. The most reliable approach is to open a new browser window, visit a target page whose behavior on the current network is clear, and watch for a new connection record in the client. Only matching webpage and client records confirm that the request actually used the current configuration.

Make a fresh web request first

Close the test page and reopen the browser, or use a new private window. Enter the target website address and wait for it to finish loading. v2rayN users should confirm that the browser follows system network settings; a browser with its own fixed proxy may bypass the system proxy just enabled. v2rayNG users should confirm that the test browser is not excluded by per-app rules. After the page loads, open a new link on it to avoid relying only on a locally cached page.

Then return to the client and check the connection or log area. v2rayN connection details should show a new request from the browser, while v2rayNG logs should contain a new connection record near the test time. A target domain with no recurring errors indicates that traffic has entered the client. If the webpage loads but the client shows no new record at all, the request may still be direct; recheck the system proxy, browser proxy, or per-app settings.

If the page does not load, recheck in a fixed order

First check the active node. Confirm that the selected node still has its selection marker, then test another node from the same subscription. Second check the proxy switch: v2rayN should still show the system proxy enabled, while v2rayNG should still show the connection as running. Third, update the subscription again to rule out changed node settings with an outdated local list. Fourth, check the device date, time, and time zone; after correcting them, fully exit and restart the client.

If the client log shows a connection timeout, compare with another node first. If multiple nodes time out, test on a different underlying network. For domain-resolution errors, restore the client’s default DNS settings and avoid using several unknown custom DNS sources at once. For a port conflict, exit other similar tools and restart the client. When an error message is long, keep the first core error that appeared and search for it by keyword in Troubleshooting; do not retry based only on the final-line prompt.

After verification, you can test the effect of disconnecting once: note a page that currently works, stop the client connection, and open a new page to observe the result; then reconnect and test again. This comparison helps confirm whether the browser truly follows the client’s state. Restore the connection afterward; there is no need to reinstall repeatedly or reimport the subscription.

The page makes a new request

Use a new window or page instead of relying only on cached content.

The client shows a record

A target domain or new connection entry appears near the test time.

Results change consistently with the connection state

After disconnecting and reconnecting, the test result changes with the client state.

Final checks

Adjust advanced settings only after all four checks pass

The basic setup is complete when all four conditions are met: the node list appears after a subscription update; the routing and proxy scope are clearly selected; the active node and client core remain running; and the new webpage request has a matching connection record in the client. If any condition fails, return to the relevant step instead of reinstalling everything.

In daily use, save the subscription URL once and update it as needed. When a node stops working, try another node before updating the subscription. If an app bypasses the proxy, check the system proxy or per-app rules first. If no nodes connect, then check the basic network, device time, and logs. Following this order helps avoid mistaking a node issue for a client installation problem.

When you need to configure TUN mode, custom routing, DNS, LAN sharing, or routine maintenance, read the relevant chapters in the complete handbook. For a specific error, use Troubleshooting to locate it by symptom. This page keeps to the basic flow and covers only the minimum setup needed for a first connection.

Download the V2Ray client