First setup · About 10 minutes

V2Ray Setup Guide: From Subscription Import to Connection Testing

Follow four steps in order: import a subscription, choose a proxy mode, start the connection, and verify the result. This guide covers a first working setup only; continue with the advanced guide for routing, TUN, and configuration file structure.

v2rayN · Desktop v2rayNG · Android Subscription → Mode → Connection → Verification

Before You Begin

Make sure the client is installed and have a subscription URL from your service provider ready. It is usually a complete link beginning with https:// that retrieves a server configuration list. Unlike a single vmess:// or vless:// share link, a subscription can load multiple configurations at once and sync them again when the provider updates them. See the glossary → for the difference between these link types.

When copying the URL, select everything from start to finish. Do not include line breaks, leading or trailing spaces, or punctuation added by a chat app. A subscription URL is part of your connection configuration, so keep it only in your own client and trusted devices. This guide assumes a newly installed client with basic settings. If you previously changed routing, DNS, ports, or TUN options, note the original values first so you can tell whether a problem comes from the subscription or an old setting.

01
Subscriptions and Server Lists

Import the Subscription and Run the First Update

On desktop, open v2rayN first. Open “Subscription Groups” or a similarly named menu at the top, then open “Subscription Group Settings.” Click the add button, enter a recognizable label such as “Everyday,” and paste the complete subscription URL into the address field. Make sure the group is enabled, then save it. The label is only for local identification and does not affect the provider’s content; the URL must remain unchanged, especially its query parameters.

Saving a group does not mean its server configurations are already in the list. Return to the main window, open the subscription menu again, and choose “Update All Subscriptions,” or update the group you just added separately. The client will fetch and parse the configurations. When the update finishes, several entries should appear in the main server list, commonly showing an alias, address, port, transport, and configuration type. At this point, just confirm that entries are present. Do not edit every column immediately, and do not mistake protocol names for speed ratings.

Subscription Group Settings Add a Name and URL Save Update Subscription Check the Server List

In v2rayNG, open the side menu or top-right menu and go to “Subscription Group Settings.” Tap add, enter a label and subscription URL, and save. Return to the configuration list and run an update. Once complete, the configurations appear as a list on the main screen. Tapping one usually adds a selection mark or highlight. For now, only confirm that the subscription loaded correctly; use the connect button in the third step.

If the update reports success but the list is still empty, open the subscription group settings and check that the URL is complete and the group is enabled, then update again. A parse error commonly means the pasted text contains spaces, the subscription has expired, or the provider returned a format the client cannot recognize. You can copy the URL again from the original page, but never paste subscription content into a public online converter. If the provider also offers a single-node share link, use the client’s “Import from Clipboard” feature to test one configuration and distinguish a subscription retrieval issue from a client installation issue.

02
Nodes and Traffic Scope

Choose a Proxy Mode and Keep the Basic Settings

Once the subscription appears in the list, determine the active node and the traffic that should be handled. Two concepts are easy to confuse: the server choice determines which configuration sends the traffic, while the proxy mode determines which apps or requests are handed to the client. Selecting a node without enabling the proxy may leave the browser on its normal network path; enabling the proxy with an unavailable active node lets the client receive requests but prevents a usable outbound connection.

In v2rayN’s server list, select one configuration and use Enter, the “Set as Active Server” option in the context menu, or the equivalent action in your version to make it active. The active entry is usually distinguished by a color, icon, or status label. For a first setup, do not select multiple entries or immediately create complex load-balancing or chained relationships. Confirm a single node works first; advanced strategies are easier to troubleshoot afterward.

Next, find “System Proxy” at the bottom of the v2rayN main window or in the tray menu. For the first test, enable the system proxy or automatic system proxy configuration so browsers and desktop apps that follow system settings send requests through v2rayN. The client’s “Routing” or “Rule” mode determines whether each request uses the proxy, connects directly, or is blocked. Unless the provider says otherwise, keep the client’s default rules or basic preset rules. Do not rewrite DNS, domain, and IP rules at the same time.

System Proxy

Best for an initial test. Browsers and apps that support system proxy settings use the local proxy port provided by the client. Its scope is clear and easy to restore when you are done.

Routing Mode

Determines whether requests match proxy, direct, or block rules. Rules are usually evaluated in order, so keep the default plan during initial setup and adjust traffic scope only after the connection is stable.

v2rayNG uses a more focused workflow: after selecting a configuration on the main screen, the client asks the system to establish a local connection channel when you start the connection. Routing options in Settings determine how traffic is matched. As with desktop setup, keep the defaults at first and confirm that the subscription and node work. Enabling custom rules too early, changing local DNS, or importing an unknown rule set makes it difficult to identify which layer caused a problem.

Note that “Global” does not mean a better connection; it simply sends more requests through the proxy. “Rule” mode does not automatically fit every use case either—it depends on the rule content and matching order. The difference is traffic scope, not server performance. See the routing and rule glossary → for terms such as domain rules, IP rules, direct, proxy, and block. For step-by-step custom rules, continue to the routing chapter in the Advanced Guide →

03
Start-Up and Status Check

Start the Connection and Watch the Client Feedback

In v2rayN, confirm the active server and enable the system proxy. Some versions show its status in the bottom bar, while others expose it through the tray icon menu. Closing the main window usually leaves the client running in the system tray, so do not end the process during testing. After startup, watch the status bar and log area. Normally, the core reads the current configuration, opens a local listening port, and waits for requests from the browser or other apps.

