V2RAYN / V2RAYNG · QUICK START

v2rayN Setup Guide
Import Subscriptions and Test Your Connection

Follow the steps: import a subscription, choose a proxy mode, connect, and verify. First make sure your browser traffic is working, then adjust routing, DNS, and other advanced options. If you have a client and a valid subscription ready, the basic setup takes about 10 minutes.

Before you begin: Get the client and configuration source ready

The client reads configuration, runs the core, and forwards requests; it does not provide a remote server by itself. Before you start, install v2rayN or v2rayNG and get a subscription URL or share link from your configuration provider. If you haven't installed a client yet, choose the right package on the client download page. To compare the two apps, see the client comparison first. You don't need to install multiple clients just to follow this guide.

First, identify what you have. A subscription URL is usually an HTTPS address used to fetch a list of configurations. A share link may start with vless://, vmess://, trojan://, or ss://. These require different import methods. A provider's help page or account login page is not a subscription URL and can't be used to update subscriptions. Copy the full address, including all query parameters. Subscription URLs may contain access credentials, so don't share them in public chats or screenshots.

During initial setup, quit any other proxy clients and pause browser extensions that change proxy settings to prevent two programs from overwriting each other's settings. Make sure regular websites load and your device's date and time are set automatically. A working internet connection makes it easier to diagnose subscription updates and remote connections. For now, change only the settings in this guide and leave the rest at their defaults. If you change several settings at once, it will be hard to tell which one fixed the problem.

Step 1: Import a subscription and check that configurations appear

v2rayN: Add a subscription group, then update it

Open v2rayN and find the Subscription Group menu at the top. Go to Subscription Group Settings and add a group. Enter a recognizable name, then paste the full subscription URL into the Address (url) field. If there's an Enable Update option, leave it enabled, then save. Saving adds the subscription source; it doesn't fetch the configurations yet. The list may not change when you return to the main window, and that doesn't necessarily mean the import failed.

Open the Subscription Group menu again and choose Update Current Subscription or Update All Subscriptions. Some versions offer separate options to update through or without a proxy. If you haven't connected yet, choose the option to update without a proxy, provided your current network can reach the subscription URL. Wait for the update to finish, check the result in the notification or logs, then return to the group. Configurations should appear in the server list. Don't rely on a pop-up alone; make sure the group isn't empty.

v2rayNG: Save the group, then update from the main screen

Open v2rayNG and go to Subscription Group Settings in the top-right menu. Use the add option to enter a name and subscription URL, then save. Return to the main screen and choose Update Subscriptions from the menu; the wording varies by version. After the update, select the group you just added and check that it contains configurations. If the main screen is still empty, make sure you're viewing the right group and that no filter is hiding the entries before assuming the subscription is the problem.

For a single share link, you don't need to create a subscription group. Copy the complete link, then in v2rayN choose Import Share Link from Clipboard. In v2rayNG, tap the + at the top and select the clipboard import option. QR codes are another way to transfer configurations; scan one only if your provider has supplied it. Don't repeatedly import a subscription URL as if it were a single share link, and don't copy explanatory text along with the link.

After importing, select a configuration you plan to use and check that its protocol matches your provider's instructions. Addresses, ports, user IDs, and transport settings included in a subscription usually don't need to be re-entered. In particular, a VLESS and REALITY combination won't work just by changing the protocol name. If the update fails, check the URL, expiration date, and response. If the list is still empty, see FAQ: Installation and configuration issues. Once the list is populated, move on to choosing how app traffic reaches the client.

Step 2: Choose a proxy mode and understand routing

There are two separate questions: does an app's traffic reach the client, and, once it does, which outbound route does it use? The first is about traffic capture; the second is about routing. Selecting a configuration doesn't mean your browser is using it, and enabling the system proxy doesn't mean every request must go through a remote server. Keep these two layers separate, so if the core is running but the browser behaves the same, you won't switch configurations without a reason.

v2rayN: Use the system proxy to test your browser first

Find System Proxy at the bottom of the main window or in the system tray menu. This guide uses Set System Proxy to Automatically Configure, which sends requests from browsers and apps that follow system proxy settings to v2rayN's local listening port. Clear System Proxy removes the proxy settings from the system. Do Not Change System Proxy generally means the client leaves the existing settings alone; it doesn't mean the proxy is disabled. Support for system proxy settings varies across desktop environments. If the settings aren't applied automatically, check them in your system's network settings.

You don't need to enable TUN for your first test. System proxy and TUN are different ways to capture traffic. TUN involves a virtual network interface, permissions, and additional routing, so enabling both adds extra variables. If your browser has a separate proxy extension, pause it and let the browser follow system settings. Some apps don't use the system proxy, so their behavior alone doesn't indicate that the client connection failed. Test in a browser first, then consider how to route traffic from other apps.

Start with a clear routing preset on either platform

For everyday use, start with a built-in routing preset that determines which requests connect directly and which go through the proxy. Preset names and rules vary by version, so read the description before selecting one. Global usually means that matching requests use the proxy outbound at the routing layer; it doesn't automatically capture traffic from every app. Direct means the request won't go through a remote proxy. Routing options and the system proxy toggle are not interchangeable controls.

