- First-time setup
- Subscription → Mode → Connect → Verify
v2rayN Setup Guide
Import a Subscription and Verify Your Connection
Follow four steps to make your first connection. Start by getting your browser working through the system proxy; consider TUN mode, custom routing, and DNS settings later.
Before you begin: Install and open the client, have a valid subscription URL ready, and make sure your current network can load ordinary web pages. If you haven't installed the client yet, choose the right package on the client download page. This page covers your first connection; for complex issues, see Troubleshooting.
STEP 01 / SUBSCRIPTIONS
Import a Subscription: Populate the Server List
After launching v2rayN, check whether the main window already lists any servers. An empty list doesn't mean the app is broken; you usually need to import a service configuration after installing the client. Your provider supplies the subscription URL, a link used to fetch server configurations. It isn't an account sign-in page or a website homepage. Copy the entire URL, including its parameters, without adding line breaks, Chinese notes, or trailing spaces. A subscription URL may contain account credentials, so don't share it in public chats, screenshots, or bug reports.
Create a Group and Save the Subscription URL
In the main window, open the Subscription Group menu, go to Subscription Group Settings, and select Add. Enter a recognizable name in the remarks field, such as “Everyday use,” then paste the subscription URL into the address field. The group name is for local reference and doesn't change server settings. Keep the other options at their defaults for your first setup, save, and close the settings window. In some versions, this menu is in the toolbar or Settings. Look for Subscription Group Settings; the button may not be in exactly the same place.
Saving the URL doesn't fetch any servers. Return to the main window, open Subscription Group, and choose Update All Subscriptions (without proxy), or a similarly named command for updating without a proxy. Since you don't have a working proxy yet, start with this option. When the update completes, check that the server list contains entries with a protocol, address, and port. Make sure you haven't selected a different, empty group. If you updated only one group, select that group to view the results.
Subscription URLs vs. Single-Server Links
If you have a single-server share link beginning with vmess://, vless://, or trojan://, copy the entire link. Then open the Server menu and choose Import batch URLs from clipboard. Imported servers appear directly in the server list and may not belong to the subscription group you just created. Either method adds server configurations, but subscriptions are easier to update in one place. Single-server links require you to manage their settings yourself, so don't paste one into the subscription update field.
If an update fails, first check whether the URL has expired, your account is still active, and your network can reach the subscription service. A sign-in page, error message, or ordinary article isn't valid subscription data. Try updating through a proxy only if you already have a working server; switching this option repeatedly with an empty server list usually won't help. Don't submit a private subscription to an unfamiliar online converter, either. If the error persists, remove sensitive details from the error message and follow the subscription update troubleshooting steps.
This step is complete when selectable servers appear in the main window—not just when the group name has been saved. There's no need to edit protocol settings yet; test the imported configuration as provided. Next, choose how browser traffic reaches the client and which routing rules apply once it gets there.
STEP 02 / TRAFFIC AND ROUTING
Choose a Proxy Mode: System Proxy vs. Routing
Two v2rayN settings are easy to confuse: System Proxy and Routing. The system proxy tells apps that follow system settings to send requests to a local proxy port. Routing determines whether those requests go direct, through a proxy, or get blocked after entering the core. So, choosing a mainland China bypass preset doesn't automatically route your browser through the client, and enabling the system proxy doesn't mean every site will use a remote server. Understand how these two settings work before checking your results.
Start with the System Proxy
Find System Proxy at the bottom of the main window or in the tray menu. Automatic system proxy configuration writes the client's current listening address and port to the system proxy settings. Clear system proxy removes the proxy settings configured by the client. Do not change system proxy means the client won't modify the existing system settings; it does not turn the proxy off. Find Automatic system proxy configuration now, but wait until you've chosen an active server before enabling it. This prevents your browser from using a port that isn't ready yet.
Leave TUN mode off for now. The system proxy is a simpler way to test browser access, with fewer variables to consider. TUN mode can capture traffic from more apps, but also involves permissions, a virtual network adapter, and DNS. You don't need to add those variables to your first connection. Avoid running multiple clients that modify the system proxy at the same time, too. One app may overwrite the port another just set, leaving the browser connected somewhere else even when the client appears to be configured correctly.
Choose the Mainland China Bypass Routing Preset
Open Routing Settings under Settings, or use the routing selector in the main window, and choose the mainland China bypass preset. Depending on the version, it may appear as Mainland China bypass (Whitelist) or a similar name. This type of preset typically sends traffic to mainland China addresses and local network destinations directly, while handling other traffic according to its rules. After saving, confirm that the main window shows the selected preset. Editing a rule set isn't enough if the client is still using a different one.
For your first connection, don't switch straight to Global mode to mask other problems. Global proxy mode generally sends more traffic that enters the core through the proxy, but it can't make apps that ignore the system proxy enter the core. Global direct also isn't a way to test a remote server. If only certain domains later use the wrong route, check the rule order in Routing Settings. Don't rewrite your subscription, routing, and DNS settings all at once.
At this point, you've chosen a routing preset, left TUN off, and found the system proxy setting. Now return to the server list, choose a working server, and route your browser traffic through it.
STEP 03 / TEST AND CONNECT
Connect to a Server: Test It Before Setting It Active
Select a server in the list, right-click it, and choose Test server real connection latency. The exact wording may be abbreviated in some versions. This test attempts to reach a configured test URL through the server, making it a better indicator of real-world use than simply checking whether a TCP connection to the remote port can be established. Test a few candidates first. There's no need to repeatedly test the whole subscription in bulk, especially on an unstable network or with a long server list.
Read the Test Results, Not Just the Numbers
A successful real connection test means the server completed that test request at the time. A lower result doesn't necessarily mean faster downloads, and it doesn't guarantee access to every site. A timeout could mean the server is unavailable, but the test URL, DNS, or local security software could also be the cause. Try another server and confirm the result in a browser. Tcping mainly measures the TCP connection. If Tcping succeeds but the real connection test fails, you can't assume the proxy is ready to use.
Choose a server that passed the test, right-click it, and select Set as active server. Some versions also let you activate a server by double-clicking, but the context menu makes your choice clearer. The main window should show the server as active, and the core should start or reload. Selecting a row alone doesn't switch servers: it only selects a server to act on. The active server is the configuration that carries the connection.
Enable the System Proxy and Check the Startup Log
Next, choose Automatic system proxy configuration under System Proxy. Open the log area in the main window and check for recurring startup, listening, or configuration parsing errors. If the log level is warning, a normally running client may not produce much output; a quiet log doesn't mean the connection failed. Look for errors immediately after startup rather than expecting a specific success message. Old connections may also linger briefly after switching servers, so open a new browser page or reconnect before testing.
If you see an address-in-use error, first check whether v2rayN is running twice or another proxy app is using the same port. Go to Settings → Parameter Settings → Core: Basic Settings and check Local mixed listening port. The common default is 10808, but use the value shown in your version and the core log rather than copying a port from an old guide. If you need to change it, save and reload the core, then select Automatic system proxy configuration again to update the system settings.
If your subscription includes different protocols, start with the compatible core selected by the client for that configuration. Don't switch cores based on the server name alone. A different core may not fix incorrect server settings and could introduce unsupported fields. If the core fails to start or reports an unsupported configuration, note the exact error and check the relevant cause in Troubleshooting. Don't download executable files from untrusted sources.
Your active server is set, the system proxy is configured, and the core has no obvious startup errors. These are only signs that the client is ready. In the final step, make a real request from your browser to confirm that the app is using this connection.
STEP 04 / VERIFY IN YOUR BROWSER
Verify the Proxy: Check the Page, Exit IP, and Logs
Open a browser that uses the system proxy by default, start a new tab, and visit an HTTPS page you normally need a proxy to access. For this first test, temporarily disable browser extensions that configure their own proxy, so they don't override the system settings. If the browser has its own network settings, make sure it's set to use the system proxy—not a fixed manual port or no proxy at all. Once the page loads, try another site to rule out a temporary recovery or cached response on the first one.
Check the Request's Actual Exit
A trusted exit IP lookup page can help, but first consider your routing rules. With the mainland China bypass preset, traffic to mainland China sites may go direct, so a local network IP on the lookup page isn't necessarily an error. The lookup page itself may also be routed direct by one of your rules. What matters is whether the specific request uses the expected route—not whether every page shows the same remote IP. The browser page, relevant request logs, and routing preset should all tell a consistent story.
With the default log level, only warnings may be recorded, so you might not see requests. To inspect traffic, temporarily change Log level to info under Parameter Settings, save, and reload the core. Then revisit the target page and check the timestamp, destination, connection errors, and exit information. Exit labels depend on the generated configuration; don't search for a specific word. Restore the original log level afterward. Before sharing logs, remove subscriptions, server addresses, and any browsing records that could identify you.
Can't Connect? Check from Entry to Exit
If the page still won't open, first make sure the client is running and the correct server is active, then check the system proxy. In Windows, open Settings → Network & Internet → Proxy to view the manual proxy address and port. After automatic configuration, these usually point to the local machine, and the port should match the client's current listening port. Use this screen to check the settings; don't keep changing them in both Windows and the client. If they're out of sync, clear the system proxy in v2rayN, then configure it automatically again.
If the port matches but access still fails, try another server that passed the real connection test and check that your device's clock is accurate. If only one site fails, check its routing and DNS resolution before reinstalling the client. If your browser works but an app doesn't, check whether that app follows the system proxy. It may need a proxy configured separately or may actually require TUN mode. For permissions, DNS, and app traffic interception, continue with systematic troubleshooting. For this first setup, keep the browser connection that already works.
Save Your Settings and Disconnect
Once access works, note your subscription group, active server, routing preset, and listening port. Change one setting at a time so you can roll it back easily. Subscription updates may add, remove, or replace servers, so check the active server again after updating rather than assuming your previous selection is still valid. If the connection briefly fails after switching networks, test the current server again before changing it. You don't need to rebuild the entire setup.
When you're done, select Clear system proxy in v2rayN before closing the client. If the app closes unexpectedly and ordinary web pages stop loading, check whether the system still points to a local proxy; once the client exits, that port can no longer forward requests. In v2rayNG for Android, disconnect the VPN using the main screen's connect button and make sure the system VPN indicator disappears. That's the full setup loop: fetch servers, understand the selected mode, start the core, and confirm real traffic.