QUICK CONFIGURATION

V2Ray Setup Guide: From Subscription Import to Connection Verification

This guide walks through one complete setup: add the subscription to the client, choose a proxy mode, connect to an active node, then verify the result in the browser and runtime logs. Under normal conditions, all four steps take about 10 minutes.

01
Subscription Add the configuration source
02
Mode Define the traffic scope
03
Connection Enable the active node
04
Verification Check pages and logs
Closed-Loop Check

BEFORE START / 00

Before You Begin: Check the Client, Subscription URL, and Current Network

First, confirm that the client is installed and opens normally. Use v2rayN on desktop and v2rayNG on Android; if neither is installed yet, choose your platform on the installation packages page. If the system asks for permission to access the network on first launch, allow the client to establish a local network connection. Otherwise, even a correct node configuration may not receive system traffic.

This guide assumes that you already have a working subscription URL. A subscription URL is not an ordinary web address; it provides node configurations and group information to the client. When copying it, select everything from start to finish and do not include quotation marks, periods, line breaks, or explanatory text from a chat app. If the service provider offers a QR code, a single-node link, and a subscription URL, use the subscription URL here because the same subscription group can be updated later.

Before configuring the client, make sure the current network can open common websites normally, and temporarily close other clients that modify the system proxy. This creates a clear baseline: the network works before import, so any change after connection can be narrowed down to the current client, node, or proxy mode instead of several network tools at once.

CLIENT Client launches successfully

The main window, settings page, and node list open normally.

SUBSCRIPTION URL copied in full

Keep the complete address free of explanatory text and extra spaces.

NETWORK Basic network is working

Before connecting, confirm that ordinary web access is available for comparison.

SUBSCRIPTION LAYER

Import a Subscription: Create the Group, Then Update the Node List

After opening v2rayN, find “Subscription Groups,” “Subscription Settings,” or a similarly named option. It is commonly located in the subscription menu at the top of the main window, but may also appear in the left navigation. On the management page, add a new group, enter an easy-to-recognize name such as “Everyday Setup” in the notes field, and paste the complete subscription URL into the address field. The note is only for local identification and does not change the subscription; the URL determines where the nodes come from.

After saving, return to the main window, open the subscription menu again, and choose “Update Subscription” or “Update All Subscriptions.” When the update finishes, the main list should contain several node entries, usually showing an alias, protocol type, or server details. Do not connect yet; first confirm that the list actually changed. If it is still empty, reopen the subscription group, check for extra spaces at the beginning, end, or middle of the URL, and confirm that the new group is enabled.

In v2rayNG, open subscription group settings from the side menu, tap the add button, enter the group name and subscription URL, and save. Return to the node list and use the top-right menu to update the subscription. Once complete, the empty page should change to a selectable node list. If there are multiple groups, confirm in the group selector that the newly added group is displayed. Some versions refresh automatically; others require returning to the list or pulling down to refresh once.

Subscription import only converts a remote configuration into node entries the client can read; it does not start the connection. Seeing the node list means the first layer is complete. Next, decide which traffic the client should handle. If fields such as protocol, transport, TLS, VMess, or VLESS are unfamiliar, consult the terminology handbook. You do not need to edit them individually for this basic setup.

Action path Subscription Settings → Add Group → Paste URL → Save → Update Subscription

What Completion Looks Like

Completion is not a “saved successfully” message; it is a selectable node list whose subscription group name matches the note you entered. If the update fails, the list is empty, or it contains only one unrecognizable text entry, do not proceed to connection. Copy the URL again and update once more. If the failure continues, open the subscription section of the troubleshooting handbook and investigate the response, update path, and version compatibility.

ROUTING LAYER

Choose a Proxy Mode: Decide Which Traffic Enters the Client

Once the nodes appear, configure the proxy mode. Clients usually separate “node connection” from “whether system traffic uses the node”: the first starts the local proxy port, while the second determines whether browsers and other programs use it. Selecting a node without enabling the relevant system proxy may leave the client running while browser traffic continues along its original network path.

For a first setup, start with rule mode. It routes traffic according to built-in or subscription-provided rules and is a practical way to verify the basic configuration. Global mode sends more traffic through the current node, which helps rule out routing matches, but it should not be the first response to every troubleshooting case. Direct mode is mainly useful for restoring ordinary networking or checking whether the problem is in the proxy path. These modes control traffic distribution; they cannot repair an unavailable node or an invalid subscription.

On the v2rayN desktop client, find the system proxy settings and switch them to “Automatically configure system proxy,” or the equivalent option in your version. Then open the routing mode settings and choose rule mode. The system tray context menu can usually change both settings as well. After switching, check that the current menu item has a selection mark rather than judging only by whether a button was clicked. Enterprise devices or policy-managed systems may prevent proxy settings from being written; during verification, this appears as client logs with no browser-side change.

In v2rayNG, routing mode is usually under routing settings in the settings page or side menu. Choose rule mode and return to the node list. The Android connection button creates a system-level network connection, and Android may show a confirmation dialog on startup; confirm it, then look for the corresponding connection indicator in the status bar. You do not need to enter a local port manually, and it is best not to change DNS, per-app proxy settings, or custom routes during the first setup, since multiple changes make diagnosis harder.

Mode Primary use Role in this guide
Rule mode Distribute traffic by routing rules Starting point for the first setup
Global mode Send more traffic through the current node Compare the effect of routing rules
Direct mode Restore the original network path Baseline comparison