For your first use of v2rayNG, keep VPN mode enabled. If your version has a mode selector, make sure it isn't set to local proxy port only. Check per-app proxy settings: if app selection is enabled, your test browser must be included. Don't add complex custom domain rules or change AsIs, IPIfNonMatch, or DNS settings yet. Look up unfamiliar terms in the glossary. For a deeper explanation of protocols and core compatibility, see the protocol guide. Once you've chosen a mode, you can start the connection.

Step 3: Connect and check the core and permissions

v2rayN: Set an active server and make sure the core starts

Return to the server list and set the configuration you want to use as the active server. Common options include double-clicking the entry or choosing Set as Active Server from the right-click menu; use the option shown in your version. The active entry is usually highlighted or marked, and the status area may show the selected configuration. Giving a row focus doesn't necessarily make it the active server, so check that the marker changes. The client will typically regenerate its runtime configuration and start or reload the core.

Check the main window's log area for repeated startup failures, port conflicts, or configuration parsing errors. If you haven't enabled Set System Proxy to Automatically Configure, enable it now and check the status bar. Unlike on a phone, the desktop client may not have one large connect button: the active server, running core, and system proxy settings work together to route traffic. Some settings leave the program running in the system tray when you close the main window. Keep it visible during your first test so you can check the logs.

v2rayNG: Select a configuration and approve the VPN request

On the v2rayNG main screen, tap the configuration you want to use and make sure the selection marker is on it. Then tap the connect button in the lower-right corner. On first connection, Android will show a VPN connection request. Confirm it's from v2rayNG, then allow it. After granting permission, check the app status and the VPN icon in the system status bar. If you dismissed the prompt or didn't complete authorization, return to the app and connect again; you don't need to delete and re-import the subscription.

If another app using a VPN interface is running, disconnect it before starting v2rayNG. Android generally doesn't allow two standard VPN apps to route traffic at the same time for the same user. After connecting, leave v2rayNG in the foreground for now and don't change battery settings yet. If it works in the foreground but often disconnects in the background, then check the system's background activity and battery optimization restrictions. This helps distinguish connection setup issues from background activity limits.

If the connection fails, check the logs around the latest startup attempt rather than relying on the oldest error in the window. For a port conflict, quit duplicate client processes. For a configuration parsing error, check the import format and core compatibility. For TLS handshake errors, check the system time and the parameters required by your provider. Don't disable certificate verification just to clear an error. Seeing Connected or a VPN icon only means the local connection process has advanced; the final step will confirm whether the remote server works and browser traffic is routed correctly.

Step 4: Verify that it works, not just that it says connected

Open a new browser tab and visit a site you want to access through the proxy, then open a regular site you can normally reach directly. A new tab makes it easier to see the current result than a tab that's been open for a while; the old one may be showing cached content or using an existing connection. If both pages load, basic access is working, but that alone doesn't prove every request is going through the proxy. Rule-based routing is designed to send some requests directly, so check the target site and routing rules.

Check your exit IP and request logs in the same browser

To confirm the exit IP, use a trusted public IP lookup page and compare the address before and after connecting. Use the same browser, and make sure the lookup page is routed through the proxy under your current rules. If it uses a direct route, the exit IP may not change even when the connection is working. Don't judge success only by the displayed location: geolocation databases can be inaccurate. The IP address and request route are more reliable indicators.

Open the client logs and refresh a page you're testing to see whether a corresponding connection appears. The level of detail depends on the core and log level, so the absence of individual request entries at the default level isn't necessarily a problem. Repeated timeouts, authentication failures, or handshake errors do point to a specific part of the connection to investigate. Before sharing logs, remove sensitive details such as subscription URLs, user IDs, and server information. Keep the error keywords and the order in which they occurred.

If a site still won't load, check each step in the connection path

First check whether the app's traffic reaches the client. On desktop, confirm the system proxy still points to the current client and that a browser extension isn't overriding it. On Android, check that the VPN is still running and that per-app settings haven't excluded the test browser. Next, confirm the active configuration is the one you selected and that the subscription is still valid. Check the remote connection and routing last. Change one thing at a time, then repeat the same page test to avoid losing track after changing the configuration, DNS, and mode all at once.

If some sites load but others fail, note which domains are affected and whether the issue occurs in only one browser, then check the routing rules and relevant logs. Don't reinstall the client just because one site is failing. If no regular sites load, disconnect and restore the previous traffic capture settings, confirm your basic internet connection works, then review Step 2. Before quitting v2rayN, clear the system proxy to prevent the browser from connecting to a closed local port. In v2rayNG, disconnect with the connect button, then check that the VPN icon disappears from the system status bar.

Once the basic setup works, make further changes as needed: re-import the subscription on a new device, update the group if a configuration expires, or check an app's traffic capture settings if only that app isn't working. Common import and connection issues are covered in the FAQ. For help choosing between VMess, VLESS, REALITY, and compatible cores, see the protocol guide. Keep a verified working setup before exploring advanced options; it's easier to maintain than enabling everything at once.