QUICK SETUP / GETTING STARTED

v2rayNG and v2rayN Setup Guide

Import a subscription → choose a proxy mode → connect → verify. Get one connection working before changing advanced settings; troubleshoot one thing at a time.

Before you begin, download the appropriate client for your operating system and get a valid subscription URL from your service provider. The client is a tool for configuring and connecting; installing it does not provide a server. You’ll need a working subscription or a single configuration to connect.

Treat your subscription URL like a password. Don’t post it in public comments, include it in shared screenshots, or paste it into an online conversion tool you haven’t vetted. Check that your device has the correct date and time and can access the subscription service. Keep the default settings for your first setup; changing DNS, transport options, and routing all at once makes it harder to pinpoint problems.

STEP 01 / SUBSCRIPTION

Import a Subscription: Save the URL and Update the List

First, identify what you have. A subscription URL is usually a web address starting with https://. The client fetches the server list from this URL. Links beginning with vmess:// or vless:// are usually share links that describe a single configuration. They use different import options. Don’t paste them into the same field just because both look like links, and don’t use your provider’s login page URL as a subscription URL.

v2rayN: Add a Group in Subscription Group Settings

Open the main window, select Subscription groups from the top menu, then choose Subscription group settings and click Add. Enter a recognizable name in the remarks field and paste the subscription URL into the address field. Check for leading or trailing spaces and line breaks, make sure the URL is complete, and save. The remark is just a label; it doesn’t affect authentication. Don’t change URL parameters to make the label look better.

Return to the main window and select Update subscription from the Subscription groups menu. If you don’t have a working connection yet, start with an update option that says Without proxy so the request uses your regular network connection. Depending on the version, you may be able to update the current group or all groups. For your first update, choose the group you just added. When the update finishes, select that group and confirm that it contains server entries, not just the group name.

v2rayNG: Add a Subscription from the Side Menu

Open the side menu in the top-left corner and select Subscription group settings. Tap the add button in the top-right corner. Enter a remark and subscription URL, save, then return to the main screen and select Update subscription from the top-right menu. If the update menu offers options to use or bypass the proxy, try bypassing the proxy first. Wait for the update to finish and confirm that configurations appear in the list before continuing. Saving the URL alone doesn’t import the configurations.

For a single share link, copy the entire link first. In v2rayN, select Import share links from clipboard from the Servers menu. In v2rayNG, select Import from clipboard from the top-right menu on the main screen. After importing, check that the remark, server address, and port are present. Share links don’t update automatically like subscriptions, so you’ll need to import them again or edit them manually if the server details change.

The configuration is now in the client, but browser traffic may not be reaching it yet. Next, set up the traffic entry point and routing. These are separate settings.

STEP 02 / PROXY & ROUTING

Choose a Proxy Mode: Set the Entry Point and Routing Separately

System proxy and global routing are not the same setting. The system proxy tells apps that follow system settings to send requests to the client. Routing rules decide whether requests received by the client go through a proxy, connect directly, or use another outbound. Choosing global routing without directing apps to the client may leave their traffic untouched. Conversely, if the system proxy is enabled but a routing rule sends traffic direct, direct connections don’t necessarily mean the setup has failed.

v2rayN: Start by Testing a Browser with the System Proxy

Find System proxy at the bottom of the main window or in the system tray menu, then select Set system proxy automatically. This directs the system proxy to the client’s local listening address. Keep the client running and make sure browser extensions or built-in proxy settings aren’t overriding it. Not every app follows the system proxy, so use a regular browser for your first test—not an app with its own networking behavior.

Next, find the Routing option. For everyday use, start with the preset that bypasses mainland China; the exact label varies by version. This type of preset typically sends LAN and matching mainland China addresses direct while routing other requests through the proxy. To check whether routing is the problem, you can briefly switch to global proxy routing. Restore your original preset when the test is done; global routing isn’t the right choice for every situation.

v2rayNG: Check VPN Mode and the Routing Preset

Open Settings from the side menu and confirm that VPN mode is selected. This mode routes device traffic through the system VPN interface and is a good choice when you’re getting started. With a local-proxy-only mode, you’ll also have to configure other apps to use the proxy, adding more steps. Return to the routing settings and select the preset that bypasses LAN and mainland China addresses. The routing option may be in a separate menu in some versions.

If you’ve changed per-app routing, check whether the VPN includes only selected apps or excludes the browser you’re using to test. Make sure the test app can use the VPN. App-level routing works at a different layer from domain and IP rules: if an app’s traffic never enters the VPN, the routing rules can’t handle its requests.

What These Three Settings Do During Initial Setup
Setting What it controls What to check first
System proxy Routes traffic from apps that follow system settings through the local proxy Is v2rayN running? Is the browser using the system proxy?
VPN mode Routes device traffic through the system VPN interface Does v2rayNG have VPN permission? Is the app excluded?
Routing rules Choose the outbound route for requests that reach the client Does the test domain match a direct or proxy rule?

Leave Mux, DNS addresses, and sniffing settings unchanged for now. Don’t treat a setting from another guide as a universal fix: the right options depend on the transport, core, and server configuration. For details on TUN, DNS, and rule priority, see the cross-platform setup guide. For now, set the traffic entry point and everyday routing, then connect.

