CLIENT SETUP

v2rayN Setup Guide

Import a subscription → Choose a proxy mode → Connect → Verify it works

For a first-time setup, allow about ten minutes to complete these four steps and basic checks. This guide starts with an installed client and does not cover advanced rules or networking concepts. If you haven't installed a client yet, visit the client downloads page to choose the right installer, then come back here. The desktop instructions use v2rayN, with Android steps alongside each one. Follow the steps for your client.

Before you start, have the subscription URL from your service provider ready, and check that your device's date, time, and time zone are correct. The client reads configurations and establishes connections; installing it does not automatically provide a working server. Subscription URLs may contain access credentials, so copy the entire URL and never post it, its QR code, or screenshots of the configuration in a public forum.

Step 1: Import a Subscription

First, identify what you have. A subscription URL is usually a complete URL from your service provider that retrieves and updates a set of server configurations. A server share link contains just one configuration, and uses a different import option. This guide focuses on subscription URLs. Don't enter your provider's account login page, order page, or webpage title in the subscription field.

v2rayN: Add a Group, Then Update the Subscription

Open v2rayN and choose Subscription Group from the top menu, then open Subscription Group Settings. Add a group and give it a recognizable name, such as Daily. Paste the complete subscription URL into the URL field. Check that it has no extra spaces at either end and that no parameters were lost to a line break in your messaging app. Save the settings and close the group window.

Saving the URL does not load the server configurations. Return to the main window, open the Subscription menu, and update the group you just added. If the menu offers options to update directly or through a proxy, try updating directly first if this is your first setup and you don't have a working connection yet. Watch the status message or logs at the bottom of the window and wait for the request to finish, then check for server entries in the list. Avoid clicking Update repeatedly, so you can tell which request returned a result.

After a successful update, the server list should show selectable configurations under the group you added. If the list looks empty, check whether another group is selected or a search filter is active. If entries were already there, don't rely on their display names alone to confirm the update; check the update message, since subscription entries may keep the same names.

v2rayNG: Add a Subscription, Then Update from the Main Screen

In v2rayNG, open the side menu or top-right menu and look for Subscription Group Settings or a similar subscription management option. Tap Add, enter a name and subscription URL, then save. Return to the main screen and select Update Subscription from the menu. When the server configurations appear in the list, the URL has been retrieved and parsed. Don't connect just yet; check the proxy mode in the next step first.

If you have a single share link, copy the entire link and use an option such as Import from Clipboard instead of adding it as a subscription URL. For QR code imports, check that the source is trusted and confirm the configuration is complete after saving. Don't fill in missing fields such as the port, user ID, public key, or server name just to complete the form.

Step 2: Choose a Proxy Mode

After importing a subscription, decide how apps send requests to the client and how the client routes them. On desktop, System Proxy handles the first part; routing handles the second. They are separate settings: choosing a routing rule does not mean your browser is using the proxy, and enabling the system proxy does not mean every site will use the same outbound route.

v2rayN: Set the System Proxy, Then Check Routing

Find System Proxy in the status bar at the bottom of the main window or in the tray's right-click menu. To route apps that follow the system proxy through the client, select Auto Configure System Proxy. Check that the status bar text changes. Auto Configure means the client updates your system proxy settings; it does not select a server automatically, and it does not force every app to follow those settings.

Next, find the routing mode. For everyday use, consider a built-in rule such as Bypass Mainland China: requests matching direct-connection rules connect directly, while other requests are routed through the proxy. The exact matches depend on the rules and configuration, so don't treat a mode name as a guarantee for every address. To temporarily test the proxy path, you can use a global proxy routing mode, then switch back to your usual rules when you're done.

For your first setup, leave TUN disabled and avoid changing the listening port, DNS, or complex custom rules at the same time. The system proxy is enough for a basic browser test. If you later need to connect apps that don't follow the system proxy, look into the appropriate options separately. Keeping the setup simple makes it easier to tell whether a problem is with the server, system proxy, or routing.

v2rayNG: Keep the Default Scope for Now; Configure Per-App Routing Later

On Android, traffic is routed through the system VPN interface, so you don't need to copy the desktop Auto Configure System Proxy steps. Check the routing or predefined rules in settings. For your first connection, keep the defaults or choose a built-in option that suits your needs. Leave per-app proxy disabled until the basic connection test passes, then decide which apps to include or exclude.

If per-app proxy is already enabled, check whether the current mode is Proxy only selected apps or Bypass selected apps. The same set of checked apps means the opposite in each mode. If your test browser is excluded, opening a webpage in it doesn't prove the proxy is working. For details on the modes and more use cases, see the FAQ. There's no need to configure everything during your first setup.

Step 3: Select a Server and Connect

