QUICK START / 10 MIN

v2rayN Setup Guide: From Subscription Import to Connection Verification

Follow these four steps in order: import a subscription, choose a proxy mode, start the connection, and verify the result. This guide covers only the settings needed for first use, not protocol options or core details.

00 PREPARE

Before You Begin

Prepare the client and a valid V2Ray subscription link

You need two things before starting: a client that is installed and launches normally, and the complete subscription link provided by your service provider. A subscription link is usually an address beginning with https:// that retrieves a set of server configurations. It is not a single node name or a client download address. When copying it, select everything from start to finish and avoid including spaces, line breaks, or punctuation added by a chat app.

When you first launch the desktop client, the system may ask for permission to access the network. Allow the client to communicate on the current network; otherwise, the core may start successfully but still fail to establish outbound connections. On Android, the first connection displays a system-level confirmation dialog. Approve it explicitly; this is the standard step required to create a local network tunnel. If permission was previously denied, stop the client, tap the connection button again, and follow the system prompt.

After opening the client, inspect the main screen first. v2rayN usually shows a server list, status bar, and log area; a new installation may have an empty list. The v2rayNG main screen shows the current configuration name, and normally has no selectable servers until a subscription is imported. An empty list does not indicate a program failure—it only means that a subscription must be added next. Do not rush to change ports, DNS, transport protocols, or core parameters; the defaults are sufficient for the first connection.

If the client is not installed yet, visit the download page and choose the appropriate platform. Use v2rayN on desktop; on Android, start with v2rayNG. Return to this page after installation and begin with subscription import. For protocol differences, the relationship between the V2Fly and Xray cores, subscription compatibility, and related topics, see the technical reference after completing the basic connection.

01 IMPORT

Step One

Import and Update a v2rayN Subscription

In the v2rayN desktop client, open the “Subscription Group” menu at the top and enter the subscription group settings. Menu wording may vary slightly between versions, but the entry will include both “subscription” and “group.” Click Add, enter an easy-to-recognize label such as “Daily subscription,” and paste the complete link into the address field. Leave the update interval, user agent, and advanced options at their defaults for now, then save and close the settings window.

Saving the subscription address alone will not make servers appear immediately. Return to the main window, open the Subscription Group menu again, and run “Update All Subscriptions” or the update command for the current group. For the first update, use the direct, non-proxy method because the client does not yet have a usable connection. Watch the status bar or log area during the update. Normally, messages such as retrieval complete or parsing complete appear, followed by multiple entries in the server list.

In v2rayNG, open the side menu or top-right menu and enter “Subscription Group Settings.” Tap Add, enter the subscription name and link, and save. Return to the subscription list and tap Update; some versions also provide “Update Subscription” directly in the main-screen menu. When the update finishes, return to the main screen. The current configuration name should change, and the server list should show the entries returned by the subscription.

Once the server list appears, there is no need to open and edit each entry. The address, port, protocol, transport, and security parameters returned by a subscription form one connected configuration; changing one field manually may break the connection. For the initial setup, simply confirm that the list is not empty and that each entry has a recognizable alias or address. The names shown by the client come from the subscription content, and their length does not affect connectivity.

When No Servers Appear After Updating

Return to the subscription settings and check for spaces at the beginning, end, or middle of the address. Delete the original address and copy it again if necessary; editing only part of it can leave something missing. Then confirm that the device can access ordinary web pages and update using the direct, non-proxy method. If the log says the response is empty, the format cannot be recognized, or the request timed out, do not keep clicking Update. First confirm that the link is still valid and that the client is a currently maintained version.

A subscription link is a configuration entry point and should not be posted on public pages, in screenshots, or in group chats. When recording a walkthrough, hide the address field. If the link has already been exposed, regenerate it from the provider’s management page instead of merely deleting the local record. More detailed causes of parsing failures and a self-check sequence are covered in the compatibility section of the technical reference.

02 ROUTING

Step Two

