First-time setup · 4 steps

v2rayN Setup Guide

Import a subscription → choose a proxy mode → connect → verify access. Follow this order for your first setup: get one configuration working before moving on to TUN, DNS, or custom routing.

Before you begin, you’ll need a client and a source for a working configuration. The client reads and runs configurations; it does not provide servers. Choose an installer for your device from the Download Center and open the client. Then get a subscription URL or a single share link from your service provider. A subscription is usually a web address, while share links may start with vmess://, vless://, or trojan://. They use different import options, so there’s no need to convert them manually.

This first-time setup takes about 10 minutes; you don’t need to understand every protocol setting first. Keep only one proxy client actively handling traffic, make sure your device’s date and time are correct, and stay connected to a network that works without the proxy. Subscription URLs may contain access credentials, so don’t post them publicly. If you need help, share the error message and hide the URL, user ID, and server credentials in any screenshots.

1 · Import a subscription and check the configuration list

You’re done with this step when server configurations appear in the list. Adding a subscription URL saves its source; you still need to update it to download configurations to the client. First, make sure you have the client subscription URL, not an account page, purchase page, or regular web page opened after signing in. A page opening in your browser doesn’t mean the client can parse that address.

v2rayN: Add a group, then update the subscription

Open v2rayN and find the subscription group menu, then open the group settings or add-group option. Create a group, give it a recognizable name, paste the full subscription URL into the address field, and save. Check the beginning and end of the URL to make sure you haven’t included a line break, quotation mark, or punctuation added by a chat app. Keep any query parameters intact; don’t remove them to shorten the URL.

Return to the main window and choose Update from the subscription menu. If you don’t have a working proxy connection yet, choose an option such as “Update subscription (without proxy)” so the request uses your current network. Some providers require an existing connection to access subscription URLs; in that case, you’ll need another working configuration first. Don’t keep switching update methods before a connection is established. When the update finishes, select the group you created. The list should show configuration details such as the name, address, port, or protocol.

If you have only a single share link, copy the complete link and use the server menu option “Import share links from clipboard” or its equivalent. This usually adds one server configuration; it does not create a subscription group that can be updated later. If the server settings change, you may need to import the link again. A subscription group, by contrast, can be updated to retrieve changes published by your provider.

v2rayNG: Save the subscription, then update it from the list

In v2rayNG, open the menu, go to Subscription settings, tap the add button, enter a name, paste the subscription URL, and save. Return to the configuration list, then choose Update subscriptions or Update current group from the main menu. Group controls may appear in different places across versions. Make sure you update the subscription you just saved, not a different group.

For a single share link, copy it, tap the add button in the upper-right corner, and choose Import from clipboard. A new configuration should appear in the list. Check that its name looks right. You don’t need to edit every entry in a subscription or guess the port, transport, or security settings based on the protocol name. Use the complete configuration provided by your service provider.

If the list is still empty after an update, read the update message and check that the URL is complete, the subscription is valid, and your current network can reach its source. Repeated updates won’t fix an expired URL and may trigger rate limits on the provider’s server. Continue troubleshooting in the FAQ’s installation, setup, and troubleshooting section. Once configurations appear, move on to choosing how traffic enters the client.

2 · Choose a proxy mode and initial routing

The proxy mode determines how traffic reaches the client; routing rules determine where it goes next. A successful import doesn’t mean your browser is using the proxy. For your first setup, choose one clear way to route traffic and keep an existing set of routing rules. Changing the system proxy, TUN, DNS, and protocol settings all at once makes it harder to pinpoint problems during testing.

v2rayN: Start with the system proxy to test your browser

In v2rayN’s main window, open the system proxy menu or use the status bar control and choose “Automatically configure system proxy.” The client points the system proxy settings to its local listening port, allowing apps that follow those settings to send requests through the client. Start by testing a regular browser. Some apps have their own proxy settings or ignore the system proxy, so a working browser connection doesn’t mean every app will use the same route.

“Clear system proxy” removes the system proxy settings, which is useful when pausing the client or restoring your previous network setup. “Do not change system proxy” means the client won’t modify those settings; it doesn’t switch every app to a direct connection. If your device already had a manual proxy configured, choosing “Do not change” may leave it in place. Check the current mode label after changing it; don’t assume the setting took effect just because the menu closed.

For routing, start with an existing rule set such as “Bypass mainland China (Whitelist).” Traffic that matches the rules goes direct, while the rest goes through the proxy outbound. A rule set’s name is only a hint; its behavior depends on the rules it contains. If your test destination is set to go direct, a successful visit won’t prove the proxy outbound works. Step 4 shows how to check the connection records.

v2rayNG: Start with VPN mode and grant permission

Check the operating mode in v2rayNG settings. For a first run, VPN mode is usually a good place to start. It uses Android’s VPN interface to handle traffic and prompts you for system permission when it starts. This differs from how the desktop client sets the system proxy, so you don’t need to look for an “Automatically configure system proxy” button. Keep the default DNS settings for now. If app routing is enabled, make sure your test browser isn’t excluded from the proxy.

Android generally can’t let two apps using the system VPN interface handle connections at the same time. If another client is running, stop it before starting v2rayNG. Work profiles, device management policies, or other network apps may also affect permissions and which traffic is routed. If the VPN disconnects immediately after you grant permission, check for these conflicts rather than importing the subscription again.

