Quick Start / First-Time Setup
V2Ray Setup Guide
Import a Subscription and Test Your Connection
Set up your client in four steps: import a subscription, choose a proxy mode, connect, and test access. If the client is installed and you have a valid subscription, allow about 10 minutes to follow the steps. Downloading software and troubleshooting network issues may take longer.
Before You Start: Client and Subscription
First, make sure your current network can open regular websites, then launch the client. This helps distinguish a local connection problem from a proxy configuration issue. If you haven't installed a client yet, visit the client download page and choose the installer for your operating system and processor architecture. For help choosing an installer or handling system permissions, see the cross-platform guide. This guide starts with a client that opens normally.
The client stores settings and runs the core; the subscription provides server details. They are separate services. Get a valid, unexpired subscription URL from a source you trust. An account login page in your browser usually isn't a subscription URL. Copy the link clearly identified as a subscription, and make sure it supports your client's format.
Subscription URLs often contain access credentials. Copy the full URL without adding line breaks, explanatory text, or quotation marks, and never include it in a public screenshot. If you've shared it publicly, reset the link with its provider and update the saved URL in your client. While setting up, use only one proxy client to route traffic so multiple apps don't overwrite system settings.
These steps don't require editing a configuration file or enabling TUN first. The goal is to use a known-good server configuration for a real connection, then add settings as needed. Keeping changes to a minimum makes it easier to identify what caused a problem.
Step 1: Import a Subscription and Update the List
v2rayN Desktop: Add a Subscription Group
Open the main window, find “Subscription Group” in the top menu, and open the subscription group settings. Choose Add, enter a recognizable note for the group, and paste the complete subscription URL into the URL field. The name helps identify the source; it doesn't change connection settings. Keep the other options at their defaults for now. Save, close the settings window, and return to the main screen.
Adding a group only saves the URL; it doesn't fetch the server list. Open the “Subscription Group” menu again and update the group you just saved. If the menu offers options to update through or without a proxy, try updating without a proxy first if you don't already have a working connection. Use the through-proxy option only if you know the subscription URL requires an existing connection. Don't keep retrying through a proxy that isn't available.
When the update finishes, switch to the corresponding group on the main screen and check that server entries appear. A typical entry includes fields such as type, alias, address, and port. Make sure the list came from the subscription you just added. There's no need to test every server or edit its settings yet. The subscription provider supplies the protocol, transport, and security settings; changing them at random can break a working configuration.
v2rayNG on Android: Save the URL, Then Update
Open the top-right menu and go to “Subscription Group Settings.” Choose Add, enter a note and the subscription URL, save, and return to the main screen. Find the update subscription option in the menu and run it. Some versions let you update the current group or all groups. If this is your only subscription, updating the current group makes the result easier to check. Wait for the update to finish, then check the server list.
“Import from clipboard” is generally for importing share links supported by the client; it isn't the same as saving a subscription that can be updated later. If your provider gave you a subscription URL, add it under subscription group settings. Use the import option only for a single share link. Choosing the right option makes it easier to find and update the subscription later.
If the list is still empty after an update, check that you're viewing the right group and that no filters are active, then review the update message. For a parse error, make sure you copied a subscription URL, that it hasn't expired, and that the response isn't just a login page. For a request timeout, check your network and update method first. See the subscription update and parsing error checklist for more troubleshooting. Once valid entries appear, move on to proxy mode settings.
Step 2: Choose a Proxy Mode and Routing
Desktop: Start with the System Proxy
In the v2rayN main window or system tray menu, find “System Proxy.” For a first setup, choose “Set system proxy automatically.” This points the system proxy to the client's local listener. Only browsers and apps that support and follow the system proxy setting will use it. This sets the traffic entry point; the next two steps confirm that the client is running and the server is reachable.
Routing determines which outbound route requests entering the client will use. For a first setup, choose a built-in rule such as “Bypass mainland China” that suits your needs, and note your selection. Rule names, resources, and matching behavior can vary by version, so don't assume a name describes how every site will be handled. If a site needs a proxy but the rule sends it direct, check routing instead of repeatedly switching servers.
“Global” routing and TUN are different things. Global routing usually sends traffic that reaches the core through a selected outbound route; it doesn't automatically make every app follow the system proxy. TUN uses a virtual network interface to capture traffic covered by its configuration. For a first test in a regular browser, the system proxy is enough. If an app doesn't follow the system proxy, see the system proxy and TUN section in the cross-platform guide for permissions, routing, and DNS settings.
Android: Check VPN and Per-App Settings
v2rayNG typically routes traffic through a local VPN interface using Android's VpnService. You don't need to copy the desktop system proxy setup. Check whether per-app proxying is enabled in settings. If only selected apps are proxied, make sure your test browser is included. If selected apps are bypassed, make sure the browser isn't excluded. For your first setup, you can turn off per-app filtering to simplify troubleshooting.
Next, make sure the routing mode matches what you want to access. To compare the effect of different rules, note your original setting, switch to a built-in route, and test the same page again. Restore your usual setting afterward. Avoid changing routing, DNS, transport settings, and the per-app list all at once; otherwise, it will be hard to tell which change affected the result.
At the end of this step, you should know which traffic-capture method is active on desktop, whether the test app is covered by the VPN on Android, and which route each client is using. Don't judge the connection by a button's color. Next, select the active server and confirm that the core or VPN service has actually started.
Step 3: Select a Server and Connect
v2rayN: Set an Active Server
Return to the v2rayN server list and choose an entry from a subscription source you've confirmed is usable. Use the corresponding option in the right-click menu, such as “Set as active server.” Some versions let you switch servers by double-clicking; follow the prompt in your version. Distinguish the active-server indicator from a highlighted row—a single click doesn't always switch the configuration in use.
v2rayN typically starts the core when you apply the configuration; it may not have a power button like v2rayNG. Check the status and log areas at the bottom of the main window for core startup failures, configuration errors, or local port conflicts. Also confirm that the system proxy is still set as intended. If the status doesn't update after a configuration change, use the client's restart service or reload configuration option, then check the logs again.
If the logs show that a port is in use, exit other proxy apps and restart the current client. Don't terminate system processes unless you know what they're for. If a configuration field isn't supported, check whether the client and selected core support the protocol features used by the subscription. Toggling the system proxy won't fix a configuration syntax error. Keep the error summary and check compatibility and installation status in the cross-platform guide.
v2rayNG: Approve the Android VPN Request
Tap a server in the v2rayNG list and make sure the active indicator moves to that entry, then tap Start on the main screen. The first time you connect, Android will usually show a VPN connection request. Confirm it after checking that it comes from the client you just opened. If you deny permission, the configuration remains in the list, but traffic routing won't start. Tap Start again and approve the request to connect.
After starting, check that the client reports the service is running and look for Android's VPN status indicator. This only confirms that the local VPN interface is active; it doesn't guarantee that the remote server is reachable. If another VPN is running, resolve the conflict before starting again. If you switch servers while connected, make sure the active indicator matches the configuration in use.
If the connection works in the foreground but often drops when the screen is locked, first test access in the foreground in the next step, then check the client's background restrictions in Android's battery settings. Battery options vary by device; you don't need to change every system setting before your first connection. For details, see VPN permissions, battery optimization, and per-app proxy settings. The service is running; now test it with a real request.
Step 4: Test Access and Restore Your Network
Test with a Real Page
Open a browser that you know follows the current proxy settings and visit a page you need that fits the route you've selected. Check that it loads fully, then refresh once or open another page on the same site. Cached content can remain visible even when you're offline, so an old tab still showing a page doesn't prove the connection works. Temporarily disable any extra proxy extensions in the browser so they don't override the system settings.
If the client provides connection records or logs, check them while loading the page to see whether the request appears and which outbound route it uses. Logs can help confirm whether traffic reached the client, but cover subscription URLs, server addresses, and access credentials before sharing screenshots. Some log levels don't show every request. If nothing appears, check the log settings before concluding that the app isn't using the proxy.
You can also run the client's real connection test as a diagnostic. A passing result means one test route was reachable at that moment; it doesn't guarantee that every domain, app, or transport will work. A failure may also be caused by the test address itself. Ping, real connection latency, and download speed measure different things; there's no need to chase the lowest number for a first connection. See how to interpret latency test results for details.
Troubleshoot by Symptom, One Setting at a Time
If regular websites load but the page you need times out, check whether its request reaches the client and uses the expected route, then test another known-good server. If the client test succeeds but only one app fails, check whether it follows the system proxy, is excluded by per-app rules, or has its own proxy settings. Don't reinstall the whole client based on one app's results.
If no pages load after connecting, stop the connection and confirm that your regular network works again. Then check the active server, core logs, and proxy settings. If the internet still doesn't work after disconnecting, check whether the system proxy is still pointing to a local port that's no longer listening. Troubleshoot in order: local network, traffic entry point, routing, core, and remote server settings. See node timeouts and connection troubleshooting for a detailed sequence.
Restore System Settings When You're Done
When you're done on desktop, clear the system proxy in v2rayN before exiting. If you enabled TUN, turn it off normally through the client so the virtual interface and related settings are restored. On Android, disconnect the VPN with the Stop button in v2rayNG, then confirm the system VPN indicator disappears. Closing a window, swiping away the app, or ending its process doesn't always disconnect cleanly.
Open a regular website once more to confirm the network still works after disconnecting. Your first setup is complete when the subscription updates, the active server is clear, the test app uses the expected proxy route, and your network recovers after disconnecting. Keep these verified settings and change one thing at a time. To switch platforms, configure TUN, or learn more about differences between cores, continue with the cross-platform installation and configuration guide.