10-minute first-time setup

V2Ray Setup Guide: From subscription import to connection verification

Once you have the subscription URL, complete the first setup in four steps: import the nodes, choose a proxy mode, start the connection, and confirm that traffic works as expected. Change only one type of setting at a time so problems are easier to pinpoint.

Setup sequence

Review the steps before changing settings

Complete the following four steps in order. The subscription provides node configurations, the proxy mode determines which traffic goes through the client, the connection step starts the core, and verification confirms that the system and client are working together correctly.

Prepare these two items first

First, install the appropriate client. Use v2rayN on desktop devices and v2rayNG on Android devices. Second, obtain the subscription URL from your service provider. It usually starts with https://. This is not an ordinary web page URL; it is the endpoint the client uses to fetch node configurations.

Copy the full subscription URL without manually removing or changing any characters. If it comes from a QR code or management page, use the page’s copy button whenever possible. Subscription data includes the protocol, port, transport, and authentication details, so entering each field manually can omit parameters. Importing the subscription directly is safer for a first setup.

  1. The client is installed and opens normally
  2. The subscription URL is still valid
  3. The device currently has normal network access
  4. The system date, time, and time zone are correct

Configuration source

Import the subscription and update the node list

Copy the subscription URL to the clipboard first. On desktop, open v2rayN and find the subscription group or subscription settings entry in the top menu, then create a group. Give it an easy-to-recognize name, such as “Everyday use,” and paste the copied URL into the address field. Leave other options at their defaults for now. Save the group, return to the main window, and run “Update subscriptions.” Menu wording may vary slightly by version, but the entry usually includes terms such as “subscription,” “group,” or “update.”

On Android, open v2rayNG, go to subscription group settings from the top menu, tap the add button, enter a label, and paste the subscription URL. Save it, return to the main screen, and run the subscription update from the menu. Some versions ask you to choose the active subscription group first. Select the group you just created before updating the nodes so the configuration is not added to another empty group.

After the update finishes, the main screen should show one or more node entries. Each entry usually has a label and may also show protocol or server details. If the list appears, the client has successfully read the subscription URL. Do not enable the system proxy yet. First confirm that the list is not empty and that there are no messages such as “subscription is empty,” “parsing failed,” or a request timeout.

If no nodes appear after the update, reopen the subscription settings and check whether spaces were added at the beginning or end of the URL. Also confirm that you copied the subscription link rather than the management page URL. You can try switching the active subscription group once and updating again. If the URL itself has expired, local client settings cannot fix it; obtain a new valid URL from the subscription provider.

Subscriptions, nodes, protocols, and cores are easy to confuse. In simple terms, a subscription is an update source for a set of configurations, a node is one specific connection configuration, and Xray or V2Fly is the core that handles the connection. For more detail, see the glossary. You do not need to edit protocol parameters manually for a first setup.

Traffic direction

Select a node, then choose a proxy mode

Once the nodes appear in the list, select one. In v2rayN, you can usually double-click a node, right-click it and set it as the active server, or use the selection control in the main window. The selected entry is marked with a highlight, checkmark, or active-server indicator. In v2rayNG, tap a node card in the main list; its active status will then be shown. For a first setup, choose one clearly labeled node rather than changing several configurations at once.

Next, choose a proxy mode. The mode does not change the subscription; it only determines which requests on the device are handled by the client. On desktop, the most common combination is “system proxy” with “rules” or “bypass” routing. The system proxy sends requests from compatible applications to v2rayN, while rules choose direct or proxied access based on domains, IP addresses, or predefined lists. For everyday browsing, this is the easiest starting point to understand and troubleshoot.

Global mode sends traffic entering the client through the current proxy outbound whenever possible. It can help determine whether rules are causing an access problem, but it is not recommended as the permanent choice for every situation. Rule-based routing is better for long-term use because local services, LAN addresses, and sites that do not need forwarding can remain direct. Mode names vary by client version and rule set, so focus on meanings such as “rules,” “global,” and “direct” rather than a specific menu location.

In v2rayN, system proxy options are available from the tray menu or main window. First enable automatic system proxy configuration, then confirm that routing uses rule-based splitting. If you are only testing whether the client core can establish a connection, you can leave the default routing settings unchanged and avoid enabling TUN mode at the same time. TUN takes over more types of application traffic and involves virtual adapters, permissions, and DNS behavior, so configure it after the basic connection is stable.

In v2rayNG, a regular connection uses Android’s system connection interface to handle device traffic. Keep the default routing configuration for the first attempt. After confirming that the intended node is selected, continue to the next step. If per-app proxying, bypass rules, or custom DNS have already been changed in settings, note the current values and restore a simple baseline first. This makes it possible to determine whether the node works instead of guessing through several layers of rules.

At this stage, two conditions should be met: one node is clearly selected in the main window, and a proxy mode has been chosen. The configuration may still be inactive, so the next step is to start the client core and send system traffic through the connection.

Start the service

Start the connection and monitor its status

