QUICK START / 01—04

V2Ray Setup Guide: Import a Subscription and Test Your Connection

Follow four steps: import a subscription, choose a mode, connect, and verify the result. Get one working connection first, then adjust advanced settings.

v2rayN v2rayNG Allow about 10 minutes for initial setup, depending on your network and subscription

Before you begin, install a client and get a valid subscription URL from a trusted provider. The client reads the configuration and handles the connection, but installing it does not provide a server to connect to. If you haven't installed a client yet, choose an installer on the client download page. If you already have a single server configuration, you can also import it using the client's clipboard option, but don't paste a single-server share link into the subscription URL field.

Subscription URLs may contain access credentials and should be treated as sensitive. Don't post a complete URL in a public forum or expose the URL, user ID, or password in troubleshooting screenshots. This guide uses the graphical interface; you don't need to edit JSON. If a term is unfamiliar, check the glossary first, then review configuration details after connecting.

01 Import a Subscription: Get Your Server List

A subscription is a way to retrieve server configurations, not a regular webpage to open in a browser. Copy the complete subscription URL from your provider's account page, and make sure it contains no extra instructions, line breaks, or leading or trailing spaces. If your provider offers multiple subscription formats, choose one explicitly supported by your client and core. Don't judge compatibility by the file extension alone.

v2rayN: Add a Group, Then Update It

Open v2rayN and select Subscription Group Settings from the Subscription Group menu at the top. Add a group, enter a recognizable name in the remarks field (for example, “Everyday”), and paste the subscription URL into the address field. Leave the other options at their defaults for your first setup, then save and close the settings window. This usually adds only the subscription source; the server list may still be empty. Update the subscription to retrieve the servers.

Return to the main screen, open the Subscription Group menu again, and select the update option. If the menu offers Update through proxy and Update without proxy, try updating without a proxy if you don't have a working proxy connection yet. Wait for the update to finish, then select the group by its name in the group filter and check for server entries such as names, addresses, or protocols. Entries in the list mean the client has retrieved and parsed the configuration.

v2rayNG: Save the Subscription, Then Update from the Main Screen

Open the menu on the v2rayNG main screen and go to Subscription Group Settings. Tap the add button to create a group, enter a name, and paste the subscription URL. Save, return to the main screen, and select Update subscription from the menu. If the app lets you choose a group, make sure the new group is selected so you don't mistake older entries from another group for the update results.

Once the list appears, tap a server to select it. On desktop, the selected row or active-server indicator may show your choice; on Android, the current configuration is usually marked as selected. In some versions, a highlighted row does not mean the server is active. The connection steps below will confirm this again. You don't need to test every entry yet; start with one your provider says is working to keep troubleshooting focused.

If the update fails, first check that your subscription hasn't expired, your account is still active, and the URL was copied in full. If parsing fails, check the subscription format before changing DNS. If the request times out, check whether your current network can reach the subscription service and ask your provider how updates should be performed. Update through proxy only works if you already have a usable proxy connection. Once the server list is available, continue by setting up the traffic entry point.

02 Choose a Proxy Mode: Understand Entry Points and Routing

The terms system proxy and routing mode are easy to confuse at first. The system proxy tells apps that honor the setting to send requests to the local client. Routing determines which outbound handles requests that reach the core. These are separate steps. Choosing Bypass mainland China does not automatically make your browser use a proxy. Enabling the system proxy alone doesn't mean every request will be routed through a remote server.

On Desktop, Check the System Proxy Entry Point First

Find the system proxy option in the v2rayN status bar or tray menu and confirm that Automatic system proxy configuration is available. In some interfaces, Clear system proxy removes the system setting; it doesn't delete server configurations. Do not change system proxy usually leaves the existing setting untouched and doesn't mean the proxy entry point is enabled. For now, identify the options. Enable the proxy in the next step, after confirming that the core is running.

Next, open the Routing menu or routing settings. For everyday browsing, you can start with the client's Bypass mainland China preset. Traffic that matches the relevant rules connects directly; other traffic is routed through the proxy outbound. If your provider requires a specific preset, follow its compatibility guidance. Global in the menu generally means all traffic entering the core goes through the proxy. It does not mean every app on your device is being routed through it.

On Android, Check VPN Routing and the Routing Preset

v2rayNG usually receives app traffic through the system VPN interface and processes it according to the core's rules. Open the routing settings and review the available presets; Bypass mainland China is a good starting point for a first setup. If you've configured per-app proxying before, check whether the target app is excluded. Excluded apps won't be routed just because the main screen says Connected. For your first setup, leave the app scope at its default.

Here, direct means the core connects to the destination without using a remote proxy server; it doesn't mean the client is turned off. Global proxy can help you compare routing results temporarily, but don't change DNS, sniffing, and transport settings at the same time while troubleshooting. Change one option at a time so you can tell what affected the result. Note the original value before changing it so you can restore it afterward.

Once that's done, note the routing preset you've selected. If access problems come up in the next step, keep this routing setting and use the running status and logs to find the cause. Avoid switching modes repeatedly before the core has even started.

03 Connect: Confirm the Active Configuration and Core Status

