Step 1: Import a Subscription and Update the List
Open v2rayN and find Subscription Group in the top menu, then choose Subscription Group Settings. Add a group and enter an easy-to-recognize label, such as “Everyday,” in the remarks field. Paste the full URL provided by your subscription provider into the subscription URL field. The label is only for identifying the group and won't affect your connection. Keep the URL's path and parameters intact: don't enter just the website homepage or use the URL of a browser login page.
After pasting the URL, check its beginning and end, and remove extra spaces, line breaks, or punctuation added by a messaging app. The example https://example.com/sub?token=xxxx is for illustrating the URL format only; it won't provide server configurations. Access parameters in a real URL may be tied to your subscription permissions, so don't post them publicly. If you need help, share a screenshot with the parameters obscured.
Make sure the group is enabled, save your changes, and close the settings window. Then open the Subscription Group menu and update the group you just added. If you don't have a working connection yet, try the option to update the subscription without using a proxy. If your provider specifically requires an existing proxy to access the URL, use the corresponding update option. Menu wording varies by version; the key is to distinguish saving the URL from fetching configurations from it.
After the update, configurations should appear in the server list in the main window, usually with fields such as remarks, protocol, and address. If the list is still empty, check the log or update notice at the bottom, make sure the correct group is selected, and look for text in the list's search box that might be filtering results. If you see a timeout, invalid URL, or unsupported format message, you don't need to reinstall the client. First check that the subscription is valid, that your network can reach the subscription service, and that your provider offers a format compatible with your client.
Repeat the Steps in v2rayNG
Open the v2rayNG menu and go to Subscription Group Settings. Add a group, enter a label and subscription URL, and save. Return to the main screen and update the subscription. If the interface lets you update a specific group, update the one you just created so its results don't get mixed with other groups. Once configurations appear in the list, don't tap Start just yet. First choose a routing preset and understand which traffic the system authorization will handle.
If your provider gave you a single share link rather than a subscription URL, use an import option such as Import from clipboard. A single configuration can connect to a server, but adding it to the list doesn't give it subscription update capabilities. There's no need to learn format conversion yet; just use an import method that matches what your provider sent. For help managing multiple subscriptions, keeping manual configurations, or understanding update behavior, see the subscription and configuration section of the full guide.
Step 2: Choose a Proxy Mode and Routing Preset
In the v2rayN main window or tray menu, find System Proxy and select Set system proxy automatically. This gives apps that follow your system proxy settings a local proxy to use; browsers can usually forward requests this way. Some apps have their own proxy settings, while others ignore the system proxy entirely. This option does not send all device traffic through the client.
Also find Routing or the routing preset selector. For your first setup, choose a built-in preset such as Bypass LAN and mainland China addresses. Exact names and rules vary by version. These presets usually connect directly to specified destinations, such as LAN addresses, and route other requests according to the rules. Starting with a built-in preset reduces manual rule errors and makes it easier to tell which requests are expected to bypass the proxy.
Think of these as separate settings: the system proxy determines whether an app sends requests to the client, while routing determines what the client does with those requests. Changing the routing preset won't make an app that ignores the system proxy use the proxy. Enabling the system proxy doesn't mean every destination will use a remote server. Keep this distinction in mind when comparing exit IP addresses; otherwise, a normal direct connection can look like a configuration failure.
Keep the Default Settings for Your First Connection
For now, don't change DNS, listening ports, transport settings, or core options, and don't enable TUN just to cover more apps. First confirm that your subscription works in standard proxy mode. That isolates any later issues to the traffic capture method instead of mixing them up with server configuration problems. Desktop TUN may require extra permissions and a virtual network adapter, and can conflict with other network tools. Adding it before verifying a basic connection makes troubleshooting harder.
In v2rayNG, first choose a suitable built-in preset from Settings or the routing menu. When you tap Start for the first time, Android will usually show a VPN connection request. Check the app name before allowing it. This grants the client permission to create a local traffic-capture tunnel; it doesn't mean the imported configuration is connected. If another VPN app is running, stop its connection before testing this client to avoid switching between traffic-capture services.
Also check whether per-app proxy settings are enabled. If only selected apps are allowed to use the proxy, verify with a browser that's included. If the browser is excluded, it may still connect directly even when the client reports a successful connection. For your first setup, keep the client's default app scope; narrow it down to specific apps only after completing all four steps.
When you're done using the desktop proxy, choose Clear system proxy rather than treating Do not change system proxy as an off switch. The latter usually means the client will stop changing existing settings, but the previous proxy address may remain in place. Keep this in mind when exiting so your browser doesn't keep sending requests to a local port that is no longer listening.
Step 3: Choose a Server and Start the Connection
Return to the v2rayN server list, select a configuration, and right-click to open the action menu. Choose Set as active server, or the equivalent option in your version. Some versions let you do this with a shortcut or double-click, but the menu is easier to verify the first time. Before testing, look for an active marker, selection confirmation, or a change in the configuration name in the status bar. Highlighting a row doesn't always make it the active server.
v2rayN usually loads the corresponding core when you switch active configurations, so there may not be a separate Connect button. Check the main window log for repeated errors such as configuration parsing failures, ports in use, or core startup failures. If the log reports a local listening port conflict, check whether another copy of the client is running or another proxy tool is using the same port. Don't make changes in multiple windows at once.
Find the Real connection latency test or a similar connection test in your version, and run it for the selected configuration. If the menu also offers TCP latency, note that the tests measure different things: a TCP test mainly checks whether a port can accept a connection, while a real connection test usually uses the proxy configuration to reach a test destination. Prefer the latter to check whether the configuration can actually forward traffic, then verify it with a target app in the next step.
Don't judge whether a configuration works based on a single latency number. The test destination may be temporarily unreachable, and a responsive server port doesn't guarantee that authentication and transport settings are correct. If a test fails, update the subscription once and reselect the active configuration. If it still fails, try another configuration without changing the routing or proxy settings. Change one variable at a time to find out whether the problem follows a particular configuration.
Select a Configuration and Start v2rayNG
On the v2rayNG main screen, tap the configuration you want to use and check its active indicator, then tap the Start button. If Android asks for VPN permission, review the request as described in the previous step and allow it. Then check the client's connection status and the system VPN indicator. A status change means the local service has started; it doesn't replace a real browsing test, especially if the subscription has expired or server settings have changed.
After starting, run a connection test for the active configuration or use the Real connection test option in the menu. If the test keeps failing, stop the connection, switch to another configuration, and start again. This avoids confusing results from the previous configuration with the new one. For certificate, authentication, or transport errors, first check the subscription source and update time. Don't change unfamiliar security settings just to bypass an error.
If every configuration fails, first check whether the device can still access websites that normally work without a proxy. Then make sure the system clock is correct and that the network doesn't require a sign-in. Switching servers won't tell you much if the underlying network is unavailable. If only one configuration fails and others work, use a working one for now and ask your subscription provider about the affected entry later.
Keep one configuration that passed the test active, leave its settings alone, and move on to the final browser check. To learn more about cores and clients, see V2Ray core differences. You don't need to switch cores repeatedly just to test your first connection.
Step 4: Verify the Proxy Is Working
Open the browser you plan to use and visit a page that requires the current proxy configuration. Make sure the page text and resources load. Use a fresh request rather than relying on an already open tab, since cached content may remain visible after the network drops. One page failing doesn't necessarily mean the proxy is broken; the target site may be down or block access, so check a separate destination as well.
Next, compare your exit IP address. Use the same IP lookup service to record the result with the proxy stopped and running. On desktop, clear the system proxy before testing without the proxy; on Android, stop the client connection and confirm direct access before recording the result. Reconnect, refresh the lookup page, and see whether the exit address changes as expected. The lookup service will receive your network address for this request, so use a service you trust. There's no need to install an extension.
Routing rules may send the IP lookup site directly. If both results show the same address, first check whether the destination matches a direct-connection rule rather than assuming the client is broken. To compare results, note your original routing preset, temporarily switch to a global routing preset that proxies regular web requests, and run the lookup again. Restore the original preset afterward. This changes routing, not TUN, and won't make apps that ignore the system proxy use it.
Cross-Check Logs and App Behavior
While visiting the test page, check the client logs for related requests or errors. Some versions and log levels only record errors, not every successful visit, so a lack of request details alone doesn't prove the proxy isn't working. Consider page access, exit IP comparison, and error logs together; that's more reliable than checking the connection icon alone. Before sharing logs, redact subscription parameters, server addresses, and any other sensitive information.
If the client's real connection test succeeds but the browser still can't access sites, first check that Set system proxy automatically is still selected on desktop. Then check whether the browser has its own proxy settings or an extension is handling traffic. On Android, make sure the browser is included in the per-app proxy scope and that the system hasn't switched the VPN connection to another app. Don't change DNS and routing rules at the same time; first make sure the target app is actually using the client.
If a page loads but some resources fail, try another independent page and check whether the failures are limited to specific domains. If only certain destinations fail, investigate the rules and DNS results for those destinations. If all destinations fail, check the active configuration and local traffic-capture settings. For details on how DNS works and how rule priority is determined, see the DNS section of the full guide. There's no need to reproduce the entire advanced setup on this page.
Once the test succeeds, remember the active server, routing preset, and traffic-capture method. For everyday use, start the client before opening apps that need the proxy. If updating the subscription removes the active configuration, select a server again and run a quick browsing test. Don't assume the previous active configuration is still available just because the subscription update succeeded.
Restore Your Network Settings When You're Done
On desktop, clear the system proxy in v2rayN before exiting. If your version is set to clear it automatically on exit, check after your first session that the browser can connect directly. On Android, tap Stop, confirm the system VPN connection has ended, and then close the app. If pages suddenly stop loading after you exit, first check whether the system still has a local proxy configured instead of deleting the subscription or reinstalling the client.