Choose the System Proxy and Routing Mode

After importing a subscription, the next step is not to edit server parameters but to decide which traffic the client should handle. Two concepts matter here: the system proxy makes programs that support system proxy settings send requests to a local port; the routing mode decides whether those requests use the proxy exit or connect directly. They operate at different levels. On desktop, selecting a server without enabling the system proxy usually does not make the browser use the client automatically.

In v2rayN, open the “System Proxy” menu. For first-time use, choose “Auto Configure System Proxy.” After enabling it, the taskbar or status-area icon should change, and the client will write the local proxy address to the system settings. Then open the routing settings and choose the client’s rule mode or default rules. Rule mode processes connections according to the existing rules. It is a good starting point and makes it easier to check whether both ordinary and target sites are accessible.

In global mode, traffic from the client is sent through the current server. This is useful for a short comparison test but changes the network path for more programs. Start with rule mode for the first connection. Switch temporarily to global mode only after confirming that the server works and when you need to rule out routing rules as the cause. Restore rule mode after testing so that a diagnostic setting is not left enabled indefinitely.

In v2rayNG, tap the routing settings on the main screen or open the settings page from the side menu, then choose a preset rule configuration. The Android client creates a system-level local tunnel, so there is no desktop-style “System Proxy” switch to find. If per-app proxying is enabled, confirm that the target app is included in the selected scope. For the first test, you can temporarily disable per-app filtering, verify the full connection path, and narrow the scope afterward if needed.

Do not run multiple similar network tools at the same time. They may compete for a local port, overwrite the system proxy repeatedly, or try to create network tunnels simultaneously, leaving the client apparently running while web pages fail to load. Close the other tools and restart the current client so that the system proxy and routing state have a single source. Also temporarily disable proxy settings configured separately in the browser to avoid bypassing the client.

When to Consider TUN Mode

Some programs do not read system proxy settings, so they may continue connecting directly even when v2rayN has system proxy enabled. TUN mode uses a virtual network adapter to take over a broader range of traffic, but it requires extra permissions and is more easily affected by security software, virtual machine networking, and other network adapter tools. It is not necessary for the initial setup. Complete this guide in a browser first, confirm that the subscription and server work, and then see How TUN Mode Works and How to Configure It for program-specific needs.

03 CONNECT

Step Three

Choose a Server and Connect

Return to the server list and select a subscription configuration. In v2rayN, click the row and use the context menu to set it as the active server, or use the shortcut provided by the interface. The selected entry usually changes color, icon, or status marker. Confirm that the status bar shows the current server name and check whether the core has started. Some versions automatically restart the core after a server is selected; this is a normal configuration-loading process.

In v2rayNG, tap the area showing the current configuration on the main screen, open the server list, and select an entry. Return to the main screen and confirm that the selected name appears at the top or in the middle, then tap the circular connection button. When the system first asks for connection permission, choose Allow. Once the button icon and status text change, the client has started. Wait a few seconds for DNS resolution, the protocol handshake, and routing to finish loading.

“Client is running” and “Server is usable” are not the same status. A running status only means that the local core process has started; the remote connection can still fail because the address is unreachable, the port is closed, the system time is wrong, or the configuration has expired. Do not judge by the connection button color alone—check the logs as well. Normal startup logs usually show that the configuration loaded and the local listening port was created. If the first line reports a configuration field error or a port conflict, the connection will not succeed.

There is no need to run a batch speed test for the first check. Results depend on the test method and destination, and a low number does not mean every app will connect reliably. A more direct approach is to choose a commonly used configuration from the subscription, connect, and proceed to the next step for an actual access test. If it fails, try another configuration for comparison. When switching repeatedly, wait for the core to restart completely so that the previous connection is not mistaken for the result of the new configuration.

When the Connection Button Does Nothing or Stops Immediately