STEP 03 / CONNECT

Connect: Select an Active Server and Check Its Status

Return to the configuration list and choose a server with a valid subscription and complete settings. A region or name in the remark is just an identifier; it doesn’t guarantee the server is currently available. Client-side tests can help, but a missing response to one test request doesn’t prove that all real-world connections will fail. For your first connection, use a configuration your provider explicitly identifies as working. That way, you won’t have to troubleshoot the client while guessing whether the server is available.

v2rayN: Set an Active Server and Check That the Core Is Running

Right-click the server you want in the list and select Set as active server. Make sure the active indicator moves to that entry. Clicking a row may only select it in the table without changing the server in use. After switching, the client usually regenerates its runtime configuration and starts or reloads the core. Keep the client running in the main window or system tray, then make sure System proxy is still set to Set system proxy automatically.

Check the information or log area at the bottom of the window. Look for configuration parsing errors, a port conflict, or a core startup failure. These errors mean the request hasn’t reached the remote server yet, so switching servers may not help. If a port is already in use, close any other running proxy client and let v2rayN reload. Don’t edit temporary configuration files generated by the client; they may be overwritten the next time you switch servers.

This guide doesn’t enable TUN or require administrator privileges. The system proxy is enough to test a browser connection. If TUN is already enabled, make sure another network tool isn’t trying to handle the same traffic. If you’re not sure, use the system proxy steps in this guide to establish a baseline, then configure broader app access separately.

v2rayNG: Select a Configuration and Allow the VPN Request

Select the configuration you want on the main screen and make sure the selected indicator is next to the right entry. Then tap the Connect button in the bottom-right corner. The first time you connect, the system will ask to set up a VPN connection. Confirm the app is v2rayNG and allow the request. Without permission, the client can’t create a VPN interface—even if the configuration list looks fine. Updating the subscription won’t fix a permission issue.

After connecting, check the button and client status, and look for a VPN icon in the system status bar. The VPN icon only confirms that a local interface has been created; it doesn’t mean the connection to the remote server is working. If the client stops immediately, open the logs and find the first specific error. Later failures may just be repeated symptoms of the same problem. Before sharing logs, hide your subscription URL, user ID, and server credentials.

Usually, only one app at a time can use the device’s main VPN interface. If the system says another VPN is already connected, stop the app using it, then try connecting in v2rayNG again. If the connection works but often drops when the screen locks, check background activity and battery restrictions. Don’t start by disabling every power-saving setting; first confirm that browsing works while the app is in the foreground.

STEP 04 / VERIFY

Verify the Connection: Compare Real Traffic with the Logs

Open a new browser tab and visit a known-working HTTPS site. Make sure the page fully loads, not just its title. Choose a site you know and can recognize as working. Avoid unfamiliar test links for your first check. Don’t rely on a page that was already open; cached content can make a dropped connection look fine.

A page loading successfully isn’t enough by itself. Bypass routing sends some requests direct, so a working webpage doesn’t prove that proxy traffic is working. Open the client logs and check for a matching request when you visit a page. If the current log level doesn’t show every request, don’t assume blank logs mean traffic never reached the client. You can temporarily increase the log detail to help troubleshoot, then restore your usual setting to avoid keeping excessive browsing records.

If the logs show that a request reached the client, check which outbound it used. In many configurations, direct means a direct connection, but outbound labels are defined by the configuration, so the same label isn’t guaranteed across all clients. Check the routing rule against the destination address: a local network page going direct is expected, while a test site that should use the proxy is a better way to verify the proxy connection.

If a Site Won’t Load, Troubleshoot in This Order

Check the configuration first. Make sure the subscription updated successfully, the service hasn’t expired, and the active configuration is from the right group. If your provider recently changed the address, update the subscription and try again. Switching routing modes repeatedly won’t fix an expired configuration; routing can’t make invalid credentials valid.

Next, check the traffic entry point. On desktop, make sure v2rayN is running, another tool hasn’t changed the system proxy, and a separate browser proxy extension isn’t intercepting requests. On Android, confirm the VPN is still connected and the test app isn’t excluded by per-app settings. If the logs show a connection refused to a local loopback address, check the local listener and client process before looking at the remote server.

Finally, check routing and DNS. If requests reach the client but keep timing out, try a known-working configuration or briefly switch to global proxy routing to rule out routing rules. If the logs specifically show a DNS resolution error, check the DNS settings and network. Change one setting at a time and note its original value. Changing DNS, Mux, and routing together may produce a working setup you can’t explain—and will have to troubleshoot from scratch next time.

When You’re Done, Test Stopping and Reconnecting

In v2rayN, select Clear system proxy before exiting so apps that follow the system proxy don’t keep trying to connect to a stopped local port. To use it again, start the client, confirm the active server, and enable Set system proxy automatically. In v2rayNG, tap the connection button to stop the VPN, then reconnect and confirm that permission and access still work. This tests both startup and your usual shutdown process.

Once the connection is verified, you can note the group remark, active server remark, routing preset, and connection method. Don’t record or share credentials. If a problem comes up later, restore these known-working settings before testing new configurations one at a time. Subscription updates may change server names or their order, so check the active configuration again; there’s no need to reinstall the entire client.