About 10 minutes for the basic setup

v2rayN Setup Guide: From Subscription Import to Connection Verification

This guide covers the four things that matter most when getting started: adding a subscription, choosing a proxy mode, selecting and connecting to a node, and confirming that traffic is being routed as expected. Each step includes the relevant entry point, the success state to look for, and the checks to complete before moving on.

4 steps Follow them in order to avoid overlapping troubleshooting
Desktop and Android Covers v2rayN and v2rayNG
Basic connectivity See the dedicated guides for advanced routing and troubleshooting

Before setup

Before you begin: check the client, subscription URL, and system time

Spend a minute confirming the basics before you start. This can prevent repeated configuration deletion and re-import later.

First, make sure the client matches your device. Use v2rayN on desktop devices and v2rayNG on Android. If you have not installed a client yet, choose one for your platform on the client page. After the first launch, avoid changing DNS, Mux, the Core type, or custom routes right away. The defaults are usually enough for a basic connection, while changing several options at once makes problems harder to diagnose.

Next, prepare a complete subscription URL. It usually starts with https:// and lets the client retrieve a set of node configurations maintained by the service provider. It is different from a single vmess:// or vless:// share link: a subscription can update an entire group of nodes, while a share link usually represents one node. If you only have a single share link, you can add it with “Import from clipboard,” but it will not automatically receive additions or changes from a subscription list. See the glossary for explanations of “subscription,” “node,” “VLESS,” and “VMess.”

Finally, check that the device date, time, and time zone are correct. Connection processes such as TLS and REALITY use time information, and a large clock error can look like a node timeout when the connection is actually rejected during the handshake. Enable automatic time synchronization and confirm the time zone before opening the client. Once ready, keep the subscription URL on your clipboard and proceed to the first step.

Step 01

Import the subscription and confirm the node list

The goal at this stage is not to connect immediately, but to save the subscription correctly and display its nodes in the client.

Add a subscription in v2rayN desktop

Open the v2rayN main window and find “Subscription Groups” or the subscription management entry. The menu location may vary slightly between versions: some place it under the top “Subscription Groups” menu, while others put it in the subscription section of the left navigation. In the management page, choose Add, give the subscription an identifiable name such as “Primary subscription,” and paste the complete URL you copied into the URL field. The name only distinguishes the group on this device; it does not change the server configuration.

After saving, return to the main window, open the subscription menu, and choose “Update all subscriptions,” or update the group you just created. When the update finishes, several node rows should appear in the main list, usually showing fields such as an alias, address, port, transport, or protocol. For now, simply confirm that the list is not empty; there is no need to guess which node is fastest from its name. Once the window shows an update-complete message and the list contains entries, continue to the next step.

Add a subscription in v2rayNG for Android

Open v2rayNG, open the top-right menu, and find “Subscription group settings” or a similarly named subscription management option. Tap Add, enter a label, and paste the subscription URL. Save it and return to the main screen. Open the menu again and update the subscription. Keep the network available during the update. When it finishes, node entries should appear on the main screen; the selected item is usually indicated by highlighting, a check mark, or a separate current-configuration area.

If pasting the URL produces an invalid-address error, first check for spaces or line breaks at either end. Place the cursor at the end of the field and make sure punctuation from a chat app was not copied along with the URL. If saving succeeds but the list remains empty after updating, do not proceed to the connection step because the client has no usable configuration. Confirm that the subscription URL is still valid, then check the client log for an HTTP status, parsing error, or timeout. For a systematic subscription failure checklist, see the subscription section of the troubleshooting guide.

What you should see before continuing

  • The subscription group is saved in the client and remains visible when you reopen the management page.
  • After updating, the main list contains at least one selectable node.
  • The update does not remain stuck loading, and there is no clear format-parsing error.
Next: choose a proxy mode

Step 02

Choose a proxy mode and decide how traffic is handled

The node determines where traffic exits; the proxy mode determines which apps hand their traffic to the client. Confirm these separately.

Understand the system proxy state on desktop first

In v2rayN, start by finding the “System Proxy” menu. For the initial setup, choose “Auto-configure system proxy” or the equivalent option in your version. Once enabled, v2rayN points the system proxy to a local listening port, so browsers and apps that follow system proxy settings send requests to the client. The taskbar or window status area usually indicates that the system proxy is enabled, and the active menu item is marked as selected.

