First setup in 10 minutes

V2Ray Client: Import a Subscription, Choose a Mode, Connect, and Verify

This page covers the four tasks required for a first-time setup. Prepare a valid subscription URL and an installed client, then follow the steps in order. For terminology or advanced configuration, continue to the quick reference and advanced usage sections.

For: v2rayN desktop For: v2rayNG Android Process: four steps
Preparation

Before you start

Before your first setup, make sure the client opens normally and prepare a subscription URL that is still valid. A subscription URL is usually a complete link beginning with https://; it provides the server configuration to the client. Do not mistake a web dashboard login URL, payment page URL, or single-node remark for a subscription URL. If the provider offers both “Copy subscription” and “View guide,” use the one clearly labeled as a subscription link.

When copying the URL, select it completely from beginning to end. Do not include extra spaces, line breaks, or Chinese punctuation. Some apps show a link preview after copying; as long as the beginning matches the provider’s URL, you do not need to open it in a browser. A subscription is a configuration credential, so paste it only into a client you control and never share it in public chats, screenshots, or online parsing tools.

Next, check that the current network can open ordinary web pages and set the system date and time to synchronize automatically. TLS connections require an accurate clock; a significant time difference may appear as node timeouts or handshake failures. Repeatedly switching servers is unlikely to help at this point. Correct the system time and basic network first.

Client installed

Use v2rayN on desktop and v2rayNG on Android. If the client is not installed yet, open the downloads page and choose the package for your platform.

Subscription URL complete

Make sure the link was not truncated by a chat app and does not contain explanatory text, spaces, or line breaks before or after it.

Basic network working

First, use a browser to visit an ordinary website. Without a working basic network, the client cannot update the subscription or establish a connection.

Step 1

Import the subscription and update the server list

Subscription import has two parts: save the subscription URL, then explicitly run an update. Adding the URL to the settings page does not always make servers appear immediately, so complete the update after saving. Success is not indicated merely by a “Saved” message. Return to the main screen and confirm that a group of named server configurations is visible and that at least one can be selected.

Import in v2rayN desktop

Open the v2rayN main window and find “Subscription groups” or an entry related to subscription management in the top menu, then open the subscription group settings. Create a group, enter an easy-to-recognize name such as “Common subscription” in the alias field, and paste the complete subscription URL into the address field. The alias only distinguishes groups on this device and does not change server settings. Clear names make it easier to manage multiple subscriptions without updating the wrong group.

After saving, return to the main window, reopen the subscription menu, and run “Update all subscriptions” or the update command for the current group. Keep the network connected during the update and do not click repeatedly. When it finishes, the main window should show entries such as protocol names, address remarks, or group names in the server list. Click one server to make it the current selection. Depending on the version, the active server may be shown in bold, with a highlighted background, or by text in the status bar. The key point is to confirm an active configuration, not merely that the list exists.

Import in v2rayNG Android

Open v2rayNG and go to “Subscription group settings” from the top-right menu. Tap the add button, enter a remark, paste the subscription URL, and save. Return to the subscription group page, select the group you just created, and run an update. Some versions also let you choose “Update subscription” directly from the main menu. After the update, return home; the server names should appear in the configuration list.

Tap one configuration so its selection marker or highlight appears on that entry. This only selects the configuration to use; it does not start a connection. If the list is long, use the provider’s recommended default group for the first setup. There is no need to change transport, security, or port settings one by one. Subscription-generated configurations normally include these fields, and manual changes can create parameter mismatches.

What to expect after updating
  • One or more server configurations appear on the main screen instead of an empty list.
  • Each configuration has a recognizable name and can be selected.
  • The client is not continuously reporting subscription parsing failures or an invalid URL.

If the list is still empty after updating, copy the subscription URL again and confirm that you selected the correct subscription group. A format error may mean that the URL was truncated, the subscription has expired, or group filters excluded every configuration. See the Help Center for causes and troubleshooting order; check the Quick Reference for the differences between “subscription,” “node,” and “server configuration.” Once the list appears normally, continue to choosing a proxy mode.