If the server list has several configurations, start by testing one that your service provider has confirmed is working. A server's name, region label, or position in the list doesn't guarantee that it's available. Latency tests can be useful, but they don't fully reflect real-world browsing. Even if a test returns a result, complete the actual connection check in Step 4.

v2rayN: Set the Server as Active

Return to the server list, select an entry, open the right-click menu, and choose Set as Active Server or the equivalent option. Some versions also let you switch servers by double-clicking, but check the context menu and active indicator to confirm. Then check the active marker in the list and the status at the bottom of the window. Make sure the selected configuration is actually enabled, not just highlighted.

In v2rayN, setting an active server usually starts or reloads the corresponding core; there may not be a separate Connect button. Open the log panel and look for messages about startup failures, configuration errors, or port conflicts. If you enabled the system proxy earlier, confirm that it still shows Auto Configure System Proxy. You can leave the window open or minimize it, but don't exit the client before testing.

For configurations using VLESS and REALITY, keep the parameters imported from the subscription. The server address, user ID, flow control, public key, short ID, and server name must match the server; some fields apply only to specific security settings. If the connection fails, check the details with your configuration provider. Don't change everyone's parameters to match a screenshot from another guide.

v2rayNG: Select a Configuration and Approve the VPN Request

On the main screen, tap the configuration you want to use and check that it's selected, then tap Connect. The first time you start the client, Android will show a VPN connection request. Check the app name and tap Allow. This permission lets the client route traffic on your device; it does not confirm that the server connection works. If you deny the request, the client cannot handle traffic this way.

After connecting, check that the button changes to Stop and that a VPN indicator appears in the system notification or status bar. Icons vary by phone, so check the client status too. If another VPN app is running, disconnect it normally before starting v2rayNG again. This avoids mistaking a system-wide VPN switch for two connections running at once.

For your first test, keep the client in the foreground while checking access. Once the connection works, check whether your phone restricts background activity; don't disable all battery-saving features right away. If the connection drops only when the screen is locked, then investigate battery optimization and background activity settings as a separate stability issue.

Step 4: Verify the Proxy Connection

Check in this order: whether the app is using the client, whether the target is reachable, and which route the traffic takes. Checking whether a single webpage opens can be misleading: it may match a direct-connection rule, or the browser may still be using an existing connection or cached content. Open a new page for the test, keep things simple, and don't switch servers or change routing at the same time.

Test in a Browser, Then Check the Client Logs

On desktop, use a browser that follows the system proxy. Temporarily disable extensions that control proxy settings independently, or set the browser's network preferences to use the system proxy. Open a familiar, trusted HTTPS site and make sure the page content and images load, rather than just a cached title. On Android, check that per-app rules haven't excluded your test browser, then try the same test.

Keep the client log window visible as you refresh the page, and look for a connection entry matching the test destination. If the current log level doesn't show individual requests, don't conclude that the connection failed just because there's no entry. Check the app's access result and the public IP as well. A direct outbound connection in the logs isn't necessarily a problem; first check whether the current routing rules should allow that destination to connect directly.

To Check Your Public IP, Keep Test Conditions Consistent

To check whether a request is using the proxy, use a trusted public IP lookup service and compare the results before and after connecting. The lookup site is also subject to routing rules, so an unchanged IP may be expected if the site matches a direct-connection rule. If needed, temporarily switch to proxy routing to compare, then restore your usual mode. Don't use the IP's apparent region alone to infer where all your traffic is going.

Next, test a site or local service that should normally connect directly, to make sure routing rules aren't disrupting everyday access. After the browser test passes, try other apps one at a time. If only one desktop app fails, check whether it follows the system proxy. If only one Android app has trouble, check the per-app proxy scope. Don't replace every server right away; the issue may be how the app connects to the client.

If every test fails, revisit the core logs and active server from Step 3. If webpages load but some domains fail, check routing and DNS settings. Change one thing at a time and note the results. For a full process covering no internet access, server timeouts, DNS, and system proxy issues, see the troubleshooting guide instead of exploring every possibility during your first setup.

Disconnect Properly and Keep a Record of What Works

Once testing is complete, note the working group, active server, and routing mode; there's no need to copy sensitive configuration details. After updating the subscription, check that the active server still exists and run a quick access test. If your provider has removed the entry, select a valid configuration. A familiar name doesn't mean the connection still points to the same server.

Before stopping v2rayN on desktop, select Clear System Proxy, then exit the client. This prevents the system from pointing to a local proxy port that is no longer running. On Android, tap Stop in v2rayNG and confirm that it has stopped; don't just swipe it away from the recent apps screen. If your browser can't connect afterward, first check for leftover proxy settings rather than resetting the entire network.