First-Time Setup · Step by Step

v2rayN Setup GuideImport a Subscription and Test Your Connection

Import a subscription → choose a proxy mode → enable a server → test access. Get one working connection first, then adjust routing and other settings.

Getting Started: Client and Subscription URL

This guide covers only the settings needed for your first connection. Before you begin, prepare a working client and a valid subscription URL you’re authorized to use. The client reads the configuration and runs the core; the subscription provides server details. Installing the app alone won’t add usable servers. Your provider usually supplies the subscription URL in your account. It may be tied to your account, so don’t share it in public chats, screenshots, or support posts.

If you haven’t installed a client yet, visit the client downloads page and choose the build for your operating system and processor architecture. If you downloaded an archive, extract all its contents to a permanent folder, then run v2rayN.exe. Don’t launch it from the archive preview window. If you downloaded an installer, follow the setup wizard. On first launch, you should see the server list, subscription menus, and logs. An empty list doesn’t mean the installation failed.

Menu labels and locations may vary slightly between versions; this guide uses commonly seen names. First, confirm that the main window opens and the logs show no persistent startup errors. If a runtime is missing, the app closes immediately, or you see a permissions prompt, address that issue before continuing. For help, see installation, configuration, and troubleshooting FAQs. Don’t change routing, ports, and DNS while also fixing a startup issue, or it’ll be hard to tell which change helped.

For the initial setup, keep just one proxy client running. Leave TUN mode off, and don’t enable a browser proxy extension at the same time. This makes it easier to identify what’s causing the results you see. You don’t need to enable the system proxy right after installation. Import the subscription first and confirm that the server list is populated, so your browser won’t point to a local proxy that isn’t running yet.

Step 1: Import a Subscription and Update the List

In the v2rayN main window, open Subscription Group → Subscription Group Settings and choose Add. Enter a recognizable name, such as “Daily subscription,” then paste the full subscription URL into the address field. The name is only used to identify the group; it doesn’t change the server connection settings. Check that the URL doesn’t include spaces, line breaks, or punctuation added by a chat app, then save and close the settings window.

Back in the main window, select Update All Subscriptions from the subscription menu. Some versions offer separate options for updating through or without a proxy. Since you haven’t established a working proxy yet, try updating without one first. Watch the logs while the subscription is fetched and parsed, then select the group you just created. On success, you should see server entries with details such as their names, addresses, or protocols—not just an empty group.

If the list is still empty, make sure you’re viewing the right group and that the server filter box is clear. Then check the logs for request failures, an invalid URL, or parsing errors. Being able to open a subscription URL in a browser doesn’t mean its contents are in a format the client can read. A login page, error message, or expired access notice can all result in “the page opens, but no servers are imported.” Don’t publicly share full logs that contain private URLs. For help, see the FAQs.

In v2rayNG, open Subscription Group Settings from the top-right menu, add a name and URL, and save. Return to the server list and select Update Subscription. Some versions show specific update options; the goal is to get a valid server list. If you have a single server share link, use the appropriate Import from Clipboard option instead of saving it as a subscription URL. These options handle different types of input.

Updating a subscription refreshes the local configuration; it doesn’t establish a connection. Next, decide how apps send traffic to the proxy and how the core routes that traffic. These are controlled separately by the system proxy and routing settings.

Step 2: Choose a Proxy Mode and Routing Rule

In v2rayN, find System Proxy in the main window or tray menu. For the initial test, select Automatically Configure System Proxy. This points the system proxy to the client’s local listening address, so browsers and other apps that follow the system proxy can send requests to the client. “Automatically configure” means the client updates the system settings for you. It doesn’t mean every app will use the proxy, or that traffic will be routed by website automatically.

Clear System Proxy removes the relevant system proxy settings; Do Not Change System Proxy generally means the client won’t modify the existing settings. For your first setup, avoid choosing Do Not Change and guessing where the system proxy points. Also note that clearing the system proxy won’t necessarily stop the core. Apps with a manually entered local proxy address may still connect. Check the system proxy and core status separately.

Next, open Routing Settings and choose a preset that suits your needs. A common rule, Bypass Mainland China (Whitelist), sends traffic matching direct-connection rules straight to its destination and routes other traffic according to the rules. Menu labels vary by version. The system proxy determines whether a request reaches the client; routing determines where it goes afterward. They aren’t the same switch.

If your version offers a global proxy routing mode, you can briefly compare it with rule-based routing while troubleshooting, but you don’t need to change all your rules for the first connection. Global routing only applies to traffic that reaches the core; it can’t make an app that ignores the system proxy use the client. TUN involves a virtual network interface, permissions, and DNS, so leave it off for now. Learn more in the complete guide after you’ve confirmed the basic connection works.