Before connecting, confirm that your device can access the internet normally, and temporarily stop other tools that change the system proxy or take over network traffic. Multiple tools can overwrite proxy addresses, compete for ports, or create routing conflicts. Keeping one clear traffic entry point makes it easier to understand the result than turning on several connection options at once.

v2rayN: Set an Active Server, Then Enable the System Proxy

Find the server you want to use in the server list, right-click it, and select Set as active server or the equivalent option in your version. Confirm the active-server indicator or status at the bottom shows that the selection has changed; don't rely on the row being under your pointer. Many versions load the configuration automatically when you set an active server. If the interface offers a start or restart option, use it as appropriate for the current status.

Open the logs and check that the core starts successfully. Some versions don't show a persistent Connection successful message, so check the running status and then test a real request. If the logs immediately show a configuration load failure, a port conflict, or an unsupported protocol, fix that problem before changing the system proxy. If a port is in use, first check whether the client is already running in another process rather than changing multiple listening settings at random.

Once the core is running, open the system proxy menu and select Automatic system proxy configuration. Apps that honor the system proxy can now send requests to the client. Keep the default local listening settings unless you have a reason to change them. If an app requires manual proxy settings, use the listening address, port, and protocol shown by the client. Don't copy numbers from another guide or enter a SOCKS port as an HTTP port.

v2rayNG: Confirm the Configuration and Tap Connect

On the main screen, tap the server you want to use and confirm it's selected, then tap Connect. The first time you connect, Android will show a VPN permission prompt. Allow the connection after confirming the request is from the v2rayNG app you just installed. This permission is required for the app to receive network traffic; it doesn't confirm that the server is working. If you deny the request, return to the main screen and try connecting again instead of importing the subscription again.

After starting, check the running status on the main screen and the VPN indicator in Android's system UI. Then open the logs and check for recurring errors. The VPN indicator only confirms that local traffic routing is active; it may still appear if the server is unreachable or remote authentication fails. If the connection stops immediately, start with the first clear error in the logs. Later errors may simply be consequences of the same problem.

Regardless of the interface, server addresses, user IDs, encryption methods, and transport settings usually come from the subscription. Don't change them without a clear reason. If the current core doesn't support the protocol or transport required by the configuration, check that the client and configuration are compatible. Don't try to “fix” the issue by replacing one protocol name with another. Once the core is running and the traffic entry point is enabled, test access.

04 Verify the Connection: Check Access and Logs Together

Verification needs to answer two questions: did the target app send traffic to the client, and did the client handle the request as expected? Button colors, the system VPN indicator, and the server list can't answer either question on their own. The most direct test is to make a real request in the app and compare it with the client's activity logs.

Check Basic Access First, Then Test the Proxy Route

Open the browser you plan to use, create a new tab, and visit a site known to work on your regular network. This confirms your basic connection still works after the changes. Then open a site you need to access through the proxy, refresh once, and wait for the result. Use a new request where possible so a cached page or existing connection doesn't give a misleading result. If needed, close and reopen the app before testing again.

As you access the site, check whether the client logs show a request or connection at that time. With the Bypass mainland China route, some destinations are expected to connect directly; that doesn't mean the proxy has failed. If the current log level doesn't record individual requests, the lack of a log entry alone doesn't prove anything. Check the page result too. If you need more detail, temporarily view the connection information provided by the client, then restore the original setting after the test.

If you use a trusted public IP lookup site, distinguish the result of that specific request from the scope of your routing rules. The site shows the exit IP for that request; it doesn't mean every app, domain, or protocol follows the same path. To compare, temporarily select Global proxy and refresh the same page to see whether the result changes. Switch back to your original routing preset when the test is done.

Troubleshoot One Layer at a Time

If no websites load, first check whether the client is still running and, on desktop, whether the system proxy points to the current client. If only one app fails, check whether it honors the system proxy, uses its own proxy settings, or is excluded from the Android app scope. A working browser doesn't prove that command-line tools or other apps are routed through the client. Check the entry point for each app separately.

If the logs repeatedly show remote connection timeouts, confirm that your basic network works, then test another known-working server from the same subscription. For authentication or handshake errors, first update the subscription and confirm the configuration is still valid. Don't disable certificate verification to bypass an error, and don't keep switching protocols without knowing the cause. For help with DNS resolution and routing details, see the JSON Configuration Guide.

Restore System Settings When You're Done

Before closing v2rayN on desktop, select Clear system proxy, then exit the client. This prevents apps from sending requests to a local listening port that is no longer running. If your browser can't connect after you exit, check for a leftover system proxy setting before deleting your subscription or reinstalling the client. Restarting the client may temporarily restore access, but make sure the system proxy is ultimately set the way you need it.

On Android, tap Disconnect and confirm that the system VPN status has ended before leaving the app. Next time, you usually only need to check whether the subscription needs updating, select an active server, and connect again. Keep a routing preset that you've already verified. When making further changes, adjust one setting at a time and retest using the same method to make it easier to identify what changed.

That's the complete first-use workflow: the subscription provides the configuration, the entry point receives app requests, routing selects their path, and real-world access confirms the result. If you're just using the client day to day, there's no need to edit configuration files yet. To understand how inbounds, outbounds, and routing work together, read the JSON Configuration Guide.