Step 2

Choose a proxy mode and traffic scope

The proxy mode determines which connections the client handles and which continue to connect directly. It does not change server parameters in the subscription, but it directly affects whether web traffic uses the proxy, whether LAN devices remain reachable, and why some apps use different connection paths. For a first setup, do not start with custom rules. Use a built-in client mode to verify connectivity, then fine-tune the configuration after the basics work.

Recommended choice for a first setup

For general use, choose “Bypass LAN and mainland China addresses” or a similarly named rule-based mode. This usually keeps local routers, printers, file shares, and common direct-connection addresses on their normal paths while sending requests that match proxy rules through the current server. It is suitable for the first connection test and helps distinguish server problems from overly complex custom routing.

Global mode sends a wider range of traffic through the current proxy and is useful for temporarily checking whether a rule is missing the target site. If a site fails in rule mode but works in global mode, the server is usually functioning; continue checking route matching or DNS instead of reimporting the subscription. Global mode is not a speed-test switch and cannot repair an unavailable server. After testing, switch back to rule mode if that better matches your needs.

Find mode settings in both clients

In v2rayN desktop, the routing mode is usually in the main-window menu, settings page, or tray menu. Confirm the server is selected, then open the routing settings and choose a preset rule. Also check the “System proxy” status: starting the core without making the browser use the system proxy may leave web traffic on its original route. For a first test, set the system proxy to automatic configuration or let the client manage it; the exact label varies by version.

In v2rayNG Android, open “Routing settings” from the side menu or settings page and choose a preset such as “Bypass LAN and mainland China addresses.” Android establishes a system network connection, so most apps send requests through the system path after connection. If per-app proxying is enabled, only selected apps use the proxy channel. For the first setup, disable per-app restrictions, verify the whole device, and then configure the app list as needed.

You do not need to study every rule immediately after choosing a mode. Note the current selection and continue to the connection step. If you later need fine-grained routing by domain, IP, process, or app, read the routing rules section in Advanced Usage. Configure DNS routing, FakeDNS, and TUN mode only after the basic connection is stable.

Step 3

Start the connection and monitor client status

You now have a server list and a defined proxy mode, so you can start the connection. Check the current selection once more before connecting to avoid using an empty item or an old configuration after a list update. For the first test, run only one client and disable other tools that manage the system proxy, VPN, or TUN. Multiple programs competing for system settings make the result difficult to interpret.

Connecting in v2rayN desktop

In the server list, right-click the target configuration or use the menu to make it the active server, then start the service. Next, enable the system proxy from the tray menu or main window so browsers and apps that follow system proxy settings use v2rayN. Afterward, the tray icon, bottom status bar, or log area should normally show that the core has started. Wording varies by version, such as “Running,” “Started,” or a local listening port. Continue to verification as long as the service does not stop immediately with an error.

If v2rayN is running but web pages do not change, do not modify internal server parameters yet. Check that the system proxy is actually enabled, then close and reopen the browser completely. Some long-running apps do not immediately read new system proxy settings, so a new window is better for testing than repeatedly refreshing an old page. If security software or the system firewall shows a first-run network prompt, verify the program name and allow the access required on the current private network; otherwise the local proxy port may not receive connections normally.

Connecting in v2rayNG Android

Return to the v2rayNG home screen, confirm that a server entry is selected, and tap the connect button in the lower-right corner. The first time Android establishes this type of network connection, a confirmation dialog appears; read it and allow the connection. After startup, the button changes appearance and a network connection indicator appears in the system status area. Do not tap the button repeatedly, because a second tap usually disconnects.

If the button changes briefly and then returns to a disconnected state, open the logs from the side menu and check the last few lines. Common causes include DNS resolution failure, connection timeout, TLS handshake failure, or incompatible configuration fields. Logs identify the troubleshooting direction; you do not need to understand every line. Record the error keywords closest to the failure time, then check the Help Center for the matching symptom. If the client shows a sustained connection but pages still fail, continue to the next step and judge the result through actual access and routing behavior.

