First-Time Setup · Four Steps

v2rayN Subscription Setup and Connection Guide

Complete your initial setup in this order: import a subscription → choose a proxy mode → connect → verify. With the client installed and a valid subscription ready, the basics take about 10 minutes. If something goes wrong, pause at that step and troubleshoot before continuing.

Step 1: Import a Subscription

Before you begin, choose a client for your operating system on the download page and install it by following the installer prompts. This guide starts with the client open at its main window. You’ll also need a valid subscription URL from your service provider. The client reads configurations and routes requests; installing it does not give you access to a server. If you only have an account login page, open your provider’s subscription management page and find the URL for importing into a client.

Make sure you copy the subscription URL, not the website address. The website address is usually for signing in through a browser; the subscription URL returns configuration data the client can read. Copy the complete link, including any parameters after the question mark. Don’t include quotation marks, spaces, or line breaks. Treat the token in a subscription URL like a password. The https://example.com/sub?token=xxxx URL here is only an example and cannot be used as a subscription.

Open v2rayN and find “Subscription Group” or “Subscription Group Settings” in the main window menu. In the group manager, choose Add. Enter a label such as “Daily subscription” to identify the group; this only changes how it appears locally and does not affect your account. Paste the full URL into the subscription address field, make sure the group is enabled, then click Save or OK. If automatic updates are available, leave them at their default for now and run a manual update first to confirm the URL works.

Saving a group doesn’t download its configuration. Return to the main window, open the subscription menu, and choose “Update Subscription.” Make sure the update applies to the group you just added. If the menu offers both a regular update and an update through proxy, try the regular update first if you don’t have a working connection yet. When the update finishes, server entries should appear under the group in the main window. Check the protocol and group assignment; there’s no need to edit the transport settings for each configuration.

If the update reports success but the list is still empty, check whether the main window is showing a different group or has a filter enabled. Switch to the right group, clear any temporary filters, and check again. If you see an error about the subscription format, an unreachable URL, or denied access, copy the URL again and confirm that the subscription is still valid. Don’t edit the token just to make entries appear, or add multiple copies of the same group; duplicate groups make future updates and server selection harder to manage.

In v2rayNG, open “Subscription Group Settings” from the main screen menu and tap Add. Enter a label and subscription URL, then save. Return to the main screen and choose “Update Subscription” from the menu to fetch the configurations. Some versions let you update all subscriptions or a specific group; select the one you just added. The available configurations should appear when the update finishes. If you only have a single server share link, use the client’s link import feature instead of pasting it into the subscription URL field.

You’re done with this step when the group is saved, the update has finished, and its configurations appear in the list. You don’t need to connect yet. First, understand what the two settings in the next step control, then choose how to route traffic. For a quick explanation of subscriptions, individual configurations, and servers, see Quick Reference. For persistent update failures, see Subscription Management in Advanced Usage.

Step 2: Choose a Proxy Mode

Once the subscription is imported, don’t rush to find a setting called “Global.” v2rayN has two separate settings: the system proxy determines whether apps send requests to the local proxy, while the routing mode determines where requests that reach the client go. Think of the system proxy as the entry point and routing as the junction. If the entry point isn’t connected, changing routes alone won’t make your browser use the client. Once it is connected, routing rules may still send some requests directly to their destination.

Find “System Proxy” in the v2rayN main window or tray menu. For an initial browser test, choose “Set system proxy.” This points the system proxy to the local address and port where the client is listening, so apps that follow system proxy settings send requests through the client. “Clear system proxy” restores the system proxy settings; “Do not change system proxy” means the client won’t modify the existing settings. Seeing that the core is running does not mean the system proxy is configured correctly.

Next, find the routing mode selector. For common usage in mainland China, start with the “Bypass mainland China” preset: requests that match its direct-routing rules connect directly, while other requests use the proxy route. This preset depends on its rule resources and the current configuration; it doesn’t make an absolute determination about where every website belongs. For your first setup, choose one preset and note its name. Don’t also add custom rules, replace rule resources, and change the default route, or it will be hard to tell which change caused a problem.

“Global” generally means that requests already reaching the client are sent through the proxy route, but it doesn’t automatically route traffic from every app. Programs that connect directly or ignore system proxy settings may still bypass v2rayN. If an app’s connection fails, first check whether it uses the system proxy before changing the routing mode. Don’t judge whether Global or Bypass mainland China is better based only on whether one website loads. Choose based on your needs and the verification results below.

When getting started with v2rayNG, first confirm that it’s using VPN mode, not local proxy mode, which only runs a proxy for other apps to connect to manually. VPN mode uses the system interface to route device traffic; per-app routing settings can still affect which apps are covered. Then choose a suitable preset in Settings or the routing menu. If per-app proxying was previously enabled, make sure the browser you’re testing is included, so an excluded browser doesn’t make it look like the connection failed to start.

For now, leave advanced options such as DNS, TUN, FakeDNS, and custom outbounds at their defaults. Adding more traffic-routing methods before confirming a basic connection only gives you more variables to troubleshoot. Routing preset names and behavior vary between clients, so follow the descriptions in your current interface instead of trying to match every control in screenshots from other versions. You don’t need to memorize protocol abbreviations here; look up unfamiliar terms in the Glossary whenever you need to.

Before continuing, confirm two things: on desktop, you’ll use automatic system proxy configuration and have chosen a routing preset; on Android, you’ll use VPN mode and the browser you’re testing isn’t excluded by per-app routing. You’ve set up the traffic entry point and route, but you still need to activate a working server configuration. For a detailed comparison of these modes, see System Proxy vs. Routing Modes.

Step 3: Select a Server and Connect