On desktop, make sure the v2rayN main program is still running. After you select a node, the client usually starts the corresponding core. If the main window has a “Start service” option or similar control, use it first, then enable the system proxy from the tray menu. Once enabled, the tray icon, status bar, or bottom notice area should show a change in running status. Do not immediately close the main window or exit from the tray. Closing the window usually only minimizes it, while choosing “Exit” also stops the connection.

If the system displays a firewall access prompt, decide whether to allow client communication based on the current network environment. On a trusted home or personal network, you can allow the program on the network type currently in use. If the device is managed by an organization, follow its existing network policy. After handling the firewall prompt, return to v2rayN and check the log area. A normal startup usually includes messages about loading the core configuration and listening on a local port.

On Android, select a node in v2rayNG and tap the connect button in the lower-right corner of the main screen. The first launch displays a system connection authorization dialog. After approval, a connection indicator appears in the status bar and the v2rayNG button changes state. This authorization is provided by Android so the client can receive device traffic. If you deny it, a regular connection cannot be established; tap the button again and approve the request.

A connection button showing a running state only means that the client has attempted to start; it does not by itself prove that the remote node is available. Wait a few seconds and watch for an immediate stop, repeated reconnects, or a timeout message. If the status remains stable, continue to verification. If it stops immediately, open the logs and inspect the most recent error near the bottom. Common clues include configuration parsing errors, connection timeouts, DNS resolution failures, and ports already in use.

On desktop, remember that “core running” and “system proxy enabled” are separate states. A running core means v2rayN is listening on a proxy port locally; an enabled system proxy means browsers and other applications send requests to that port. Starting only the core does not redirect applications that still use their original network path. Conversely, if the program has exited while the system proxy setting remains, the browser may fail to load pages because the local proxy port is unavailable.

At this point, the client should remain running, with the system proxy enabled on desktop or the connected status shown in v2rayNG. Do not change configuration in the next step. Instead, confirm that the connection works from three angles: application access, client status, and logs.

Result confirmation

Verify that the connection works as expected

Fully close the browser page you plan to test, then open a new page. This reduces the impact of old connections, cached data, and existing network sessions. Test a site whose access result is normally clear, and keep a familiar local site as a comparison. If both pages load normally, the basic network path is established. If only some pages fail, the cause is more likely routing rules, DNS, or the target site’s status.

For desktop testing, confirm that the browser uses the system proxy settings. Some browsers or extensions have their own proxy configuration and may not follow system options completely. If the client shows as running but the browser behaves unchanged, disable the browser’s separate proxy setting temporarily and test again in a newly opened browser. Whether other applications follow the system proxy depends on their own network implementation, which is why ordinary system proxying and TUN mode have different coverage.

Then return to the client and inspect the logs. When the test page opens, the logs should show a new request or connection activity. Seeing the request enter the client indicates that the application-to-local-proxy path is basically working. If the request then times out, check the node or remote connection. If there are no new records at all, first check whether the system proxy is enabled, whether the test application follows it, and whether the client’s listening port is working.

The same approach applies to v2rayNG: keep the system connection active, reload the page in the browser, and return to the client to inspect the logs. If the connect button remains in the running state but every request times out, stop the connection and try another node from the subscription. Stop the current connection before switching nodes, select the new node, and start again so the previous session is not mistaken for the new node’s result.

After verification succeeds, restore the rule-based mode needed for everyday use. If one site later behaves unexpectedly, you do not need to reinstall the client immediately. Compare rule-based and global modes briefly. If global mode works but rules do not, the problem is more likely in the routing rules. If both modes time out, check the node, subscription status, and current network first.

To learn how different domains are assigned to outbound connections, or to read about routing rules, DNS, inbound and outbound configuration, open the complete configuration reference. These settings are not required for a first connection and are easier to understand once the basic connection is stable.

Quick troubleshooting

When the connection does not work, check these items in order

Do not reinstall the client, change DNS, switch modes, and replace the subscription all at once. Change one variable at a time so the test result remains meaningful.

A

Check the current network first

Stop the client connection and confirm that the device itself can open familiar websites normally. If the underlying network is down, restore it first. After switching between Wi-Fi, mobile data, or a hotspot, restart the client connection once so the local listener and system network state can initialize again.

B

Update the subscription next

Return to the subscription settings and confirm the active group and URL, then run an update manually. If the node list updates but the current node times out, stop the connection and test another node. If the entire list fails to update, focus on the subscription URL, its expiration, and the system time.

C

Check the proxy entry point

In v2rayN, confirm that the core is running, the system proxy is enabled, and the browser is not using a conflicting separate proxy. In v2rayNG, confirm that system connection authorization is still valid and that the connect button has not automatically returned to its stopped state.

D

Read the logs last

Find the new records created during the test near the bottom of the logs. Timeouts usually point to the network or node; parsing failures are generally related to configuration content. If there is no access record at all, first check whether traffic is entering the client. For a systematic introduction to logs and configuration structure, see the configuration reference and the site’s technical notes.

Everyday tasks after setup

There are only three routine tasks: update the subscription when its contents change, switch nodes when the current connection has problems, and stop the connection and restore the system proxy when you are done. Learn about protocols, cores, routing, and transports gradually as needed; you do not need to master everything during the first setup.

Download v2rayN