CONNECTION LAYER

Connect to a Node: Set the Active Configuration and Watch the Runtime State

Return to the node list and select a node with a clear name and complete configuration. For the first verification, do not switch rapidly between several nodes; each switch may start a new connection process and mix the log entries. After choosing one, set it as the active server. In v2rayN, this commonly means double-clicking the node, pressing Enter, or choosing “Set as Active Server” from the context menu. The selected row usually changes color, icon, or highlight, and the bottom of the window shows the current server name.

After confirming the active node, start the client service and make sure the system proxy still has the setting chosen in the previous step. The v2rayN status bar or log area should begin recording startup events, and the local listening port should be created. If the client is already running, switching the active node usually reloads the configuration. Wait a few seconds before testing a page so the old connection can close and the new one can be established. Keep the main window open for now; you can minimize it to the system tray and check the logs immediately if verification fails.

In the v2rayNG node list, tap the target node to make it current, then tap the connection button at the bottom of the page. If Android asks for connection permission for the first time, read the prompt and confirm it. The button should change from standby to running, and the top or status area should show the current node name. If it quickly returns to standby, the startup did not persist; open the logs immediately and inspect the latest error instead of repeatedly tapping the connection button.

You do not need to understand every line of the post-connection log; start by looking at its structure. A normal startup usually loads the configuration, creates a local entry point, and then records new connections when the browser sends requests. If the log stops during configuration loading, the issue is more likely in a node field or client version. If startup succeeds but every request times out, node reachability or the current network is more likely. When the terminology is unfamiliar, use the terminology handbook to understand the relationship between inbound, outbound, routing, and transport layers.

ACTIVE NODE

Active node confirmed

Only one current configuration is selected in the list, and its name is visible in the status area, so there is no ambiguity about which configuration is being tested.

LOCAL SERVICE

Local service started

The running state remains active, the log finishes loading the configuration, and new connection records appear after browser requests.

This step is complete when the node is active, the client remains running, and the system traffic entry point is enabled—not merely when a node name is visible. Confirm all three before testing to distinguish “not started” from “started but unable to connect.”

VERIFICATION LAYER

Verify the Connection: Cross-Check Pages, Traffic Status, and Logs

Keep the client running, fully close the browser page used for the initial test, then open a new window and visit a website that normally loads reliably. Reopening the page reduces interference from old connections, cached content, and existing sessions. Successful loading is only the first check. Also watch the client: if traffic counters change and the logs show new entries matching the visit time, the browser request has entered the client.

Next, visit the test page recommended by the subscription provider and observe the result. Do not draw a conclusion from one page alone, since website outages, browser extensions, or cached content can affect what you see. A more reliable approach is to test two different pages and match the client log timestamps with the click times. If both pages open, corresponding connection records appear, and the runtime state remains stable, the basic setup can be considered active.

If ordinary websites open but the target page does not, leave the current node unchanged and temporarily switch from rule mode to global mode before testing again. If it works in global mode, the node itself is functional and the issue is more likely related to routing rules. If it still fails globally, return to the node, subscription, or current network. After testing, switch back to rule mode if that suits your normal use so a temporary diagnostic state is not mistaken for the final configuration.

If the browser behaves exactly the same before and after switching modes and the client logs show no new connection records, focus on the system proxy or system connection permission. On desktop, reopen the system proxy menu and confirm that automatic configuration is genuinely enabled. On Android, confirm that the connection button still shows a running state. If the logs show requests that all time out, change only one other node from the same subscription for comparison. If that works, the previous node is likely unavailable at the moment; if all nodes behave the same, investigate the subscription update, network environment, or client settings.

A
Web result

Several test pages in a new window open reliably.

B
Client status

The connection remains active, and traffic status changes as pages load.

C
Log match

The page access time corresponds to the new connection records.

QUICK REVIEW

When Results Disagree, Trace the Chain in Order

Do not change several options at once. Check the chain in order—“subscription—mode—node—system traffic—logs”—and change only one condition at a time.

CASE / 01

The List Is Empty After a Subscription Update

Reopen the subscription group, check that the URL is complete and the group is enabled, then update it again. If the client reports a parsing error, copy the original URL again instead of rewriting any characters manually. If the URL is valid but still cannot be parsed, check whether the client needs an update.

CASE / 02

The Client Is Running, but the Browser Does Not Change

First verify the system proxy or system connection permission instead of repeatedly switching nodes. If the logs contain no browser requests, traffic most likely has not entered the client. Only when requests appear in the logs but consistently time out should you investigate the node and network.

CASE / 03

Rule Mode Fails, but Global Mode Works

This comparison usually points to a routing-rule issue. Switch back to rule mode, then confirm whether the client is using its default rules or rules supplied by the subscription. For detailed configuration involving domain matching, outbound tags, and DNS policies, continue in the troubleshooting handbook.

CASE / 04

The Connection Stops Immediately After Starting

Open the logs and inspect the last few lines to distinguish a configuration-loading error, a port conflict, or a failed node connection. Do not keep clicking the start button and overwrite the original record. Note the stage at which the error occurred, then follow the corresponding section; this is faster than trying switches one by one.

DEEPER DIAGNOSIS

Systematic Troubleshooting Beyond the Basic Connection

Issues such as node timeouts, subscription parsing, DNS, system proxy settings, and client crashes are organized by symptom in the troubleshooting handbook. This page keeps to the four-step quick-start path and does not cover complex rules or low-level parameters.