Subscription → Mode → Connect → Verify

v2rayN Setup Guide

With your subscription URL ready, follow four steps to complete the initial setup. Get one connection working before changing routing rules or advanced settings. The basic setup usually takes about 10 minutes.

Before you start: install the app and get a subscription URL

First, choose the right installer for your operating system on the client downloads page. Use v2rayN on desktop. On Android, start with the v2rayNG download guide. After launching the app, make sure the main window appears and the settings menu opens before continuing. If you're using the desktop archive, extract all its contents to a permanent folder first. Don't run the app from the archive preview or move only the main executable.

The client manages your configuration and connects to servers; installing it doesn't automatically give you access to a remote server. Before continuing, you'll need a subscription URL you’re authorized to use or valid node share details. This guide focuses on subscription URLs. If you only have a single node link, use the client's import-from-clipboard option, but note that this won't create a subscription group that can be updated automatically.

Make sure your device has a working internet connection and the system clock is accurate. During initial setup, pause any other proxy or VPN apps that are routing traffic to avoid conflicts. You don't need to edit JSON or adjust DNS, transport, or core settings yet. Keeping the defaults makes problems easier to diagnose.

Step 1: Import a subscription

v2rayN: Add a group and update it

In the main window, open the Subscription Group menu, choose Subscription Group Settings, and add a group. Enter a recognizable name in the Alias field, such as “Daily use,” then paste the full subscription URL into the Optional address field. The alias is just a local label; it doesn't affect the connection. The URL is where the client retrieves its configuration. Make sure the URL hasn't been cut off at either end and doesn't include extra text, spaces, or line breaks.

If there's an Enable updates option, leave it on. For the initial setup, keep the default automatic update interval. Click OK to save, then return to the main window. Saving the URL alone may not add nodes to the list; use the Subscription Group menu to update it. Before a proxy connection is available, the first update usually shouldn't go through a proxy. If your provider specifically requires an existing proxy, choose the corresponding update option.

When the update finishes, check whether nodes from the group appear in the list. Select the new group, confirm that it contains at least one configuration, and review the update status. If names, protocols, and server details are visible, the configuration was parsed; that doesn't mean the connection is working yet. Confirm the import succeeded before configuring proxy mode, so you can distinguish subscription problems from connection problems.

Import a subscription in v2rayNG: save, then refresh

On Android, open the side menu and go to Subscription Groups or the equivalent group management screen. Tap the add option, enter a remark and subscription URL, save, and return to the home screen. Open the home menu and tap Update subscription. If you can choose a group, update only the one you just added. Wait for the update to finish; node cards or list entries should appear on the home screen. In some versions, the add option is under the plus icon at the top. The goal is to save a subscription URL, not enter it in a single server's configuration form.

If the list is still empty after updating, first make sure you're viewing the right group, then check the update status. An expired URL, an unreachable source, or unparseable subscription data can all result in an empty list. Don't create multiple groups with the same URL or change server settings right away; check that the URL is complete and still valid first. To retry, update the existing group.

At this stage, the goal is to save a list of configurations you can choose from. Subscription updates reload the source, so nodes removed or renamed by the provider may also change in your client. Manual edits to subscription nodes may be overwritten by the next update. For advanced group management and configuration details, see the Complete Configuration Guide. For your first setup, just select a group.

Step 2: Choose a proxy mode

Once your nodes are imported, keep two separate questions in mind: how app traffic reaches the client, and how the client routes that traffic. System proxy or VPN mode handles the first; routing rules handle the second. Setting routing to Global doesn't automatically send traffic from every app through the proxy. Likewise, even with the system proxy enabled, requests matching direct-connection rules may bypass the remote server.

Desktop: Start with the system proxy

Find System Proxy in the v2rayN main window's status area, settings menu, or tray menu. For the initial setup, choose the option to enable the system proxy; some versions call it Set system proxy automatically. This points the system's supported proxy settings to the client's local listening endpoint, which most browsers can then use. Don't change the local port manually yet—the client and system settings need to use the same port.

Leave routing at its default settings for now. If the interface offers options such as Rule or Bypass LAN, start with the recommended default. Don't change routing, DNS, and transport settings all at once just to test the connection. Some apps don't use the system proxy, and command-line tools may have their own settings. If the browser works but another app doesn't, check that app's proxy settings before assuming the node is at fault.

v2rayN TUN mode: Enable it after the basic connection works

TUN mode routes traffic through a virtual network interface, which can help with apps that don't use the system proxy. It also involves permissions, routing, and DNS. Leave TUN off during initial setup and enable it only after the browser test succeeds, if you need it. That way, you can tell whether a problem comes from the node connection or the traffic-routing method instead of troubleshooting several settings at once.

If you enable TUN later, grant the permissions requested by the interface, then check local network access and DNS resolution again. Don't enable both the system proxy and TUN without understanding what each does. Also make sure no other VPN app is competing for the network connection. For advanced traffic interception and routing options, see the Complete Configuration Guide; this page covers only the basic connection.

Android: Check VPN mode and routing scope

In v2rayNG settings, make sure VPN mode is selected rather than a mode that only provides a local proxy port. VPN mode routes traffic from the selected apps through the client. Proxy-only mode requires other apps to connect to the local port and isn't the right starting point for this guide. Keep the default routing settings for now; don't enable per-app proxying or exclude large numbers of apps yet.