“Clear system proxy” removes the system proxy set by the client and is useful when stopping the client to restore the network environment. “Do not change system proxy” leaves v2rayN's local proxy port running without actively modifying the operating system settings, which is generally for apps configured with a manual proxy or systems managed by another network tool. For a first setup, the third option is not recommended: the node may be running while the browser sends no traffic to v2rayN, making it look like the connection failed.

The system proxy and routing rules operate at different layers. The system proxy sends app traffic into the client; routing rules decide whether requests inside the client use a proxy outbound, a direct outbound, or a blocked outbound. Keep the default routing rules for the initial setup. After basic connectivity is verified, learn about domain routing, IP rules, and DNS policies as needed. See the routing and split-tunneling section of the glossary, or the system proxy not working section for a complete troubleshooting process.

Confirm connection authorization on Android

v2rayNG works differently on mobile: after you tap Connect, it uses Android's VPN interface to handle app traffic. The first connection usually triggers a system connection request; after you approve it, a system connection indicator appears in the status bar. This authorization only allows v2rayNG to create a local traffic tunnel; it does not mean the remote node is usable, so continue through the third step and watch the client status.

If v2rayNG offers an “App proxy” setting, leave it off during the initial setup so normal apps use the same connection path. Per-app rules are better configured after the basic connection is stable; otherwise, the browser may work while the target app bypasses the proxy. Keep the default routing mode as well, and do not change predefined rules, DNS, FakeDNS, and bypass lists at the same time.

What you should see before continuing

  • The v2rayN System Proxy menu has a clearly selected option rather than “Do not change system proxy.”
  • v2rayNG is ready to show the system authorization request on the first connection.
  • No multiple advanced options were changed at once; the default routing and DNS settings remain in place.
Next: select a node and connect

Step 03

Set an active node and start the connection

This step requires confirming both which configuration is selected and whether the client core is running. Highlighting a node alone does not complete the connection.

Choose a node for the first test

Return to the node list and choose a node with a clear name and complete configuration. In v2rayN, double-click the node or use the context menu to set it as the active server; the status bar at the bottom usually shows its name afterward. Some versions use a different row color, a check mark, or a marker at the start of the row. In v2rayNG, tap a node entry to make it the current configuration; the selected name appears on the main screen.

There is no need to run repeated latency tests for the first connection. A latency figure reflects only a particular probe and cannot fully represent webpage loading, DNS resolution, or sustained transfer performance. If the subscription provider gives clear guidance on node usage, follow it. Otherwise, choose any node with a normal status and complete the process. Step four will verify actual usability through real requests.

Start the core and watch the status

On desktop, Core usually starts automatically after the active node is selected and the system proxy is enabled. If your version has a separate start button, click it. In the bottom status bar or log area, look for messages showing Core startup and the creation of a local listening port. A healthy state should not repeatedly show configuration parsing failures, port conflicts, handshake failures, or process exits. An occasional retry does not necessarily mean the service is unusable; what matters is whether subsequent requests can connect.

In v2rayNG, tap the Connect button on the main screen. The first connection displays a system authorization dialog; approve it and return to the client. The button should change from disconnected to connected, and a connection indicator should appear in the system status area. If it immediately returns to disconnected, open the log and inspect the latest error instead of tapping repeatedly. Common causes include incomplete node fields, an incorrect system clock, a temporarily unreachable remote endpoint, or a network that cannot establish the required connection.

If the log says a local port is already in use, first exit other clients that may be using the same proxy port, then restart v2rayN. Do not change several ports to new values at random: the system proxy, browser manual proxy, and client listening port must agree. If the log points to certificate, SNI, or REALITY parameters, first try another node from the same subscription to narrow down the issue. Check the system environment or subscription configuration only when all nodes show the same error.

What you should see before continuing

  • The client interface clearly shows the name of the active node.
  • v2rayN Core is running, or v2rayNG shows a connected status.
  • The log is not continuously repeating the same fatal error, and the process does not exit immediately after repeated restarts.
Next: verify that the proxy is working

Step 04

Verify traffic, DNS, and app access

Start verification with a simple request, then check the target app. This helps distinguish client connection issues from problems specific to a website or app.

Start with a new browser connection

After enabling the proxy, close existing test tabs, open a new window, and visit a stable HTTPS page. The browser may reuse a connection established before the proxy was enabled, so refreshing an old page may not accurately reflect the current proxy state. Once the page loads normally, visit the target page that should use the current node and check that it continues to load rather than displaying only cached content.