Return to the v2rayN server list and select a configuration from the group you just updated. Prefer an entry your service provider explicitly recommends for your client; don’t guess protocol compatibility from the name alone. After selecting it, choose “Set as active server” from the right-click menu, or use the equivalent option in your version. Some versions let you double-click an entry, but check the active marker and status bar to confirm. A highlighted selection doesn’t necessarily mean the core is using that configuration.

After you switch the active configuration, v2rayN generates runtime settings from it and starts or reloads the core. Check the status at the bottom of the main window and the log area; the client should show that it’s running, without repeated startup failures or shutdown messages. The desktop client may not have a separate “Connect” button: the active server, running core, and system proxy settings work together to handle requests. Then confirm that the system proxy is still set to “Set system proxy,” in case switching configurations left it cleared.

If the logs say a local listening port is already in use, check whether another instance of the client is open or another proxy app is using the same port. Close duplicate instances and try again; this is easier to troubleshoot than changing several ports at once. If the system asks whether to allow the client to communicate over the network, confirm that the prompt is for the client you just started, then follow your device’s security policy. Don’t disable the entire firewall as a routine fix, and don’t ignore warnings about the program’s source.

If TLS handshake, authentication, or connection timeouts persist after startup, repeatedly switching system proxy settings usually won’t help. First check that the device’s date, time, and time zone are correct. Then check whether the subscription has expired, whether the configuration was recently updated, and whether the current network can reach the server. For your first setup, keep the parameters generated by the subscription. Don’t change the port, transport, server name, or REALITY fields yourself. These settings must match the server; changing one field won’t convert one configuration type into another.

In v2rayNG, tap the target configuration on the main screen and confirm that it’s marked active, then tap Connect. When connecting for the first time, Android usually asks for permission to establish a VPN connection. Confirm that the request came from the client you’re using and allow it. Return to the client to check the connection status and look for the VPN indicator in the system UI. The indicator means the Android VPN interface is active; it doesn’t guarantee successful server authentication or access to the internet.

If Android won’t allow the connection, check whether another app is already using the VPN interface and whether device management policies restrict VPN access. Don’t run multiple traffic-routing apps at once to compare results. If the client shows a connection but stops shortly afterward, open the logs and note whether the failure occurred while starting the core, establishing the interface, or connecting to the server. Return to step 1 to update the subscription only if the error points to a configuration or subscription issue. For authorization errors, resolve the permission issue first; for port errors, check the local listener.

You’re done with this step when the target entry is active, the client isn’t repeatedly reporting startup errors, and the required system proxy or VPN interface is enabled. A Connect button, tray icon, or system indicator only shows that one layer is running; it doesn’t replace an access test. Keep the current configuration and make a real request in the final step. If you can’t reach this state, go to the Connection Problems section instead of continuing to change routing and DNS settings.

Step 4: Verify Your Connection

Start by opening a known working HTTPS page in a browser that follows system proxy settings. If possible, test two unrelated websites so maintenance, login requirements, or rate limits on one site don’t skew the result. A page loading successfully is a useful first check, but it doesn’t prove that all traffic goes through the proxy. With the Bypass mainland China preset, some pages are expected to connect directly. Check the matching routing rule and client logs to confirm that each request uses the expected route.

In v2rayN, if your browser has its own proxy settings, make sure it uses the system proxy rather than a fixed direct connection or another port. Temporarily disable browser extensions that override proxy settings, then reload the test page. On Android, check that per-app routing hasn’t excluded the browser. Keep other proxy tools closed during the test; otherwise, a page may load through a different route, which won’t confirm that this setup works.

Next, check how routing behaves. Keep the client running and visit one destination that should use the proxy and another that should connect directly. If the current log level shows request and outbound details, check the route shown for each request. Whether these details appear depends on the client version and log settings; a request not appearing in the logs doesn’t mean no traffic passed through. If you temporarily increase the log level, restore it when the test is over to avoid storing large amounts of browsing information.

For comparison, briefly choose “Clear system proxy” in v2rayN and reload the test page, then restore “Set system proxy” and test again. On Android, disconnect and reconnect. To reduce the effects of cached data and existing connections, open a new browser window or restart the browser. This comparison only shows that the test request behaved differently; it can’t tell you how all apps are routed or whether the connection will remain stable over time.

If a test fails, start by reading the browser’s error. If it can’t connect to the local proxy, check whether the client is still running and whether the system proxy points to its current listening port. If the domain can’t be resolved, check DNS and the current network. If a connection succeeds but the page shows the website’s own error, consider the site’s response and access requirements. If only one site fails while others work, don’t immediately delete the subscription or reinstall the client. Test another unrelated site and keep the settings that already work.

If your browser works but other apps don’t, check whether those apps follow system proxy settings instead of repeatedly updating the server list. Some programs require a proxy to be configured in their own settings; others need a more comprehensive way to route traffic. For an initial setup, first confirm that the browser connection works. For TUN, DNS optimization, or custom routing, follow the Advanced Usage guide. Change one setting at a time and repeat the same test to see whether it helped.

After a successful test, note the active configuration, routing preset, and system proxy status. If a subscription update replaces or removes the active entry, select a valid configuration again and retest the connection. When you’re done using the desktop client, clear the system proxy before closing it. If you leave the client running in the tray, closing the window doesn’t disconnect it. On Android, use the Disconnect button to end the VPN connection. This prevents the system or apps from sending requests to a local proxy that’s no longer running.

For next steps, follow the issue you’re facing: see Subscription Management for failed updates, Connection Troubleshooting for timeouts, or the Quick Reference for protocol and core terms. You don’t need to learn every configuration field to get started. First establish a connection you can verify repeatedly, then expand your setup as needed.