01 Select a server

Confirm that the active configuration is neither an empty item nor an old entry removed from the subscription.

02 Start the client

Start the service and enable the system proxy on desktop; tap connect and approve the system request on Android.

03 Check the status

Confirm that the connection does not stop immediately and that the logs contain no clearly repeated errors.

A running status only means that the local service has started; it does not guarantee that the target site will open. Server availability, routing rules, DNS results, and whether the app uses the system proxy still need to be verified with real requests. Do not treat a color change on the button as the final step. Keep the current connection active and complete the two-way test below.

Step 4

Verify that the proxy works

A reliable check tests both a proxy-target site and an ordinary direct-connection site. Opening only one page can be misleading: it may be cached or may simply not match the current proxy rules. Open a new private browser window or a completely new tab. First visit an ordinary site to confirm that the basic network still works, then visit a target that should use the proxy under the current rules.

Check the web page first, then compare the logs

If both types of site open normally, subscription parsing, server connection, system takeover, and basic routing have formed a complete path. Open one or two commonly used apps to confirm that they also connect as expected. Some desktop apps do not read system proxy settings. If the browser works but a standalone app does not, check that app’s own proxy settings or use TUN mode after understanding its scope. Do not declare the server unavailable just because one app behaves differently.

If ordinary sites work but the proxy-target site does not, temporarily switch the routing mode to global and reconnect. If it works in global mode, the connection itself is usable and the issue is more likely rule matching or DNS. If it still fails globally, try another server from the same subscription and check whether the logs change from a timeout to a successful connection. Switch only one configuration at a time, wait for the connection to complete, and then test; rapid switching mixes old and new log entries.

If no sites open, first check on desktop that the system proxy points to the v2rayN instance currently running and that closing the client restores the system proxy. On Android, confirm that the system network connection indicator is still present and check whether per-app proxying is enabled without the browser selected. Then review the remote DNS settings. If you entered an unavailable address manually during the first setup, restore the client default and reconnect.

If the client connects and then disconnects shortly afterward, check the system clock, whether the current network requires web-based login, and whether the subscription was updated successfully. Hotel, campus, and public networks may require browser authentication first; before authentication, the client may only show timeouts. Switching between Wi-Fi and mobile data can help determine whether the issue comes from the access network or the server configuration. Reconnect after each switch instead of reusing an expired network session.

Working normally

Both types of web page open

The basic setup is complete. Keep the current subscription and routing mode, then configure automatic updates, per-app proxying, or custom rules later.

Continue troubleshooting

Only direct-connection sites work

Temporarily test global mode and try another server from the same subscription. Use the logs to distinguish a routing-rule issue from a connection timeout.

Check system takeover

No web pages open

Check the system proxy, system network connection, per-app scope, and DNS. If needed, disconnect the client first to confirm that the basic network works.

After verification, switch any global mode enabled for testing back to a rule-based mode suitable for daily use, then reopen common sites to confirm the result. If the problem remains, record the client name, current mode, error time, and key log messages. Troubleshoot item by item using the troubleshooting categories in the Help Center; this is more effective than repeatedly deleting and reinstalling the client.

Complete

What to configure after the basic connection works

After completing the four steps, the client has the basic configuration needed for daily use. Do not enable every advanced option at once. Start by setting a subscription update interval so the server list refreshes according to the provider’s schedule. Then decide whether per-app proxying is needed for your actual apps. Learn about TUN mode only if the system proxy cannot cover the target program or you genuinely need to manage a broader range of traffic.

Multiple subscription groups, server filters, custom routing, remote DNS, FakeDNS, and custom outbounds are interdependent, so configure them section by section after the basic connection is stable. After each change, reconnect and verify a web page while keeping the previous working settings. If a new rule is wrong, this makes it quick to restore a working state.