If neither ordinary pages nor the target page can be reached, do not change protocol parameters yet. On desktop, return to v2rayN and check that the system proxy is still enabled, the active node has not changed, and Core is still running. On Android, check that v2rayNG remains connected and that the target app is not excluded by per-app rules. Then inspect the latest log to see whether requests are entering the client. No new requests in the log usually means traffic is not reaching the client; requests that consistently time out point more toward a node or network-path problem.

Separate DNS problems from node problems

A common pattern is that some sites open while others fail to resolve, or a page remains stuck on “Looking up address” for a long time. Separate DNS resolution from proxy connectivity when this happens. First switch to another node in the same subscription. If every node fails only for domain-based access while direct IP requests still receive responses in the log, inspect the client's DNS settings and system cache. During the initial setup, do not enable FakeDNS, custom remote DNS, and complex domain rules together; restore the default DNS behavior and complete the basic verification first.

Another pattern is that the browser works but a particular desktop app does not. The app may ignore system proxy settings, or it may have kept a long-lived connection from before the client started. Fully quit and reopen the target app. If it still does not work, check whether it has its own proxy settings, or learn about transparent proxy and TUN-style traffic handling. This lightweight guide does not cover complex interception setups; see the troubleshooting guide for the recommended diagnostic order.

Use a disconnect test to confirm the setup boundary

After a successful positive check, perform a brief reverse check: note the current access state, temporarily clear the system proxy or disconnect v2rayNG, open a new browser connection, and observe the change before enabling it again. This helps confirm that test traffic is actually passing through the client rather than coming from an old cache, an existing connection, or another network setting. Restore the connection when finished; there is no need to delete the subscription or nodes.

Your setup is complete when

  • A new browser connection loads the test page reliably.
  • The client log shows new requests corresponding to the test time without persistent timeouts.
  • Access changes as expected when the proxy is disabled and enabled again.
  • After restarting the target app, it establishes a new connection according to the current proxy mode.
Continue: basic settings after setup

After setup

Three basic habits after connecting

Keeping the configuration maintainable matters more than changing every option at once. The following three habits cover everyday use.

Subscription updates

Keep the current working node before updating

When the subscription list changes, run a normal update first instead of deleting the existing group. Afterward, confirm that the current node still exists; if it was removed, choose one from the new list. Repeatedly deleting and rebuilding subscriptions loses group notes and makes problems harder to reproduce.

Stop using the client

Clear the system proxy before exiting on desktop

In v2rayN, choose “Clear system proxy” before ending the process. This prevents the system from continuing to point to a local port that is no longer listening. In v2rayNG, tap Disconnect first, confirm that the system connection indicator disappears, and then exit the client.

Change settings

Change one variable at a time

When testing routing, DNS, Mux, or another option, change only one item at a time and verify the result immediately. If access breaks, you can restore the previous step without guessing which of several settings changed the connection behavior.

Terminology

Understand protocols, cores, subscriptions, and split tunneling

See concise definitions of common concepts including VLESS, VMess, REALITY, Xray, V2Fly, routing rules, and DNS.

Open the glossary
System troubleshooting

Diagnose connection failures by symptom

No internet access, node timeouts, subscription failures, unusual speeds, DNS problems, and a system proxy that does not work can each be checked with a dedicated process.

View troubleshooting

Quick answers

Common questions during initial setup

Why is the node list still empty after a successful subscription update?

First confirm that you updated the group you just added rather than another empty group. Then check for spaces around the subscription URL, verify that the URL is complete, and look for a format-parsing error in the log. If the returned content itself contains no recognizable nodes, contact the subscription provider to confirm its current contents.

Why does the browser show no change while v2rayN says it is running?

First check that “Auto-configure system proxy” is selected, then open a new browser window so an old connection is not reused. If the log contains no corresponding requests, browser traffic has not entered v2rayN. If requests appear but time out, check the node and network path.

Does a failed node latency test mean the node cannot be used?

Not necessarily. A latency probe is not exactly the same request as a real protocol connection, and some nodes do not respond to a particular test. Set the node as the active configuration, connect, and judge it using a real HTTPS page and the client log.

Do DNS and routing need to be changed immediately after basic connectivity works?

No. If the defaults meet your current needs, leave them unchanged. Only adjust an option when there is a clear need involving domain resolution, app split tunneling, or the access path, and verify the result after each change.