v2rayN Quick Start

Import a subscription → Choose a proxy mode → Connect → Verify it works

Get one connection working before changing advanced settings. This guide follows a roughly 10-minute setup: prepare a working subscription URL, import nodes, choose how traffic is routed, then confirm the result with a real request. The time required depends on your installation and the subscription server’s response. If an error occurs, fix that step before changing anything else.

Before you begin

Choose an installer for your operating system and processor architecture from the client downloads page, install it, and open the client. This guide starts at the main screen and does not require you to write a core configuration by hand. The server list may be empty on first launch; that is normal before importing a configuration. An empty list does not mean installation failed, and it says nothing about whether your network is working.

Your subscription URL must come from your service provider; the client cannot create a server you can connect to. Make sure you have a subscription link, not an account sign-in page, order page, or text copied from a screenshot. The link may contain access credentials, so protect it like account information. Don’t post it in public comments or include it in screenshots or shared logs. The https://example.com/sub?token=xxxx address in this guide is only an example and cannot be used to update a subscription.

After installation, keep the default listening port and basic DNS settings. If another proxy client is running on your computer, stop its traffic interception first to prevent both programs from changing the system proxy. Note your existing network settings, especially any fixed proxy configuration used for work, so you can distinguish the client’s changes from settings that were already in place when restoring your network later.

Prepare v2rayNG on Android

Open v2rayNG and make sure you can access the configuration list and top-right menu. Android uses system VPN permission to route traffic; the prompt usually appears when you first connect, so there’s no need to look for a permission button before importing a subscription. If another VPN is connected on the device, disconnect it before testing. In most cases, two VPNs cannot route traffic for the same user at the same time.

① Import a subscription

In v2rayN, open the Subscription Group menu on the main screen, go to Subscription Group Settings, and add a group. Enter a recognizable label, such as “Daily subscription,” then paste the full subscription URL into the address field. Check that the URL’s scheme is intact, the ending parameters are present, and there are no extra spaces or line breaks. The label is for your reference only; the URL determines what the client requests when it updates.

For the first setup, leave server filters blank so the client can show the full list returned by the subscription. If the group settings include an Enable Updates option, make sure it’s enabled, then save the group. Saving stores the URL but does not fetch any nodes. Return to the main screen, open the subscription menu, and update the group you just added. Some versions also offer Update All Subscriptions; with only one group, that option works too.

Check the client’s status area or logs. After a successful update, the server list should show node details such as labels, protocols, and addresses, and let you view nodes by group. Make sure the list belongs to the group you just added so you don’t mistake old nodes for the new subscription. If the update finishes but the list is still empty, check whether another group is selected or a search filter is active, then check whether the returned content is in a format the client supports.

If there are separate options to update through or without a proxy, try updating without a proxy first—you don’t have a working node yet. Updating through a proxy requires an existing, working connection; it cannot solve the initial import on its own. For timeouts, access-denied errors, or parsing failures, check the subscription URL, its validity, and your network status. Don’t keep adding duplicate groups and hoping for a different result; it only makes troubleshooting harder.

Import a subscription in v2rayNG

In v2rayNG, open Subscription Group Settings from the top-right menu, tap Add, enter a label and URL, then save. Return to the configuration list, open the menu, and choose Update subscriptions. Adding a group and updating subscriptions are separate steps: if you only save the URL, the main list may remain empty. Once node cards appear, check the group name and node label before choosing a mode.

If you have a link for a single node, use the client’s Import from clipboard option instead of pasting it into the subscription URL field. A share link and a subscription link are different: the former usually represents one connection configuration, while the latter fetches a set of configurations. If you’re unsure, see the glossary for explanations of subscriptions and nodes. For subscription update errors, follow the steps in Troubleshooting subscription update failures.

② Choose a proxy mode

On desktop, distinguish two settings: the system proxy determines which apps send requests to the client, while the routing mode determines which outbound route those requests use. They solve different problems. Selecting a routing mode without configuring the system proxy may leave a regular browser connecting directly. Setting the system proxy while choosing a direct route may also keep requests from using a remote node.

In v2rayN, open the system proxy menu on the main screen or use the status bar option, then choose Set system proxy automatically or an equivalent setting. Check the status bar to confirm the system proxy status has changed. For your first test, use a browser that follows system proxy settings. Avoid tools with their own proxy settings and don’t enable a separate browser proxy extension. Fewer variables make it easier to tell whether the client is working.

Next, open the routing options and start with a common built-in preset, such as “Bypass mainland China” or a rule set with the same purpose. It routes traffic directly or through the proxy according to its rules, making it a good starting point for everyday use. Preset names may vary between versions, so read the description before choosing one. In routing settings, “Global” usually means all traffic that reaches the client uses the proxy outbound route; it does not mean every desktop app is being intercepted.

You don’t need to enable TUN for your first test. The system proxy is enough to check browser requests. TUN requires additional setup for permissions, a virtual network interface, and DNS, so it’s better to learn about it after a basic connection works. Some programs ignore system proxy settings, so a browser can work while another program still connects directly. Complete these four steps first, then see the TUN mode guide to decide whether you need broader traffic interception.

