First-Time Setup · 4 Steps
v2rayN / v2rayNGSubscription Import and Connection Guide
Complete your first setup in order: import a subscription → choose a mode → connect → verify. Get one traffic route working before exploring TUN, DNS, or custom routing rules.
Before You Start
Get the Client and Subscription Ready
The client reads the configuration and forwards connections; the subscription provides server settings. After installing the client, prepare a subscription URL or a single server configuration from a source you trust and are authorized to use.
- Make sure the client opens normally.
- Have the complete subscription URL ready, and keep the original unchanged.
- Check your device's date, time, and time zone.
- Temporarily quit any other proxy tool that is routing network traffic.
Subscription URLs may contain access credentials. Do not include them in public screenshots, chat logs, or shared configuration files.
Step 01 / Import Configuration
Import a Subscription: Check for Servers in the List
Save the subscription to a group before updating it. Entering the URL alone usually will not create server entries; the update fetches and parses the subscription into a list. Before you begin, copy the full URL and check that it contains no leading or trailing spaces, line breaks, or extra text. A subscription URL is different from an account management page: being able to open an account page in a browser does not mean it can be imported as a subscription.
v2rayN: Create a Group, Then Update It
Open the v2rayN main window, find the Subscription Group menu, and open subscription group settings. Add a recognizable name, such as “Daily setup.” Paste the subscription URL into the address field, make sure the group is enabled, and save. Return to the main window and update that group from the subscription menu. If the interface offers Update All Subscriptions, you can use it when this is your only group.
When the update finishes, switch to the group you just created. The main list should show server names, protocols, and other configuration details. Confirm that the list belongs to this group, not an older group or a filtered view. If no entries appear, check the log or update message at the bottom. A failed request and a parsing error are different issues: check whether the URL is reachable for the former, and whether the subscription format is supported by the client for the latter. Repeatedly clicking Update is no substitute for checking the error.
v2rayNG: Add the URL in Subscription Group Settings
Open v2rayNG and use the side menu to go to subscription group settings. Tap Add, enter a label and subscription URL, then save. Return to the server list, open the menu in the upper-right corner, and update the subscription. Some menus offer an update option for each group, so confirm the target before proceeding. Wait for the update to finish, then check whether server entries appear. Seeing a group name alone does not mean the server configuration has been downloaded.
If you have a single server share link rather than a subscription URL, use the client's corresponding option, such as Import from Clipboard. A single link usually describes one server; a subscription URL can sync a set of configurations on future updates. Do not put either type in the wrong field or edit the encoded part of a link. A QR code is just another way to import configuration; check its source and purpose before scanning.
If the first update fails because of a network issue, check whether the URL has expired, the subscription is still active, and your local network can reach the subscription service. Only consider updating through a proxy if you already have a working connection. On a fresh install with no usable configuration, Update via Proxy may not help. For format and update errors, see the Help Center. Once the list looks right, continue to the traffic capture settings.
Step 02 / Traffic Capture and Routing
Choose a Proxy Mode: Start with Routing Rules
Start with a routing rule preset provided by the client, then check whether your apps are using the proxy. Two settings are easy to confuse: system proxy or VPN capture determines which apps hand connections to the client; routing rules determine which outbound route those connections take. Choosing a routing mode does not send every app through the proxy, and enabling the system proxy does not mean every site will use the remote server.
v2rayN: Set the System Proxy; Leave TUN Off for Now
Find the system proxy option in the main window or tray menu. For your first test, choose an option such as Set system proxy automatically. This writes a local proxy address to the system; it does not automatically route traffic by website. The selected routing rules still determine where connections go. In the routing settings or menu, choose a preset described as rule-based routing with LAN bypass and the relevant direct-connection ranges. Read its details rather than relying on the preset name alone.
This guide uses a desktop browser that follows the system proxy for testing. Some apps have their own proxy settings, and command-line tools may not use the system proxy, so do not use them to judge whether your first setup works. If your browser has a proxy-switching extension, disable its traffic capture or explicitly set it to use system settings to avoid routing traffic to another port. Leave TUN off for now to reduce the number of things to troubleshoot.
Clear system proxy usually means removing the system proxy settings written by the client; it does not necessarily stop the client core. Do not change system proxy means the device's existing settings may be left untouched. Check the current state when switching, and do not confuse the two. After completing this guide, see Advanced Configuration for more on system proxy, TUN, and app-specific proxies. You do not need to enable every traffic capture method for your first connection.
v2rayNG: Use VPN Capture and Check Per-App Settings
In v2rayNG settings, find the routing or predefined rules options and choose a preset that fits your needs. Android normally routes selected app traffic through the client using the system VPN interface; there is no desktop-style system proxy button to look for. If per-app proxying is enabled, make sure the browser you are testing is included. With Bypass selected apps, checked apps are excluded—the opposite of Only proxy selected apps. Follow the option's description to confirm what it does.
If another VPN app is running on your device, stop it before using v2rayNG. Switching between multiple traffic capture tools can leave the permission state and actual connection state out of sync. There is no need to change DNS, sniffing, or advanced routing fields on your first run. Keep suitable defaults and make targeted changes only if the later browsing tests point to a specific issue.
Step 03 / From Configuration to Connected
Connect: Select a Server and Check the Logs
Select an active server, then confirm that the client is actually running. An entry in the list only means the configuration was imported; clicking an entry does not necessarily make it the active server. Depending on the version, the active server may be marked by an icon, color, or status text—use the interface to confirm. For the first test, choose a server you know is still working. Avoid changing settings and trying several servers at once, or you will not know which change made a difference.
v2rayN: Set the Active Server and Confirm the Core Is Running
Right-click the target entry in the server list and choose Set as Active Server or the equivalent option; some versions let you select it with a double-click. Check the status bar and logs to confirm the client loaded the configuration and did not immediately exit. If your version requires you to start or restart the service manually, do so, then check that the system proxy is set as expected. You can minimize the main window, but do not exit the program if you need it to keep running in the background.
When the core starts normally, the logs usually show that the configuration loaded or that a local listener is running. A local listener only means the client is ready to accept connections; it does not prove that the remote server is reachable. If the logs report that an address is already in use, first close any duplicate client instances and check whether another tool is using the same listening port. Do not start by changing every port at random. For configuration field or startup file errors, check the imported configuration and client installation.
v2rayNG: Tap Start and Approve the VPN Prompt
Tap the target server in the list and confirm that the active marker moves to it, then tap Start. The first time you connect, Android will show a VPN permission prompt. Verify which app is requesting access, then approve it. If you previously denied permission, try starting the connection again to trigger the prompt. A VPN status indicator and a running status in the client show that traffic capture is active, but you still need to verify the remote connection by browsing.
If the connection drops soon after starting, return to the app and check its status and logs; do not delete the subscription right away. Battery management, background restrictions, or another VPN app may interrupt the connection. If it stops only after the screen locks, check the app's background permissions once the basic connection is confirmed to work. If it fails to start even in the foreground, focus first on permissions and startup errors. Do not troubleshoot both issues by changing settings at once.
If Something Fails, Change One Setting at a Time
Note when the failure occurred and check the first relevant error around that time. DNS resolution failures, connection timeouts, and handshake failures point to different parts of the connection; a timeout does not prove that an account is invalid. First check that the device clock is correct, the subscription is up to date, and the current network is working. Then compare with another active server from the subscription. Do not change ports, transport settings, or security fields based on the protocol name alone; they must match the server configuration.
Before sharing logs for help, hide subscription URLs, server credentials, and personal network information. The error type and sequence of steps are usually enough. For detailed explanations, see Connection Troubleshooting. Once the client stays running without repeated startup errors, continue to the final step. You do not need to wait for a particular speed test result before testing websites.
Step 04 / Verify the Traffic Route
Verify the Connection: Check Browsing Results and Routing Logs
Use the same browser to test both direct and proxied traffic, then check the logs. Loading a page only proves that this request succeeded; it does not prove that it used the expected outbound route. A page that fails to load could also indicate a site outage or browser issue. Verify both whether the request succeeded and where the traffic went—do not rely only on the client's running icon.
Test the Browser First, Then Check the Route
First open a site that should connect directly under your current rules. Then open a site you are authorized to access that should use the proxy. Use a new tab and refresh the page so you are not relying on a cached result. If the browser has its own proxy settings, an extension, or a special network policy, make sure it is not overriding this guide's settings. On Android, confirm again that per-app rules have not excluded the browser.
Next, check the client logs or connection records. If the interface shows destination addresses, matched rules, or outbound tags, find the requests from your test and confirm where they went: expected direct traffic should use a direct outbound, while expected proxied traffic should use the appropriate proxy outbound. Outbound tags may be customized in the configuration, so do not look for one specific English label. If the default logs do not show these details, do not treat that as a failure; learn the logging settings before temporarily enabling the information you need.
If needed, run a comparison with the proxy stopped: note the current result, stop the connection or disable the system proxy, visit the same site, then restore the original settings. On v2rayN, the system proxy may still point to a stopped local port after you exit the client, leaving the browser unable to connect. Check the system proxy when testing with the desktop client stopped. On v2rayNG, tap Stop to end VPN capture, then confirm the system status has changed.
| What You See | What to Check First | What to Do Next |
|---|---|---|
| Browser traffic is not taking the expected route | System proxy, browser-specific settings, per-app scope | Return to Step 2 and check traffic capture only |
| Local connection appears in the logs, but the remote server keeps timing out | Active server, current network, subscription settings | Try another working server for comparison and note the error |
| The page loads, but direct traffic is going through the proxy | Routing preset, rule order, and destination matching | Restore the preset first, then read the advanced routing guide |
| The browser works, but another app does not | Whether the app follows the system proxy or is captured by the VPN | Check that app on its own; do not reset the entire configuration |
Speed tests and exit IP lookups are supplementary checks
Connectivity checks, latency tests, and real website visits may use different destinations and methods. If a test fails, check actual browsing and logs before concluding that the entire subscription is unusable. An exit IP lookup only shows the route to that lookup service; it cannot prove that other sites matched the same rule. With rule-based routing, different destinations taking different routes is expected.
If direct browsing works, the expected proxy destination is reachable, and the logs match your rules, your first setup is complete. Keep this working configuration and note the group, active server, and traffic capture method. When enabling TUN, changing DNS, or adding custom rules later, change one thing at a time and repeat the checks in this section. If something breaks, you can return to a known working setup.