At this point, you should be able to identify the traffic mode you’re using and the routing rules in effect. Next, connect using just one server configuration. Don’t change modes and switch servers in the same test.

3 · Select a server and connect

Select one configuration first, then make sure the service is running. Multiple entries in a subscription give you options; they don’t all connect at once. For your first test, choose one clearly identified configuration with complete settings from the subscription. Leave automatic switching and complex load-balancing rules for later.

v2rayN: Set the active server and check the logs

Find the server you want in the list and use “Set as active server” in the right-click menu, or the equivalent option in your version, to make it current. Some versions also let you double-click a server to switch. Check that the active indicator or server details in the status bar have changed. Simply clicking a row may only select it without changing the server currently in use.

In v2rayN, enabling a configuration usually starts or reloads the core, so there may not be a prominent Connect button. Check the log area in the main window or open the log window. Make sure recent entries aren’t repeatedly reporting startup failures, a port in use, or configuration errors. A local listening message means the local service is up, but you still need to test access to confirm the remote connection works.

If you see a local port conflict, check whether another instance of v2rayN or a different proxy app is still running in the background. Close duplicate instances and try again. Don’t change several ports at once; the system proxy port must match the port the client is actually listening on. If a configuration uses an unsupported field or feature, update the client and check whether the current core supports it. See the multiple-core configuration section for details.

v2rayNG: Select a configuration and start the VPN connection

Tap the configuration you want in the v2rayNG list and make sure it becomes the current one, then tap the Connect button at the bottom. The first time you connect, Android asks whether to allow a VPN connection. Verify the request comes from the client you opened, then grant permission. Return to the main screen and check that the Connect button and status text show an active connection. The system status bar may also display a VPN icon.

After starting the connection, wait a moment and check the app’s status or logs. If it switches back to stopped right away, the connection didn’t stay up; check the error message first. If the app stays connected but disconnects soon after you switch to a browser, check whether the system is restricting background activity. Settings vary by device and are usually under app battery management or background activity.

The client’s connection or latency test can help, but it may cover only a specific destination or stage of the connection. A latency result doesn’t guarantee that every site will load, and no result alone doesn’t prove the configuration is unusable. Don’t cycle through a dozen configurations based only on the test. Keep the current one and test real-world access; the results will be easier to interpret.

At this stage, confirm three things: the correct configuration is active, the local service is running, and the logs aren’t repeatedly reporting startup errors. Then check whether browser requests are reaching the client and whether routing sends them through the expected outbound.

4 · Test access and restore your connection when finished

Check real-world access and the matching connection records—not just the icon. A running icon, the system VPN indicator, and a connection test each show a different part of the picture. To verify the setup, confirm that the app uses the right traffic mode, requests reach the client, and destinations use the expected proxy or direct route. Finally, make sure your regular network works again after you stop the connection.

Open a new page and check the connection records

Open a new browser tab and visit a regular site that should go through the proxy under your current routing rules. Don’t just refresh an existing page; browser cache or an existing connection can hide the effect of a settings change. While the page loads, check the client’s connection records or logs for requests around that time and the site’s domain. Log detail varies by version. If the domain isn’t shown, you don’t need to change all the logging settings right away.

If the browser loads sites but you can’t find related requests in the client, check whether the browser has its own proxy setting, a proxy extension is overriding system settings, or the app is excluded by routing rules. On desktop, make sure the system proxy is still set to automatic and that the client didn’t stop when you switched servers. On Android, check that the test app is within the VPN’s traffic scope. First rule out the possibility that traffic isn’t reaching the client at all; then investigate the server.

If the records show requests reaching the client but connections time out or handshakes fail, switch to just one other configuration and revisit the same destination. This helps tell whether the problem is specific to one configuration or affects all connections on your current network. If only one site fails while others work, check the site’s status or the routing rule for that domain before reinstalling the client.

Check routing results and keep a working setup

Open another familiar site that should connect directly and compare it with the routing or outbound information in the client. With bypass rules, not every request should appear under the proxy outbound. Check that the rules behave as expected rather than trying to make every record show proxy traffic. The exit address shown by a browser proves only where that particular request exited, not how every app on the device is routed.

For your first test, avoid changing DNS at the same time. If the logs repeatedly show domain resolution failures but the configuration starts successfully, first check whether DNS works on your regular network. Then use the FAQ troubleshooting section to investigate by error type. For custom DNS, per-app routing, or rule priorities, see the full guide; this page covers only what you need to connect for the first time.

Once testing succeeds, note the current group, active configuration, proxy mode, and routing setup. Don’t save a complete URL containing credentials in a public note. If something goes wrong later, return to these known-working settings and change one thing at a time. Subscription updates may change entry names or order, so check that the active configuration is still there before use; don’t mistake an old entry for a newly updated one.

Finish by checking that your regular network is restored. Before closing v2rayN, choose “Clear system proxy” so apps don’t keep sending requests to a local port that’s no longer open. In v2rayNG, tap the Connect button to stop the VPN and confirm the system shows it has disconnected. Then open a site you normally access directly and make sure your regular connection works. To use the proxy again, follow step 3 and check the connection.

To repeat a step, go straight to subscription import or proxy mode; there’s no need to reset the whole client. Keep the configurations you’ve verified and fix only the part that’s causing trouble.