Traffic interception and routing on Android

When v2rayNG starts, it uses the system VPN to route traffic; there’s no desktop-style Set system proxy automatically option to configure. For your first test, keep the default settings and choose a common routing preset. If you’ve configured per-app proxy settings, check that your test browser isn’t excluded. Excluded apps won’t use this VPN configuration, so their results may differ from other apps.

Once you’ve chosen a route, leave DNS, transport, and protocol settings unchanged. Nodes imported from a subscription usually include the connection details they need; changing them can make the client and server settings incompatible. Rule order, domain matching, and custom outbounds are advanced topics. After confirming a basic connection, see the advanced configuration guide. For now, just check the traffic interception method and routing preset.

③ Connect

Return to the v2rayN server list and choose a node with a clear purpose. You can prioritize one recommended by your subscription for your network and intended use; there’s no need to test every node. Right-click it and choose Set as active server, or the equivalent option in your version. Some versions also let you double-click a node, but confirm the active marker or status bar has changed. Selecting a row alone may not switch servers.

In many versions of v2rayN, setting an active server starts or reloads the core; there may not be a separate Connect button. Check that the active node name is correct, then open the information or log panel and make sure no core startup error appears. If your version has a Start, Restart, or Reload option, use it once as prompted. Avoid clicking Restart repeatedly, as it mixes log entries and makes diagnosis harder.

Check startup errors separately from request errors. Port conflicts and configuration parsing failures usually happen when the core starts, so fix those local issues first. Timeouts and handshake failures may occur when connecting to the remote server; check the node and network next. If the log says the local listening port is already in use, exit the other proxy client and restart this one. Don’t change every port to a random value. Hide account details and subscription URLs before sharing logs.

Start v2rayNG and approve VPN access

In the v2rayNG configuration list, tap the node you want and check that the selection marker moves to it. Then tap Start on the main screen. The first time you connect, Android will show a VPN connection request. Make sure it comes from v2rayNG, then approve it. If you deny permission, the node can remain in the list, but the client cannot route app traffic through the VPN. Start the connection again to respond to the system prompt.

After granting permission, check the client’s status and the system VPN indicator. A status change means the service has started, but doesn’t prove the remote server is reachable. If it stops as soon as it starts, check the first error in the logs. If it keeps running but you can’t access anything, test a real request in the next step. Don’t change battery settings yet: complete the first test with the client open, then troubleshoot issues such as disconnects after locking the screen.

A latency test can provide extra information, but it isn’t a substitute for verifying a connection. Handshake latency, real connection latency, and download speed tests measure different things, and results depend on the test destination and network. Even if a latency value appears, you still need to open a real page. If a test fails, check the logs before concluding that the entire subscription is unusable.

④ Verify the connection

Keep the client running and open a browser with no separate proxy settings and no app exclusion. Visit a destination that should use the proxy under your current rules and make a fresh page request. Don’t just refresh a fully cached page; it may appear to work without making a new network request. Open a new page path or restart the browser before testing. First check that the page loads—there’s no need to measure download speed yet.

As the page loads, check the client’s logs, connection records, or traffic statistics. If the interface shows the destination domain and outbound tag, confirm that the request used the expected proxy route. A change in traffic only shows that some request passed through the client; it doesn’t prove that every app is being intercepted. A page loading also doesn’t prove it used the proxy, since routing rules may allow a direct connection. Compare the browser result with the client’s records.

Now test a destination that should connect directly. With a common routing preset, both proxy-routed and direct destinations should work as expected. If one page loads and the other doesn’t, first identify which type of request failed, then check the relevant node or rule instead of enabling every advanced option. Once the test is complete, note the working node and routing combination. That gives you a reliable baseline to restore if you change settings later.

What to check if the connection doesn’t work

On desktop, first check that the correct node is active, then confirm the system proxy is configured and the browser isn’t using a different proxy of its own. If there’s no matching request in the client, the problem is likely with traffic interception. If the request appears but fails, check the node response and routing outbound. On Android, confirm the VPN is still running, check whether the test app is excluded, then review the client logs. Change one thing at a time and repeat the same test request.

If the browser works but a standalone app doesn’t, there’s no need to import the subscription again. The app may ignore system proxy settings or use a different network interface or DNS resolver. Start with the relevant article in the Help Center. Only check DNS settings if logs and test results point to a DNS issue; changing DNS isn’t a universal fix for connection problems.

Disconnect and restore your network

When you’re done on desktop, choose Clear system proxy in v2rayN before exiting. If you force-quit the client first, the system may keep sending browser requests to a local port that’s no longer running, leaving the browser without internet access. If this happens, reopen the client, clear the system proxy, and check your system network settings. If your work environment uses a fixed proxy, restore the configuration you noted earlier.

On Android, tap Stop and confirm that the client has stopped and the system VPN connection has ended. Returning to the home screen or dismissing the app window doesn’t necessarily stop the service. That completes the first-time setup: the subscription updates, a node can be set as active, traffic reaches the client, and real requests follow the expected routes. To manage multiple subscriptions, see subscription groups and filters. Keep this verified baseline and add features one at a time.