1. Import a Subscription
First, check whether you have a subscription URL or a single-node share link. A subscription URL is usually a web address that the client fetches and parses to retrieve configurations. Links beginning with vmess://, vless://, or trojan:// are usually single-node share links, which you can import from the clipboard. They use different import options, so don’t paste a share link into the subscription URL field just because both can be copied. For more on the difference, see the glossary.
Add a Subscription Group in v2rayN
Open v2rayN and find “Subscription Group Settings” or a similar group management option in the “Subscription Group” menu at the top. Choose Add, enter a recognizable local name in the remarks or alias field, then paste the complete subscription URL into the address field. Check for spaces, line breaks, or extra text around the URL, and leave its path and parameters intact. Keep the other options at their defaults for now, save, and return to the main window.
Saving the URL creates a group but does not download any configurations. Open the “Subscription Group” menu again and update the group you just added. If the menu offers “Update via proxy” and “Update without proxy,” try updating without a proxy first if you don’t have a working connection yet. Use a proxy only if your regular network cannot reach the subscription URL and you already have a confirmed working proxy. Avoid switching options repeatedly, or it will be hard to tell what changed the result.
After the update, the main list should show the parsed configuration entries. If there is a group filter on the left or at the top, select the group you just added or “All” so an empty filtered list doesn’t look like an import failure. Once entries appear, check that basic details such as the protocol match your provider’s instructions. There’s no need to edit addresses, ports, or transport settings individually yet; keep the original configurations and move on.
Add a Subscription in v2rayNG
On the Android home screen, open the menu and go to “Subscription Group Settings.” Choose Add, enter a remark and the subscription URL, save, and return to the configuration list. Then use the menu to select “Update subscriptions” or “Update current group subscription.” Some versions place the update action in the group menu; the important thing is to run an update after saving. If you have a single-node share link, copy the full link and choose the clipboard import option in the home screen’s add menu instead. You don’t need to create a subscription URL.
If the update fails, first check that the URL is complete, the subscription is still valid, and your current network can reach the provider’s subscription service. Don’t keep deleting the group, or try editing a failed subscription as if it were a regular configuration. For unsupported formats, timeouts, or authentication errors, follow the steps in Troubleshoot subscription update failures. Move on to proxy settings only after configurations appear in the list.
2. Choose a Proxy Mode
You need to configure two separate things: how traffic enters the proxy and how it is routed afterward. In v2rayN, the system proxy setting registers a local proxy address with the operating system, so apps that follow this setting send requests to the client. Routing determines whether those requests go through the proxy, connect directly, or use another route. These are separate settings: enabling the system proxy does not guarantee that every app or all traffic will use the proxy.
On Desktop, Start with Automatic System Proxy
In the v2rayN main window’s status area or system tray menu, find “System Proxy.” For your first setup, choose “Set system proxy automatically.” “Clear system proxy” removes the corresponding system proxy settings. “Do not change system proxy” generally means the client won’t modify the current system settings; it does not mean a proxy is in use. Menu labels may include shortcut keys or status prefixes, so identify options by their purpose.
For your first setup, test the system proxy in a browser before enabling TUN. Some apps have their own proxy settings or don’t use the system proxy at all; configure these apps separately. If an app asks for a proxy address and port, use the listening protocol and port actually enabled in v2rayN’s settings. Don’t enter the remote server’s port as the local proxy port, and don’t change both the listening port and app settings at the same time to troubleshoot.
Choose a Routing Rule That Fits Your Needs
Next, open “Routing” and review the available configurations. Rules labeled along the lines of “Bypass mainland China” generally send matching requests directly, while handling other requests according to the configuration. This is a common choice for a first setup, but the actual behavior depends on the rules currently loaded by the client. Don’t infer how every website will connect from the mode name alone; use the logs in the verification steps below.
A “Global” routing mode can help you check whether routing rules are affecting access to a site, but it only applies to traffic that has already entered the client. It does not automatically take over traffic from every app. If switching modes makes the site accessible, investigate the routing match rather than repeatedly reinstalling the client. For more on domain rules, IP rules, and REALITY, see protocol and transport terms. For now, focus on a basic setup you can verify.
On Android, Keep the Default VPN Setup
For a first-time v2rayNG setup, keep VPN mode enabled, leave per-app proxy disabled in settings, and use the default routing configuration. This avoids two common sources of confusion: excluded apps and unmatched rules. VPN mode sends eligible app traffic into the client; routing then determines where that traffic goes. Don’t change DNS, sniffing, or custom rules all at once. First confirm the connection works, then adjust settings one at a time and note the results.
3. Connect
You’ve imported a subscription and chosen how traffic is handled. Next, select the configuration you want to use. Seeing multiple entries in the list only means the client read the subscription; it doesn’t mean they’re all connected or that the currently selected entry will work. For this setup, choose one the provider has confirmed is working. Complete a single cycle from selection to verification before trying other entries.
Set the Active Server in v2rayN
Select the configuration you want in the main list, open the right-click menu, and choose “Set as active server” or the equivalent option. Some versions also let you double-click an entry to make it active. Check the selection indicator or status message to confirm the change. Highlighting a row with a single click may not switch the active configuration, so make sure the active marker changes afterward.
After you set an active server, v2rayN usually loads the configuration and starts or restarts the core; there may not be a separate Connect button. Check the status area and logs for configuration parsing errors, port conflicts, or core startup failures. Then confirm the system proxy is still set to “Set system proxy automatically.” If the app minimizes to the system tray, closing the main window does not necessarily stop the proxy; check the tray and current settings to see whether it’s still running.
You don’t need to run every test at this point. A latency test only reflects its specific test conditions and cannot replace an actual browser request. A successful test also doesn’t prove that a particular app is using the system proxy. To try another configuration, set it as the active server and wait for it to reload before repeating the same verification. Avoid changing the configuration, routing, and network at the same time, so the results remain comparable.
Connect and Authorize in v2rayNG
On Android, tap the configuration you want on the home screen and confirm it’s selected, then tap Connect. The first time you start it, Android will ask whether to allow a VPN connection. Check that the request is from v2rayNG and approve it. This permission enables local VPN traffic handling; it does not mean the remote server is reachable. Wait for the client status to update, then test access in the next section.
If Android says another VPN connection is already active, disconnect that service first, then try v2rayNG again. After connecting, you’ll usually see a VPN status in the system status area or notification, though this varies by device. You may not see an authorization prompt if permission was already granted. Check both the client status and actual access to determine whether the connection is working.
Keep the app open while you complete the first test, then check whether access still works in the background. If the connection only drops after the screen locks or the app has been in the background for a while, check Android’s battery and background restrictions for v2rayNG. Don’t change a lot of system settings before the connection works. For startup errors, VPN connection failures, or unexpected app exits, see the relevant symptom in Troubleshooting.
4. Test Your Connection
Check three things: whether the client starts normally, whether the app you’re testing sends traffic through it, and whether requests follow the expected route. A changed Connect button, enabled system proxy, or active VPN status only confirms part of the setup. Follow the checks below to pinpoint the issue instead of blaming the subscription whenever a page won’t load.
Check the Status, Then Make a New Request
First, check that the client keeps running and that its logs show no repeated restarts, listener failures, or configuration errors. Once the status is stable, open a new browser tab and visit a known-working website that’s appropriate for your test. Make a fresh request rather than relying on a page that was already open; cached content may still appear when the network is down. If the browser has its own proxy extension or settings, disable the duplicate proxy before testing again.
On desktop, if the browser works but another app doesn’t, check whether that app follows the system proxy. On Android, if only one app fails, check whether per-app proxy is enabled and whether the app is excluded. Don’t conclude that the entire connection is broken based on one failed page. Likewise, a page that can connect directly doesn’t prove the proxy route is working.
Check Request Routing in the Logs
Open the client’s logs or connection details and look for a matching domain, connection, or routing entry as you make a request. The level of detail varies by version and log level; a missing full domain name doesn’t necessarily mean there was no request. If needed, temporarily increase the log level to investigate, then restore the usual setting. If the logs show an outbound tag, use it to tell whether the request went direct or through the proxy instead of guessing from how the page looks.
To compare results, note your current system proxy and routing settings, temporarily disable the proxy, and make a new request. Then restore the settings and repeat the same test. Differences can help narrow down the cause, but aren’t definitive: cached pages, reused connections, and server conditions can also affect the result. If access gets worse with the proxy enabled, check the logs first, then determine whether the issue is local traffic handling, the remote connection, or name resolution.
If only one configuration fails, try a known-working one for comparison. If all configurations fail, check your network and whether the client started correctly. Updating a subscription and connecting through a proxy are separate processes; success with one doesn’t confirm the other. For more detailed help, visit the troubleshooting guide and look up “No internet access,” “Node timeout,” “DNS issues,” or “System proxy not working.” Don’t add more advanced settings on this page.
Finish and Disconnect
Once the test succeeds, note the subscription group, active configuration, traffic handling mode, and routing mode that worked. After updating a subscription, check the active configuration again if an entry was replaced or removed; don’t assume the previous selection is still valid. When adjusting per-app proxy or custom routing, change one setting at a time, keep a record of how to restore it, and verify again using the same method.
When you’re done, select “Clear system proxy” on desktop before exiting the client, so the system doesn’t keep pointing to a local listener that has stopped. If you used a manual proxy configuration, restore the original settings instead. On Android, tap Disconnect in v2rayNG and confirm the system VPN has ended. Finally, open a regular webpage to make sure access has returned to the expected state. That completes the setup.