Step 1: Import a subscription
First, check whether you have a subscription URL or a single share link. A subscription URL usually provides a set of server configurations that can be updated when your provider makes changes. A single share link contains one configuration and should be added using the client's clipboard import feature. Using the wrong option can cause update failures or leave the list empty. For help with these terms, see the glossary entry on subscriptions and nodes.
v2rayN: Add a subscription group and update it
Open the v2rayN main window, find Subscription Group at the top, open Subscription Group Settings, and select Add. Enter a name that helps you identify the source, then paste the full subscription URL into the address field. Check for extra spaces, line breaks, or quotation marks at either end. Don't copy any instructions from the webpage along with the URL. Leave unfamiliar fields at their defaults, save, and close the settings window.
Return to the main window, select the group you just added, then use the Subscription Group menu to update the current subscription. If you don't have a working connection yet, try the menu option to update without a proxy first. If the URL requires a proxy, wait until you have a working connection before trying the corresponding update option. Once the update completes, servers should appear under the group. For now, just confirm the entries are visible; you don't need to run batch tests or edit individual server settings.
If the main window is still empty, check whether you've selected the wrong group or whether the search box or filters are hiding results. Then check the update message: a connection failure and a parsing failure have different causes. The former may point to an invalid URL or network issue; the latter may indicate an unexpected response format. Don't keep adding the same subscription to fix an empty list, or it may become difficult to tell which configuration you're using.
v2rayNG: Save the subscription and return to the main screen
Open v2rayNG, expand the side menu in the upper-left corner, and go to Subscription Group Settings. Tap Add, enter a name and subscription URL, and save. Return to the main screen, open the menu in the upper-right corner, and select Update subscription. Saving the URL on the subscription settings page does not download the server list; servers appear in the main list only after you update it.
When servers appear, tap the one you want to use and confirm the selection indicator moves to it. For your first setup, choose a configuration your provider explicitly says works with your client. Don't edit the protocol, transport, and security settings all at once. If you have a single share link, copy it in full and choose Import from clipboard from the main screen's Add menu instead of pasting it into the subscription URL field.
You should now have a server configuration to select. Before connecting, decide which traffic the client should handle and which destinations should connect directly. This helps avoid mistaking a routing issue for a server problem.
Step 2: Choose a proxy mode
System proxy and routing mode handle different things. The system proxy tells apps that respect the setting to send requests to the client. Routing mode decides whether the client sends those requests through a proxy or directly. If you choose a proxy route but don't configure your browser to use the client, its requests may bypass the client. Conversely, enabling the system proxy doesn't mean every destination will use the proxy; routing rules still apply.
v2rayN: Start with basic routing and leave TUN off
Find Routing in the main window or tray menu, then choose Bypass mainland China as a starting point. This applies rules to classify destinations; it doesn't guarantee that every site will be routed as you expect. The result also depends on the built-in rules and their version. If you need a different routing setup, choose the matching option and note your original setting so you can restore it.
This guide uses a browser to verify the connection, so leave Enable TUN off for now. TUN uses a virtual network adapter to handle traffic and can cover more apps, but it also involves permissions, DNS, and other network software. Enabling both the system proxy and TUN for your first setup adds more variables to troubleshoot. Get the basic setup working first; if an app doesn't follow the system proxy, see the TUN mode section in Advanced Setup.
Clear system proxy, Set system proxy automatically, and Do not change system proxy are three ways to handle system settings, not three server protocols. Do not change system proxy keeps the current system state; it does not automatically route traffic through the client. Check your routing option first, then choose Set system proxy automatically in the next step to keep the setup process clear.
v2rayNG: Check routing settings and leave other options unchanged
Open Settings from the side menu, go to Routing settings, and check the current routing mode and rules. If your version offers a preset such as Bypass LAN and mainland China addresses, choose one that matches your needs. Other versions may use different labels or rule sets for similar options; read the on-screen description before selecting one. Routing determines which traffic goes direct and which uses a proxy; it doesn't select the server.
For your first setup, you don't need to change options such as Domain strategy, Enable local DNS, or Fake DNS. These affect domain resolution and destination matching, and combining them without a clear reason can break an existing configuration. Start with the client defaults or values explicitly required by your provider. If logs and repeatable steps point to a DNS issue, adjust settings one at a time using the Advanced Setup guide. You can also look up domain strategy in the glossary.
After choosing a mode, return to the main list and confirm the selected server once more. Next, start the connection; don't add another subscription. A successful subscription update only means the configuration was downloaded, not that a connection has been established.
Step 3: Connect the client
Before connecting, quit or pause other software that controls the system proxy, virtual network adapter, or VPN. If multiple programs change the same network settings, one may override another without it being obvious. Use a single client for your first test. Once it works, you can investigate how to run it alongside other software; this makes issues easier to isolate.
v2rayN: Select an active server and set the system proxy
Select the server you want in the server list, then use the right-click menu to choose Set as active server or the equivalent option. Confirm that the active indicator changes. Next, choose Set system proxy automatically from System proxy at the bottom of the main window, or from the right-click menu of the tray icon in the lower-right corner. Once enabled, browser requests from apps that follow the system proxy will go through the client.
v2rayN usually starts or reloads its core when you select an active configuration; you may not need to find a separate button labeled Connect. Check the log area or open the logs to make sure there are no repeated startup failures, configuration parsing errors, or port conflicts. An open window or visible tray icon doesn't prove that the core is running properly.
If you see a port conflict, check whether the client is running more than once or another network app is using the same port. Don't change ports at random in multiple settings pages. If you change a local listening port, update any apps that depend on the old one as well. If the logs point to a TLS certificate issue, check the system time and server name in the configuration instead of routinely disabling certificate verification.
v2rayNG: Connect and grant system permission
On the main screen, tap the server you want to use, then tap the connect button in the lower-right corner. The first time you connect, Android will ask for permission to create a VPN connection. Confirm the request comes from the client you're using, then tap Allow. This VPN interface is the system channel the client uses to handle traffic; it doesn't change your subscription URL or server protocol.
After granting permission, return to the main screen and check that the connect button shows a running state. Also check the system's VPN status. If you dismissed the prompt, the client may not be able to handle traffic; tap Connect again and grant permission. Starting another VPN app may replace the current connection, so keep only one VPN connection active while testing.
If the client stops immediately after starting, open Logs from the side menu and check the latest startup message. First determine whether the configuration failed to load, system permission is missing, or the client started but couldn't connect to the remote server. If you see an unsupported protocol or field message, check the subscription requirements and the client's core. Don't remove fields from a share link at random. Find common error guides on the Troubleshooting page.
The client is now attempting to connect, but you still need to test real requests. Don't judge success by the button color or system status icon alone; next, check two destinations with different routing expectations.
Step 4: Verify the connection
Open a browser and visit a site you know is working and that should use the proxy under your current rules. Wait for a new request to complete rather than relying on cached content; refresh the page or reopen the browser if needed. Then visit a site that should connect directly under your rules to confirm the basic network connection works too. If both destinations behave as expected, your setup should meet your current needs.
Use logs to distinguish startup from access issues
Check the client logs while you try to access a site. The details vary by core and log level; you may see destination requests, outbound selection, or connection errors. The absence of individual request entries doesn't necessarily mean requests never reached the client, so check the log level first. Don't leave verbose logging enabled to capture every request, and don't share complete browsing logs publicly.
If your browser works but a standalone app doesn't, check whether the app follows the system proxy, has its own proxy settings, or relies on a different transport. This doesn't automatically mean the subscription is unusable. On desktop, start by checking the app's network settings; investigate TUN if you need the client to handle more traffic. On Android, check whether per-app proxy is enabled and whether the app is on the allow or exclude list.
The client's built-in tests show results for their specific test method. A server passing one test doesn't guarantee that every website and app will work; a failed test alone doesn't prove the configuration is unusable either. Consider real-world access, current routing, and the type of error in the logs together. There's no need to cycle through a long list of servers at random.
If verification fails, change one thing at a time
If both destinations fail, stop the connection and check whether your regular network still works. Once basic connectivity is confirmed, check in this order: is there a configuration in the subscription, is the right server active, is the system proxy or VPN running, and do the logs show errors? Change one thing at a time, then repeat the same test so you can tell what affected the result.
If only one site fails, note when it happened, the destination domain, and the type of error. Then check whether the site is using the expected outbound route. Don't immediately clear all settings or change routing, DNS, the core, and security options at once. For further help, find the matching symptom in Troubleshooting. For custom rules or DNS configuration, see Advanced Setup.
Save working settings and disconnect correctly
After your first successful test, note the client name, current routing preset, and any essential custom settings so you can restore a working baseline. If your provider maintains the subscription, keep using the original group for future updates. Avoid making long-term manual edits to subscription entries; an update may overwrite them.
When you're finished, choose Clear system proxy in v2rayN before exiting, so the system doesn't keep pointing to a local proxy that has stopped. In v2rayNG, tap the connect button to stop the client and confirm the system VPN is off. Next time, check that your server is still available and connect using the same controls; there's no need to import the same subscription again.