If your v2rayN version offers “Restart Service” or “Restart Core,” run it once after changing the active node to ensure the new configuration is loaded. Do not click start, stop, or restart repeatedly in quick succession. Wait for the current action to finish, then read the last few log lines. A startup-complete message confirms that the local client process is running, but it does not prove that the remote configuration works. Complete the real-world access test in step four.

In v2rayNG, select the configuration you imported and tap the round connect button in the lower-right corner of the main screen. On first launch, the system displays a connection permission prompt; approve it before the client can handle device traffic. After authorization, the button changes state and a connection indicator appears in the system status area. Leave v2rayNG running in the background while testing in a browser. Force-closing the client stops the connection.

connection-check Basic Check
Running Configuration Logs
Active ServerSelected in the server list Selected
Local ServiceCore has loaded the current configuration Running
Live AccessRequires a separate check in the next step Pending

When startup fails, read the first specific error from the client instead of repeatedly switching modes. A port conflict usually means another proxy program or an old client is still using the same local port. A configuration parse error is usually related to subscription content or manually edited fields. A connection timeout may indicate that the current server is unreachable, the device network changed, or the provider is having an outage. Stop other similar programs first, then restart the current client. If the same error remains, select another configuration from the subscription and compare the result.

On desktop, also check whether the browser follows the system proxy. Most common browsers do, but a separately installed proxy extension may override the system setting. For the first test, temporarily disable conflicting proxy settings and keep only v2rayN in the chain. On Android, stop any other app that occupies the system connection channel, then restart v2rayNG.

04
Live Access and Cross-Checks

Verify That It Works by Isolating Each Layer

Keep the client connected, open a webpage that normally requires proxy access, and perform a fresh load. A long-open tab may reuse an old connection or cached result, so use a new tab for testing. If the page, navigation, and basic resources load fully, the browser is connecting through the current configuration. If only the page shell appears while images and scripts keep failing, check routing, DNS, or server status rather than ending the test as soon as the page appears.

After testing in the browser, return to the client and inspect the logs. Normal requests should create new connection entries and show whether they matched a proxy or direct outbound route. If the browser spins indefinitely while the logs remain completely unchanged, the problem is likely between the browser and the local client. Check that the system proxy is enabled, the browser is not using a separate proxy, and the local service is still running. If the logs show the request followed by a timeout, focus on the active server, device network, and remote configuration.

You can also test a familiar webpage that should normally be accessed directly. If both the proxy target and direct target behave as expected, the basic routing setup is usable. If every request takes the same path, Global mode may be selected or the rules may not be matching as intended. For a first setup, there is no need to pursue complex routing. A stable connection, working everyday pages, and restored system proxy settings after stopping the client are enough to complete the basic configuration.

  1. Check the Active Configuration

    Make sure the selected server was not replaced by a subscription update, and that its name and selected state still match step three.

  2. Check the Client Status

    Confirm that the local service is still running, the desktop system proxy remains enabled, and the Android connection has not been interrupted by the system or another app.

  3. Check the Request Logs

    After reloading the test page, the logs should show a corresponding new request. If the logs are empty, check the local proxy path first; investigate the server connection only when a timeout appears.

  4. Check the Actual Page

    Check the page content, images, and subsequent navigation—not just whether the browser opened. A complete access result is more reliable than a single status icon.

If switching to another configuration restores access immediately, the original node may be temporarily unreachable or its parameters may have changed. If every configuration in the subscription behaves the same way, switch the device to another network, update the subscription again, and restart the client. On desktop, you can also disable the system proxy, exit v2rayN, restart it, and repeat steps two and three to clear old processes and residual state. On Android, stop the connection, confirm that the configuration is still selected, then authorize and start it again.

If only some domains fail while other proxy requests work, the issue is usually in rule-based routing or DNS handling. Do not delete a usable subscription or reinstall the client. Record the affected domains, current routing mode, and matching results in the logs, then adjust settings one layer at a time in the DNS and routing chapter of the Advanced Guide →. This basic guide ends here. Change only one option at a time and retest after each change so the effect is clear.

Quick Troubleshooting

Four Common Sticking Points

First identify the layer where the problem occurs, then change the relevant setting. Changing several options at once makes the troubleshooting results unreliable.

The List Is Empty After a Subscription Update

Return to Subscription Group Settings and check the URL’s beginning and end, the enabled state, and whether the group was saved. Copy the original subscription URL again and update it. If a single share link imports successfully while the subscription remains empty, ask the provider to confirm that its returned content is valid.

The Client Is Running but the Browser Bypasses the Proxy

On desktop, check the system proxy switch and any separate browser proxy settings. Reload the page and watch the logs. If there are no new requests, browser traffic has not reached the client. Clear conflicting settings, then enable the system proxy again.

No Websites Open After Connecting

Switch back to the default routing mode, then test another configuration from the subscription. Confirm that the device itself can access the network, and check whether the logs show a parse error, port conflict, or connection timeout. Each error requires a different fix.

The Network Acts Up After Stopping the Client

On desktop, use the v2rayN menu to clear or disable the system proxy before exiting the client. If you end the process directly, the system proxy may still point to a stopped local port. After restoring the system proxy, reopen the browser and test again.

Next Steps

Routing, TUN, and Everyday Maintenance

Once the first connection works, learn about routing rules, DNS, TUN, and subscription maintenance. The Advanced Guide covers concepts, installation, subscriptions, proxy modes, routing, and maintenance in that order, making it suitable for continued reading after the basic setup works.