If you've configured per-app proxying before, make sure your browser is included in the routed apps. Whether the list means “proxy only selected apps” or “bypass selected apps” depends on the current option; a checkmark alone doesn't tell you which. When you're done, return to the home screen. Next, you'll select a node and start the connection.

Step 3: Select a node and connect

Choosing a V2Ray protocol: Use the complete subscription configuration

For your first connection, choose a node the provider identifies as usable; don't judge performance by its name alone. VMess, VLESS, Trojan, or Shadowsocks entries in a subscription already include the server and transport settings they need. The client must use the combination provided by the server. Changing the protocol in a dropdown doesn't convert a node, and you shouldn't remove unfamiliar TLS or transport options.

In v2rayN, select a node and use the right-click menu's Set as active server option, or the equivalent in your version, to make it the current connection. The main window usually shows an active marker or the current server name. A highlighted row doesn't necessarily mean the node is active. After selecting it, check the status area to confirm that it's the current server.

Next, enable the system proxy setting you chose in step 2 and check the status area for startup errors. Some desktop versions restart the core automatically when you change the active server, so you may not need a separate Connect button. Check the active configuration and core status; the fact that the window is open doesn't mean the connection is running. If the log says the local listening port is already in use, close duplicate clients or other programs using it, then start again.

v2rayNG: Select a node and grant VPN permission

On the v2rayNG home screen, tap the node you want and make sure its card or list entry shows a selection marker. Then tap the start button. The first time you start the connection, Android displays a VPN permission dialog. Confirm the app name and allow the connection. This is a system permission prompt, not a subscription sign-in page; you don't need to enter a subscription URL or account details.

After granting permission, return to the client and check whether the start button changes to Stop and a VPN icon appears in the status bar. These indicate that traffic routing has started, but don't prove the remote connection is working. If the button immediately returns to its previous state, check the startup messages in the log. If Android says another VPN is already running, disconnect that app and start this client again.

For the first test, keep the app in the foreground. If the connection works in the foreground but fails after the screen locks, check battery optimization or background restrictions separately; that's a different issue from the initial connection. On desktop, don't close the client before testing either—the local proxy endpoint requires it to keep running.

Step 4: Verify the connection

Open a new browser tab and visit a known-working HTTPS page. Wait for the content to load, and refresh or try another site if needed to rule out a cached page. Then check the client log or connection history for related requests. Page loads, requests reaching the client, and routing behaving as expected are three separate things to verify.

On desktop, first check whether your browser uses a proxy extension or its own proxy settings. An extension can override the system proxy and send the browser through a different endpoint. On Android, if per-app proxying is enabled, make sure the browser is within the selected routing scope. Don't treat the system proxy being enabled or a VPN icon appearing as proof that the connection works; those only show the setting or permission status. Actual requests are the test.

Testing V2Ray node speed: Probe results vs. real-world access

Use the client's latency or connection tests to help choose a node, but check what each test actually measures. A TCP probe usually only shows whether it can connect to a target port; it doesn't verify authentication, transport, or web access. A connection test checks more, but its result still depends on the test address, routing rules, and current network. One timeout doesn't mean every app is blocked; verify with a real web request first.

Likewise, a lower test result for one node doesn't guarantee faster downloads. Speed test results reflect the conditions at the time and aren't a reliability ranking. For your first setup, just confirm that one node can handle a real request. To compare nodes, test them one at a time on the same network using the same method; don't switch networks while comparing results.

Web pages won't load: Check each link in the chain

First, confirm the device still has a working internet connection and that the client has selected the right node without startup errors. Then check the proxy entry point: does the desktop browser use the system proxy, or is the Android browser within the VPN routing scope? If the entry point is correct but requests still fail, check the logs for authentication errors, connection timeouts, DNS failures, or certificate warnings. Change one thing at a time.

If every page fails, try another known-working node for comparison. If only one page fails, check the site itself and its routing before reinstalling the client. Don't disable certificate verification to get past a warning; check the system clock and the server name in the configuration instead. Before sharing logs, redact server addresses, user identifiers, and subscription credentials. Keep the error type and sequence of events.

To troubleshoot why the system proxy works in a browser but not in a terminal, see System proxy not working? Troubleshoot browsers and terminals separately. For inbound, outbound, DNS, or routing fields, see the Complete Configuration Guide. Avoid changing the entire configuration during basic testing.

Everyday use: Update or disconnect

Once the connection is verified, note which group, node, and proxy mode work. When you start the client later, make sure the active node is still available, then enable the appropriate proxy entry point. If a node stops working, update the existing subscription first and check whether the provider changed its configuration. Edit the group only if the URL itself has changed; you don't need to reimport the subscription or clear the list each time.

On desktop, clear the system proxy before closing the client. If you end the process while the system still points to the local proxy port, your browser may keep trying to connect to an endpoint that's no longer running. On Android, tap Stop and confirm the VPN connection has ended. If you used TUN, make sure traffic routing is disabled before switching to another network tool.

You've now imported a subscription, chosen a mode, connected to a node, and verified real-world access. Add per-app proxying, custom routing, or automatic updates only when you have a specific need. Use the step links at the top of this page to review the basics. To see how the configuration maps to inbounds, outbounds, and routing in the core, continue to the V2Ray Configuration Reference.