v2rayNG uses Android’s VPN interface to route traffic; you don’t need to copy the desktop Automatically Configure System Proxy steps. Choose a suitable rule in the client’s routing settings. For the initial test, avoid adding app exclusions. If you’ve configured per-app proxy settings before, make sure the browser you’re testing isn’t excluded. Once you’ve chosen a mode, select the server you want to use.

Step 3: Choose a Server and Start the Connection

Return to the server list, select an entry, open the right-click menu, and choose Set as Active Server. Some versions let you do the same by double-clicking or using a keyboard shortcut. Check the active-server marker or status bar to confirm your selection took effect. A single click may only highlight the row without changing the active server, so don’t rely on the selection highlight alone.

After you change the active server, v2rayN usually starts or reloads the core using the current configuration. Open the logs and check for errors such as a port conflict, an unreadable configuration, or a failed core startup. If the interface has a start or restart service option, use it after changing settings, then check the logs again. Avoid switching servers repeatedly in quick succession; mixed log entries make it hard to tell which attempt caused an error.

Server tests can be useful, but a test result isn’t the only way to tell if a connection works. A basic latency check may use a different path from an actual web request, and one failed test doesn’t prove that all traffic will fail. Choose a server your provider has confirmed is working, keep the core running, and test it in a browser. If the logs report a local port conflict, resolve it first rather than changing several ports at once.

In v2rayNG, select the server you want to use, then tap the connect button at the bottom right. The first time you connect, Android will ask you to authorize the VPN connection. Approve it, then return to the client and check its status. This authorization lets the client create a local VPN interface; it doesn’t confirm that the remote server is reachable. Even if the VPN icon appears, you still need to test access in the next step. If another VPN is already connected, disconnect it first to avoid conflicts.

At this point, the status should be clear: the intended server is active, the core isn’t reporting persistent startup errors, and the proxy entry point is configured. Keep the client running in the background, then test the connection in your browser.

Step 4: Test Your Connection

Start with a browser that follows the system proxy and has no extra proxy extensions. Visit a known working site that should use the proxy under your current routing rules. Also check a site that normally connects directly to distinguish a general network outage from a proxy issue. Don’t assume a connection is working just because one page opens: it may be routed directly or served from cache. Refresh the page or open a new window, then compare the result with the client logs.

Logs can help confirm whether a request reached the core and whether the connection failed. Some versions don’t show every request at the current log level, so the absence of individual request entries doesn’t mean the proxy isn’t working. If available, check connection details for the destination address and outbound route. Judge the result by combining actual access, error messages, and expected routing—not just the tray icon or status bar.

If your browser can’t open any pages, first check that the client is still running, the intended server is active, and the logs show no startup errors. If the core is running but browser requests don’t reach it, confirm the system proxy is configured and that no extension or browser-specific setting is overriding it. If requests reach the core but time out, try another known working server and check whether the subscription has expired. Change one thing at a time, then revisit the same page to compare results.

If the browser works but a particular app doesn’t, first check whether that app follows the system proxy instead of reinstalling the client. Some apps require you to enter a local proxy address and port in their network settings. Get the port from the client’s current settings; don’t assume a fixed number from an online guide. For more advanced questions about app proxies, DNS, or TUN, see the troubleshooting FAQs or the complete guide.

Closing the v2rayN main window may only minimize it to the tray; it doesn’t necessarily exit. On the other hand, ending the process directly may not restore the system proxy. If your browser still says the proxy server is unavailable after you exit, check whether a manual proxy setting pointing to a local address is still enabled. Identify where the setting came from before changing it, so you don’t overwrite proxy settings needed for your work network.

Everyday Routing: Keep a Working Configuration

After confirming the connection works, return to Routing Settings → Bypass Mainland China (Whitelist) or your usual routing rule, then check that commonly used sites behave as expected. Restore rule-based routing if you switched to global proxy mode while troubleshooting. Rules determine the route for each destination, so some traffic using a direct connection while other traffic uses the proxy is expected—it doesn’t mean the client is failing randomly.

For ongoing maintenance, make as few changes as possible. Give each new subscription group a clear name, then check its contents after updating. If a server stops working, try another entry in the same group before checking the service status. Once you have a working setup, don’t change the core, routing, DNS, and ports all at once because of a single failed request. Keep only the settings you need, and hide subscription URLs and server credentials in screenshots.

This guide covered the basic connection flow: a subscription populates the server list, the active server provides an outbound connection, and the system proxy or mobile VPN interface routes app traffic to the client. Routing rules then determine where each request goes. To learn more about protocol differences, custom routing, TUN, and ongoing maintenance, follow the complete guide from beginner to advanced. To troubleshoot a specific error, start with the FAQs.