V2Ray Client Setup · First-Time Use
v2rayN Setup Guide
Import a subscription, choose a proxy mode, connect, then check access. Have a valid subscription ready and follow these four steps to get started.
- v2rayN / v2rayNG
- Graphical Interface
- Four Steps to Verify Access
Before You Start: Get the Client and Subscription Ready
Start by choosing a client for your device from the Download Center. Install it and open the main screen. This guide is for clients that launch successfully but aren't configured to connect yet. An empty server list on first launch is normal: the client reads connection settings and routes traffic, but installing it does not provide a working server.
Next, get a valid subscription URL or an authorized server share link. A subscription URL usually provides a set of server configurations, while a share link typically represents a single entry; they may use different import options. Don't use a service management page URL as a subscription URL, and don't post subscription URLs in public forums. They may contain personal access credentials, so keep them secure.
Before you begin, pause other proxy clients to prevent conflicts over the system proxy or local listening ports. Make sure your device's clock is set to sync automatically and that your regular internet connection works. During initial setup, change only the settings covered in this guide and leave DNS, the core, and advanced routing at their defaults. That makes it easier to identify what caused a problem.
STEP 01 · SUBSCRIPTION
Import a Subscription and Update the Server List
In the v2rayN main window, find the subscription group or subscription menu, open group settings, and choose Add. Enter a recognizable source name as the remark, then paste the full subscription URL into the address field. Check for extra spaces or line breaks at either end, and make sure the query parameters are intact. These parameters often identify your account, and removing them may prevent updates.
After saving the group, return to the main window and update the new group from the subscription menu. Note that saving the URL and updating the subscription are separate actions: saving records the source, while updating downloads and parses the server configurations. Wait for the update to finish, then check for new entries in the list. If the client provides update logs, make sure the result wasn't a connection timeout, access denial, or parsing error.
If this is your first time using the client and you don't have a working connection yet, try updating the subscription without using an existing proxy. Only use a proxy update option if you already have a working proxy and the subscription source requires it. Don't repeatedly choose “Update via proxy” when no server is active: the request may depend on a connection that hasn't been established, causing it to hang or time out.
In v2rayNG, open subscription group settings, use the add option to enter a remark and URL, then save and return to the main screen. Use the menu to update the subscription. Depending on the version, you may see “Update current group” or “Update all subscriptions”; for the first update, choose the group containing the new URL. After a successful update, server entries should appear in the list. If you only see the group name, you aren't ready to connect yet.
If you have a single server share link rather than a subscription URL, use the client's “Import from clipboard” option or equivalent. Copy the complete share link before importing, then confirm that the new entry appears in the server list. A single entry usually won't update automatically with a subscription. If its settings need to change later, use the latest information from the configuration provider rather than guessing the server address, port, or transport settings.
Once servers appear in the list, select one to use. You can run the client's latency or availability test, but remember that the result reflects only that specific test and doesn't guarantee that every website will be accessible. For your first setup, the important thing is to select an entry and note its name. Keep it selected during verification so you don't change multiple variables at once.
STEP 02 · PROXY MODE
Choose a Proxy Mode and Routing Preset
After importing the configuration, distinguish two easily confused concepts: the connection method determines how app traffic enters the client; routing rules determine what happens to it next. On desktop, the system proxy and TUN mode are ways to send traffic to the client. Direct, proxy, or block actions are what routing rules apply afterward. Enabling the system proxy does not automatically route all device traffic through a proxy server.
For a first-time v2rayN setup, start with the system proxy. It points your system's proxy settings to the client's local listening address, allowing browsers and apps that honor those settings to send requests through the client. Some apps have their own proxy settings, while others ignore the system proxy. So if a browser works but a standalone app doesn't, that doesn't necessarily mean the server is unavailable. Verify the browser first, then troubleshoot app-specific differences.
Find the system proxy option in the main window or tray menu, and check what actions such as “Automatically configure system proxy” and “Clear system proxy” do. “Automatically configure” usually means the client writes the system proxy settings; it doesn't automatically route traffic directly or through a proxy based on its destination. For now, locate the option. Enable it after selecting an active server and confirming the core is running.
Next, check the routing settings. If the client has a default preset, keep it for your first connection. If you need to choose one, start with an existing preset that suits your usual browsing instead of adding custom rules. A preset such as “Bypass mainland China” typically sends matching destinations in mainland China through a direct outbound and handles other requests according to the remaining rules. The actual behavior depends on the rules and final outbound, so don't infer how every domain is routed from the preset name alone.
In many interfaces, “Global proxy” sends all traffic that reaches the client through the proxy outbound, making it useful for a brief comparison test. It doesn't automatically route traffic from every app on your system, and it can't compensate for an incorrectly configured server. If you switch to it temporarily to rule out routing issues, restore your usual preset afterward so traffic that doesn't need a proxy isn't sent to a remote server.
v2rayNG receives traffic through Android's VPN interface, so it usually doesn't need a separate system proxy toggle like a desktop client. First check whether the client's routing settings include special rules or per-app exclusions. Excluded apps won't enter the connection in the same way. For an initial test, keep the setup simple and don't enable complex app filters and custom rules at the same time.
TUN can capture more traffic from apps that don't honor the system proxy, but it requires permissions and coordination with a virtual network interface and DNS. It's not necessary for this guide. Don't add it now or switch cores repeatedly just to see a “Connected” status. Once the system proxy works, if you need to capture additional traffic, read the routing chapter in the Advanced Guide and expand the setup one use case at a time.
STEP 03 · CONNECTION
Select a Server and Enable the Local Proxy
Return to the server list and set the entry you chose earlier as the active server. In v2rayN, use the relevant option in the entry's context menu; some versions also let you switch by double-clicking. Don't rely on the row being highlighted: that may only mean it's selected. Check the client’s current server name or active indicator to confirm which server is in use. Your later requests will use that connection configuration.
v2rayN usually loads the selected configuration when you switch the active server, and the core may already be running in the background. If your version has a start or restart core option, use it if needed and check the log or status at the bottom of the window. Then enable the system proxy and confirm it's no longer cleared. You should now have three things in place: an active server, a running core, and a way for app traffic to reach the client.
If you see a local port conflict, exit other proxy programs and try starting the client again. Don't just change the port number in the system proxy settings: it must match the port the client is actually listening on. If you need to use a different port, change it in the client's settings, reload the configuration, and have the client rewrite the system proxy settings. Otherwise, the proxy entry point and listening port won't match.
In v2rayNG, select the target server, then tap the Start button on the main screen. Android may ask you to confirm the VPN connection; approve it and return to the client to check its status. A connection icon in the status bar means the system interface is active, but it doesn't prove the remote server is working. The interface may be up even if the server address, authentication details, or transport settings are wrong and requests can't get through.
If the connection doesn't start as expected, open the logs and check the latest entries instead of clearing all your settings right away. A configuration parsing error usually means you should check the imported content. A listener failure points more toward a local port or permission issue. For a request timeout, also consider the network and remote server availability. Note when the error occurred and what you were doing; that's much more useful for troubleshooting than simply remembering that “it won't connect.”
If the subscription updated successfully but some entries keep failing, try another server in the same group while keeping the proxy mode and routing preset unchanged. If one server works and another doesn't, check the failing server's configuration or availability first. If all entries fail, investigate the shared local connection method, network, and DNS. This helps avoid mistaking a single-server issue for a client configuration problem.
STEP 04 · VERIFICATION
Test Web Access and the Actual Outbound Route
Keep the client running, open a browser, and visit a familiar HTTPS website in a new tab. If a page was previously showing an error, enter the address again to send a fresh request; don't judge the result from stale content in an old tab. First check that the page loads fully, then try a second site on a different domain. One site's failure may be an issue with that website, not the whole connection.
Next, check the client's logs or connection records to see whether the request appeared and which outbound route it used. Some clients need to be switched to info-level logging to show these records; the fields vary by version and core. If your routing preset allows some destinations to connect directly, a direct connection record may be expected. To verify that the proxy is working, choose a destination that should match a proxy rule.
To check the exit address, you can use a trusted IP lookup page as an additional reference and compare the results before and after connecting. Keep in mind that the lookup page itself may match a direct routing rule, and geolocation databases can be inaccurate, so the displayed region isn't conclusive. Consider the page loading result, connection records, and routing rules together. That's more reliable than relying on one address or a single “Connected” message.
If your browser works but an app doesn't, check whether the app uses the system proxy, has its own proxy settings, or is excluded by per-app routing rules. Don't immediately delete a subscription that you've already verified. If a desktop app requires manual proxy settings, use the protocol and listening port shown in the client. Don't copy port numbers from another guide, and don't interchange HTTP and SOCKS endpoints.
If no websites load, check these in order: connection status, active server, DNS, and routing. On desktop, make sure the system proxy is enabled and the client is still running. On Android, confirm the connection interface is active. Then test another server and check for interference from custom DNS or routing. Change only one setting at a time and revisit the same page to see what made a difference. For more detailed error guidance, see Frequently Asked Questions and Troubleshooting.
Once verification succeeds, note the working group, server, proxy mode, and routing preset. There's no need to keep changing settings just to enable more options. Future subscription updates may add, remove, or rename servers, so check that the active entry still works after an update. If you want to explore DNS, TUN, or managing multiple subscriptions, start with this working setup and read the Advanced Guide.
What to Read After Your First Setup
Once webpages load reliably and requests follow the expected routes, you're done. For everyday use, update subscriptions, switch servers, and check connection status as needed. For a specific error, start with Frequently Asked Questions. To understand rule order and outbound routing, read V2Ray Routing Rules. To learn the names used in protocol settings, see Protocols and Transports. Keep the basic connection working before expanding your setup.