STEP 01 / SUBSCRIPTION
Import a subscription
First, identify what you have. A subscription URL is usually a link beginning with https://. The client fetches server configurations from it. A single share link may begin with vmess://, vless://, or trojan:// and represents one specific configuration. These use different import options: enter a subscription URL in the subscription settings, or import a single share link from the clipboard. A complete JSON configuration file uses a separate import option; don’t paste its contents into the subscription URL field.
v2rayN: Add a group, then update the subscription
In the top menu of the main window, open “Subscription Group” and choose “Subscription Group Settings,” then add a group. Give it a recognizable name, such as “Everyday,” and paste the full subscription URL into the address or URL field. For your first setup, leave the update interval, keyword filters, and other options at their defaults. In particular, don’t add filters yet: they could hide every server even when the subscription is working. Check that the URL has no spaces or line breaks at either end, then save and close the settings window.
Back in the main window, open the “Subscription Group” menu and select “Update subscription.” If the menu offers “Update through proxy” and “Update without proxy,” try updating without a proxy first if you don’t have a working connection yet. If the subscription service requires a proxy, first import a working configuration and connect, then update through the proxy. When the update finishes, select the group you just created. Its servers should appear in the list. For now, just confirm that the list is populated; you don’t need to change server settings yet.
v2rayNG: Save subscription settings, then update from the home screen
Open the side menu, go to “Subscription Settings,” and tap the add button. Enter a group name in the remarks field, paste the subscription URL into the address field, and save. Return to the home screen, open the menu in the upper-right corner, and select “Update subscription.” Wait for the update to finish. Adding a subscription record only saves its URL; it doesn’t fetch servers. You must update it before configurations appear on the home screen. For a single share link, copy the full link, then use the add menu on the home screen and select “Import from clipboard.”
If no entries appear after the update, check whether the message indicates a request failure or a parsing failure. For a request failure, first check that the URL is valid, your internet connection works, and the subscription doesn’t require an existing proxy connection. For a parsing failure, confirm that the provider gave you a subscription the client can read, not a login page or error page. Never submit a URL containing a token to an unfamiliar conversion service for troubleshooting. See subscription and node terms in the terminology guide for format details, or follow the subscription import guide for step-by-step instructions. Once servers appear, continue to configure how traffic enters the client.
STEP 02 / TRAFFIC ENTRY
Choose a proxy mode
Keep two things separate: the proxy entry point controls how app requests reach the client, while routing rules decide whether those requests go direct, through a proxy, or get blocked. Enabling the system proxy doesn’t route every app through the client, and choosing global routing doesn’t automatically send every program on your device through it. For your first setup, keep things simple: get browser traffic flowing reliably before trying more complex routing or VPN-based traffic capture.
v2rayN: Start with the system proxy; leave TUN off
In the main window’s system proxy options, or in the “System Proxy” menu from the system tray icon, select “Automatically configure system proxy.” “Do not change system proxy” leaves your existing settings as they are; it does not point your browser to the current client. “Clear system proxy” stops using this entry point. For this guide, choose automatic configuration and leave “Enable TUN mode” off. TUN involves permissions, network adapters, and DNS, so it’s outside this basic setup.
Next, check “Routing” or “Routing Settings.” If the built-in rules include an option such as “Bypass LAN and mainland China” or a similarly named preset, you can use it as a starting point for everyday browsing. Requests to LAN addresses and requests matched by direct-connection rules go directly; other traffic is routed according to the rules. Preset names and coverage vary by version, so read the rule descriptions rather than relying on the name alone. For now, don’t edit domainStrategy, delete rule files, or overwrite outbound tags. None of these steps is needed for your first connection.
v2rayNG: Check VPN mode and routing
Open “Settings” from the side menu and confirm that v2rayNG is using VPN mode, not proxy mode, which only provides a local port. In routing settings, choose a preset that fits your needs, such as one that bypasses LAN and mainland China addresses. If you’ve configured per-app proxying, make sure your browser is included; when using an exclusion list, don’t exclude the browser. The VPN interface gets requests into the client, while the client’s routing rules decide whether they go through a remote server. These are separate settings.
At this stage, don’t keep switching between global routing, direct mode, and multiple custom rule sets. Note your current selection, then test it after connecting. If a desktop app doesn’t use the system proxy, you can configure its proxy settings separately or use TUN later. On Android, disconnect any other VPN first to avoid mistaking a replacement connection for a failure. For an explanation of these modes, see the terminology guide. For complete platform setup instructions, see the documentation.
STEP 03 / CORE START
Connect
A successful subscription update means the client retrieved a configuration; it doesn’t guarantee that the server is reachable. Choose a server from the list that suits your current network. Follow the subscription provider’s recommendations rather than guessing what a server supports based on its name. During initial troubleshooting, stick to one configuration so you can tell which changes affect the result.
v2rayN: Set an active server and check the core logs
Select the server you want in the list, then choose “Set as active server” from the right-click menu. Some versions let you activate a server by double-clicking it. Check the active marker or status area to make sure the configuration switched. v2rayN typically starts or reloads the core when you activate a configuration; it may not have a separate master connect button. Once the switch is complete, open the logs and check for core shutdowns or configuration loading errors.
If the logs report that a port is already in use, close other proxy apps and restart the current client before changing listening ports at random. If a configuration field is unsupported, check that the configuration’s protocol is compatible with the selected core. In particular, don’t switch to a different core if the configuration requires features specific to another one. The client interface can remain open even when the core hasn’t started successfully, so check the core and system proxy status separately. For more details, see how to diagnose core startup failures in the logs.
v2rayNG: Select a configuration and approve the VPN request
Return to the home screen and tap the configuration you want to select it, then tap Connect. The first time you connect, Android displays a VPN connection request. Confirm that it comes from the current client, then approve it. Without permission, the client can retain server details but can’t establish the VPN connection. After connecting, check the status on the home screen and the system VPN indicator. Its location varies by Android version, so don’t rely on a specific notification icon.
If the connection stops right after starting, open the client logs and check the first error. Determine whether the issue is a configuration load failure, a remote connection failure, or a system permission problem. If you’ve granted VPN permission but still see a conflict, check whether another app using the VPN interface is running. If the connection only drops after the screen locks or the app goes to the background, check the system’s battery and background activity restrictions. You don’t need to change these settings to troubleshoot a failure while the app is in the foreground.
A Connect button showing that the client is running doesn’t mean the setup has been verified. It only confirms that the service has started; you still need to check whether it can reach the remote server, routing is correct, and browser traffic reaches the client. Keep the client running and don’t exit the process or update the entire subscription again before testing. First confirm that a specific request makes it through, then configure automatic updates and background operation.
STEP 04 / REQUEST CHECK
Test the connection
Check both the result and the request path. A page loading by itself doesn’t tell you whether it went through the proxy or matched a direct-connection rule. Likewise, a running client doesn’t prove that browser traffic reached it. First open a site that normally works to make sure your network settings haven’t interrupted basic connectivity. Then open a site that normally requires this proxy and check whether the new request completes.
Make a new browser request
On desktop, use a browser that follows the system proxy, and temporarily disable extensions that override proxy settings. If the browser has its own proxy configured, switch it back to using the system proxy. Existing connections may keep using their old route, so close and reopen the browser if needed. On Android, make sure your browser isn’t excluded by per-app proxy rules, then reload the target page. A cached page or an old tab showing only a title isn’t proof of a successful connection.
Check the client logs for connection records around the time you made the request. If the current log level records requests, look for the target domain or address and confirm that the selected outbound route is what you expect. Requests matched by a direct-connection rule should go direct; that doesn’t mean the proxy failed. To test the remote proxy, choose a site expected to use it. Outbound tags in the logs can vary depending on how the configuration was generated. Check what they mean rather than expecting a particular English label.
Narrow down the issue by symptoms
If the browser can’t load a page and there’s no corresponding request in the logs, check the traffic entry point first: is v2rayN’s automatic system proxy configuration still active? Is the browser bypassing system settings? Is the v2rayNG VPN running, and is the browser excluded? If the request appears in the logs but times out or fails to handshake with the remote server, check the selected server, subscription status, system clock, and protocol compatibility. This avoids changing remote addresses or routing fields when traffic hasn’t reached the client yet.
If the connection is established but only certain domains fail, note the domain, error message, and selected route, then check DNS and routing rules. Don’t switch all your DNS, core, and TUN settings because of one problematic page. To compare results with global routing, change only that setting and restore your previous routing preset after testing. For persistent setup involving LAN addresses, app-specific proxies, or virtual network adapters, see the platform setup documentation. You don’t need to configure all of this when getting started.
Restore settings when you’re done
When ending a proxy session on desktop, select “Clear system proxy” in v2rayN before quitting the client. Otherwise, some apps may keep sending requests to a local port that’s no longer open, making regular websites appear unreachable. If this happens after the client exits unexpectedly, check your system’s network proxy settings and clear the local proxy set by this client. Restore any existing proxy settings managed by your workplace or network instead of overwriting them.
On Android, tap Disconnect on the v2rayNG home screen. Confirm that the running status has stopped and the system VPN indicator has disappeared. Next time, you can usually select the configuration and reconnect without importing the subscription again. Your first setup is complete when the target page loads, the client logs confirm the request, and routing works as expected. Save a note of the group’s purpose and your current mode. Before sharing screenshots or logs, hide subscription URLs, identifying details, and server credentials.