Setup Guide · First Connection

v2rayN Setup Guide

Import a subscription → Choose a proxy mode → Connect → Verify traffic. Follow these four steps for your first setup, then move on to advanced settings.

With the client installed and a valid subscription ready, allow about 10 minutes for the setup steps. Download time and network troubleshooting depend on your connection.

Before you begin, make sure the client opens and have a valid subscription URL that you are authorized to use. The client reads configuration, runs the core, and provides a local proxy entry point; it does not provide servers to connect to. Subscription URLs usually come from your service provider's account page and are different from login or purchase pages. If you haven't installed a client yet, choose an installer for your operating system on the download page. For installation permissions, runtime requirements, and platform differences, see the complete setup guide.

Before your first setup, close any other tools that are managing your network and note your current network settings. Avoid enabling multiple system proxies or VPN connections at once, or it will be difficult to tell which app handled a request. This guide starts by getting a browser connected; you don't need to configure TUN, custom routing, or terminal environment variables yet. Check the glossary for unfamiliar terms, or visit the help center if you already have a specific error.

Step 1: Import a Subscription and Update Servers

Add a Subscription Group in v2rayN

Open v2rayN, find Subscription Group in the top menu, open Subscription Group Settings, then select Add. Enter a recognizable label, such as “Daily,” in the remarks field, and paste the full subscription URL in the address field. The label is just for local reference and does not change the subscription. Check both ends of the URL after pasting to make sure you haven't included a line break, extra spaces, or text from a chat app. The address below is only an example of where to enter it; it cannot be used to retrieve servers.

https://example.com/sub?token=xxxx

Save the group settings and return to the main window. From the Subscription Group menu, choose Update subscription. If this is your first time and you don't have a working connection yet, try updating without a proxy first. Choose Update through proxy only if the URL can be reached only through an existing proxy. Depending on the version, the menu may say Current subscription or All subscriptions; updating only the group you just added makes the result easier to check. Adding a URL does not load its configuration—the update must complete.

When the update finishes, switch to the group you added. Server entries should appear in the main panel. Check that they belong to the right group, and look in the client log for messages such as download failed, parse failed, or no content received. If the update reports success but the list is empty, clear any list filters and check whether the subscription has expired or returned a login page. Don't keep clicking Update or change core settings at random to fill an empty list; neither will fix an incorrect URL.

Follow the Same Steps in v2rayNG

In v2rayNG, open the top-right menu and go to Subscription Group Settings. Tap Add, enter a label and subscription URL, then save. Return to the main screen, open the menu, and choose Update subscription. If your version offers different update methods, start with direct access to the subscription URL. Once server entries appear, confirm that you're viewing the right group. If you have a single protocol share link rather than a subscription URL, use an option such as Import from clipboard; don't enter the two types of link in the same field.

Subscription URLs may contain access credentials. Don't include them in public screenshots or paste them into unknown conversion sites. When reporting an error, share only the error text and redact any tokens in the URL. This step is complete when the target group contains selectable servers—not merely when the form has been saved. Confirm that before moving on to proxy mode settings, so you don't change network options before the configuration has loaded.

Step 2: Choose a Proxy Mode and Routing

Understand the Entry Point and Routing Rules

In v2rayN, System Proxy and Routing Mode are easy to confuse. System Proxy determines whether apps that follow your system settings send requests to the client. Routing Mode determines whether the core proxies, connects directly, or blocks a request it receives. Choosing Global does not automatically route traffic from every program on your computer, and choosing Bypass mainland China does not turn on the system proxy. Choose a routing mode first, then enable the entry point in the next step.

Choose a built-in preset from the routing selector in the main window or the routing settings. For an initial everyday test, a preset such as Bypass mainland China can send traffic matching direct rules straight to its destination and handle other traffic according to the preset. Global typically sends requests that reach this entry point through the proxy, while Direct is not suitable for testing whether the proxy server works. Preset names and rules vary by version. Review the rules before choosing one rather than assuming where every domain will go based on its name.

For your first connection, keep the default routing rules and data files; there's no need to edit JSON yet. If one destination goes direct while others work, the issue may be a rule match rather than the subscription. Note the destination domain and the outbound route shown in the logs, then check the routing glossary. This guide does not cover changing rule priority; see the complete setup guide for detailed rule configuration and platform preparation.

Skip TUN During Your First Test

TUN is a separate way to capture traffic and involves a virtual network interface, routing, and permissions. To keep troubleshooting manageable, use the system proxy to test your browser on desktop and leave TUN off for your first connection. Once the basic connection works, consider an in-app proxy or TUN if an app does not follow the system proxy. Don't change DNS, routing presets, the core, and the entry point all at once; if the test fails, you won't know which change caused it.

In v2rayNG, open Settings and review the routing options. For your first setup, start with a suitable built-in preset. If you've enabled per-app proxy before, check that your browser is included in the apps being routed. Depending on the setting, it may mean “proxy selected apps only” or “bypass selected apps.” Read the current description rather than inferring its behavior from the checkbox alone. Once you've confirmed the routing and app scope, return to the main screen and select a server.

Step 3: Select a Server and Connect

Enable the System Proxy on Desktop