Close and reopen the client, and confirm that the system time and time zone are correct. Then inspect the first part of the log rather than only the last line. Messages such as “address already in use” usually mean that another process occupies the local port; close other network tools or change the local port after confirming what it is used for. For configuration parsing errors, update the subscription again instead of editing complex fields directly. For certificate or handshake errors, try another server from the same subscription for comparison.

On desktop, also check that the system proxy remains enabled when the client starts. If the client exits unexpectedly, the system proxy may still point to a stopped local port, making every web page fail to load. Restart v2rayN, or clear the proxy in the system proxy menu and enable it again. If v2rayNG disconnects immediately, check whether the system restricts the client from running in the background and ensure that no other program is occupying the system-level connection tunnel.

04 VERIFY

Step Four

Verify That the V2Ray Connection Works

After the connection is established, fully close the browser window used for testing and reopen it. This reduces the effect of old connections, caches, and background processes. First visit an ordinary site that normally opens without issues to confirm that the basic network was not interrupted by the proxy settings. Then visit a target page that should use the current server. If both types of pages open, the system proxy, routing rules, and remote connection are working as one complete path.

Next, use a trusted network information page to compare the outbound address before and after connecting. Record the result before the test, connect the client, and refresh the page. If rule mode does not route that page through the proxy, the result may remain unchanged, which is not necessarily a fault. Temporarily switch to global mode and test again. If the outbound information changes, the server connection is working and the difference comes from the current routing rules. Restore rule mode after testing.

Do not use a single browser page to judge every program. Whether a desktop app is affected depends on whether it reads the system proxy or is handled by TUN mode. On Android, it also depends on the per-app scope. If the browser works but a particular program cannot connect, the basic subscription and server are probably working. Focus troubleshooting on that program’s proxy support, app scope, and local firewall instead of repeatedly changing subscriptions.

Also check whether local network resources behave as expected. In rule mode, local devices, print services, and development environments should normally follow the existing rules. If a local address cannot open after connecting, first check whether the routing rules send private addresses through the proxy, then check whether an overly broad takeover mode is enabled. Do not reset everything to fix one address. Stop the connection and compare first; this more quickly identifies whether the issue is in the client, routing, or local network.

Save a Reproducible Working State

Once the connection works, note the subscription group, server name, routing mode, and system proxy status in use. If a problem appears later, restore this verified configuration first and then change settings one at a time. Changing only one variable makes it possible to identify the cause. After a subscription update, server names or ordering may change, so do not rely only on list position; identify entries by name and group whenever possible.

For everyday use, there is no need to delete the existing subscription group before updating. Run an update and the client will read the provider’s latest configurations. If the current server is removed after an update, select another entry and reconnect. If the connection fails after changing networks, stop the client, confirm that the basic network works, and start it again. This clears the old connection and lets the system apply the routing again.

Basic Troubleshooting

Four Common Breakpoints in Initial Setup

Check the connection path in order: verify the input first, then the local state, and finally the remote connection.

01 / INPUT

The Subscription List Is Empty

Check again that the link is complete, update using the direct, non-proxy method, and inspect the returned content in the log. If the address times out or parsing fails, confirm the link status and client version first. Do not manually create a server entry with missing parameters.

02 / LOCAL

The Client Runs but the Browser Cannot Connect

On desktop, check that the system proxy is enabled and that the browser is not using a separate proxy configuration. On Android, check system connection permission and the per-app scope. Close other similar tools and reconnect to rule out port or tunnel conflicts.

03 / CORE

The Core Exits Immediately After Starting

Read the log from its first line. Port conflicts, configuration parsing errors, and insufficient permissions are usually reported during startup. Update the subscription and restart the client first, then address the issue using the specific log keywords.

04 / ROUTE

Only Some Programs Are Affected

This is usually related to whether the program reads the system proxy, the per-app scope, or the routing rules. Use a browser to confirm the basic connection path first, then decide whether to adjust the app scope or use TUN mode. There is no need to re-import a subscription that is already working.

Download V2Ray Client