In the v2rayN server list, select a configuration, open the context menu, and choose Set as active server. Some versions let you select a server by double-clicking; check which one has the active marker. An entry in the list isn't necessarily the server currently in use. If the old server still appears to be selected after switching, confirm that the active marker changed. For your first test, choose just one configuration; don't keep switching servers before you've confirmed the result.

Next, find the system proxy option at the bottom of the main window or in the system tray menu, then choose Set system proxy automatically. Keep v2rayN running and check the log area for core startup issues, port conflicts, or configuration parse errors. Depending on the version, selecting a server may reload the core automatically, so there may not be a separate Connect button. Focus on whether the active configuration loaded and the local entry point is listening, rather than looking for a specific icon.

  • Set system proxy automatically: Writes the current local entry point to your system proxy settings for apps that follow them.
  • Clear system proxy: Clears the corresponding system proxy settings so you can restore your original setup when finished.
  • Do not change system proxy: Leaves system settings unchanged; it does not automatically remove a proxy that was set earlier.

Use the local port shown in the client's current settings. If the interface shows 10808, check that port during troubleshooting rather than copying a different number from an old guide. Confirm the protocol type in the current inbound settings; don't mix up the HTTP and SOCKS entry points. If the logs report that the port is already in use, close any old client processes and restart the current instance. If the conflict persists, change the port and update the related entry point settings.

Connect on Android and Approve System Access

On the v2rayNG main screen, tap the server you want to use to select it, then tap Connect. The first time you connect, Android will ask for permission to set up a VPN connection; review the prompt and allow it. This uses Android's built-in traffic routing interface—you don't need to buy a separate VPN app. If another VPN connection is already active on the device, you will usually need to disconnect it before v2rayNG can take over.

After connecting, check the connection status on the main screen and the system notification. A status of Connected means local traffic capture is active; it does not yet confirm that the remote server is reachable. If the button immediately returns to the disconnected state, check the logs for configuration or permission errors rather than changing the routing mode. Battery or background restrictions may also stop the connection when the screen locks. Keep the app in the foreground for your first test; once the connection works, review its background settings.

At this point, the subscription, active server, and local entry point should all be ready. Next, send a request from an actual app and verify it against the logs. A changed system tray icon or button color alone is not enough to confirm that setup is complete.

Step 4: Verify the Connection and Restore Your Settings

Match Page Results to Client Logs

Open a new browser tab and visit an HTTPS page that should use the proxy under your current routing rules. Choose a page with fresh content rather than one that's already open in the browser cache. Check that it loads, then look in the client logs or connection details for the corresponding request and its final outbound route. If the current log level does not show requests, temporarily increase it if needed, then restore it after testing. Hide server addresses and credentials before sharing logs.

Next, visit a page that should connect directly under your rules and check that it loads too. With split routing, the two destinations may use different outbound routes—that's expected. A page loading does not prove that every app uses the proxy, and checking your public IP does not reveal the full path of every connection. For a more reliable check, compare the destination domain, test time, and client log entry, and make sure no other proxy extension is handling browser traffic.

The client's connection test can help determine whether a server responds, but a passing test does not guarantee that your browser is configured correctly. A failed test also needs to be evaluated against the test destination it used. If only the browser fails, check its proxy extensions, separate proxy settings, and existing connection cache. If needed, fully close and reopen the browser. If all requests fail, review the core startup logs, active server, and subscription validity, then troubleshoot each step in turn.

Check Other Apps and Android App Scope Separately

Terminals and some desktop apps may not follow the system proxy, so a working browser alongside a failing terminal is not a contradiction. Don't keep updating the subscription or switching cores; first check the app's own proxy settings. Terminal environment variables and in-app proxy settings are more advanced options—see the relevant topics in the help center. For the initial test, confirm that one browser that follows the system proxy routes traffic as expected before expanding the scope.

On Android, send a real request from a browser too, and make sure per-app rules haven't excluded it. If v2rayNG shows Connected but there's no matching browser request, check the app scope, other VPN connections, and the browser's own settings. If the request appears but times out, check the remote configuration and network conditions. Change one setting at a time, then revisit the same destination to see what changed.

Disconnect and Reconnect Later

Before stopping v2rayN on desktop, choose Clear system proxy, then exit the client. If you end the process without clearing the setting, the system may still point to a stopped local port, leaving your browser unable to connect. If that happens, reopen v2rayN and clear the setting, or check the proxy switch in your system network settings. On devices managed by your organization, follow its network policies and don't override required proxy settings.

On Android, tap the connection button to disconnect, then confirm that the system VPN connection has ended. You usually don't need to add the subscription again next time: update the group if needed, confirm the active server, and connect. If your provider changes the subscription URL, edit the existing group rather than creating duplicates. Keep the verified routing preset in the desktop client too; there's no need to start from scratch each time.

If one of the four steps is still failing, narrow down the issue by where it occurs: startup problems point to installation or permissions; update failures point to the subscription URL; connection failures point to the core logs; and problems in a single app point to its entry point or routing. See the help center for troubleshooting, or the complete setup guide for all platforms for system requirements, installation paths, and platform-specific settings. Keep the basic working setup before adding features one at a time.