Subscriptions / Modes / Connection / Verification
v2rayNG Subscription Setup and v2rayN Connection Guide
Use an existing subscription to make your first connection. Follow the steps in order, keep the default settings at first, and adjust them based on the test results.
Before you begin, make sure the client is installed and you have an active subscription URL. The client stores configurations, starts the core, and routes traffic; it does not generate usable remote connection details. This guide does not provide subscription URLs, and you do not need to write a complete JSON configuration by hand. If the client is not installed yet, visit the client download page, choose the right installer, and return here after installing and opening the client.
These steps are designed for a first-time setup and usually take about ten minutes. Your connection depends on whether the subscription is active, the remote service is available, and your current network. We recommend closing other proxy or VPN tools that route traffic and noting your existing proxy settings first, so multiple programs do not change the same settings. Avoid changing ports, DNS, and routing at the same time; that makes it easier to identify the cause if something goes wrong.
Step 1: Import a Subscription and Select a Configuration
First, check whether you have a subscription URL or a single share link. Subscription URLs usually start with https://; the client retrieves a set of configurations from the URL, which you can update later. Links starting with vmess://, vless://, or similar schemes are usually single share links. Do not enter a web dashboard, purchase page, or QR code image URL in the subscription field. The URL format is only a clue; follow the provider’s instructions and check what the client imports.
v2rayN: Add a Group and Update the Subscription
Open v2rayN and select “Subscription Group Settings” from the “Subscription Group” menu at the top. Add a group, enter a recognizable label such as “Daily setup” in the remarks field, paste the full subscription URL into the address field, and save. Check the beginning and end of the URL for stray spaces or line breaks, but do not remove or edit its query parameters. Subscription URLs may contain access credentials, so do not share the full URL in public screenshots or forums.
After saving the group, return to the main window and select Update Subscription from the “Subscription Group” menu. If this is your first setup and you do not yet have a working connection, choose the update option that does not use a proxy. This avoids relying on a proxy connection that has not been established. If a direct update fails and you already have another confirmed working connection, you can try the option that updates through a proxy. Wait for the update to finish, then check for entries in the server list under the group. Saving the URL alone does not import configurations.
Select an entry in the list and use the context menu option “Set as active server” or its equivalent to make it the current configuration. Some versions also offer a keyboard shortcut; follow the menu label. Check that the server address, port, and protocol are populated, but do not edit the UUID, transport type, or security settings yet. Remarks are just labels; matching names do not mean the configurations are identical. Select one entry for testing without editing each one.
v2rayNG: Save a Subscription Group, Then Update It
Open v2rayNG, go to “Subscription Group Settings” from the side menu, tap Add, enter a label and subscription URL, and save. Return to the main screen and select “Update subscription” or the update option for the current group from the menu. Once the update finishes, new entries should appear in the configuration list. Tap one to select it. Importing multiple entries does not run them all at once; choose the configuration you want to use.
If you have a single share link, you do not need to create a subscription group first. Copy the entire link and select “Import from clipboard” from v2rayNG’s Add menu. In v2rayN, use the option to import a share link from the clipboard. You can also import a QR code using the client’s scan option, but make sure it contains connection details rather than a regular web page. Single links usually do not receive updated settings when you refresh a subscription; reimport or edit them when details change.
You are done with this step when a configuration appears in the list, the selected entry is clear, and the update has no unresolved errors. If the list is still empty, check whether the error indicates that the URL could not be reached, the response could not be recognized, or a group filter is hiding entries. Do not keep adding the same URL. For more on supported formats and failed updates, see the FAQ sections on setup and troubleshooting. Once the configuration is saved, move on to routing traffic through the client.
Step 2: Choose a Proxy Mode and Routing Rules
Keep two things in mind: the system proxy or VPN determines whether app traffic enters the client; routing rules determine whether that traffic goes direct, through the proxy, or is blocked. Importing a configuration only saves remote connection details. It does not confirm that your browser is using the proxy. For your first test, use the client’s everyday routing settings. Do not enable multiple traffic-routing methods or rewrite all the rules just to test the connection.
v2rayN: Route Browser Traffic Through the System Proxy First
Find “System Proxy” in the main window or tray menu. For your first test, choose “Automatically configure system proxy.” This sets the system proxy address to v2rayN’s local listening address and port. Browsers and some apps that use the system proxy will send requests through it, but not all software follows this setting. If your browser has a proxy-switching extension, set it to follow the system proxy or disable it temporarily so another address in the extension does not override the system setting.
Next, check the routing selection. As a starting point for everyday use, choose a built-in rule set that bypasses LAN and mainland China addresses; the exact label depends on your version. Matching requests connect directly, while other requests follow the configured outbound. “Automatically configure system proxy” does not send every destination through the proxy. If routing is set to global direct, the core may send requests directly even when the system proxy is configured. Keep track of both the traffic entry method and routing selection during your test.
You do not need to enable TUN mode yet. It routes a wider range of traffic and may require administrator privileges or additional system components, adding variables to your first troubleshooting session. First confirm that browser access works through the system proxy, then decide whether you need TUN for other apps. Command-line tools and apps with manually configured proxies may not follow the system setting, so one successful browser test does not prove they are routed through the client too.
v2rayNG: Check Routing and Per-App Proxy Settings
v2rayNG typically routes traffic through the Android VPN service, so you do not need to copy the desktop system proxy steps. Open Settings, find the routing options, and keep their defaults or choose a preset suited to everyday use. Labels such as “Predefined rules” may vary by version; read the description to confirm which addresses connect directly. For your first connection, leave the DNS server unchanged to keep a consistent baseline.
If “Per-app proxy” is enabled, check whether it proxies only selected apps or bypasses selected apps. These modes do the opposite: if your test browser is outside the proxy scope, it may connect directly even while the VPN service is running. For a clear first test, you can temporarily disable per-app filtering. If you need to isolate work or specific apps, keep your existing settings and test with a browser that is included in the VPN scope.
By the end of this step, you should be able to answer two questions: how does the test app connect to the client, and which routing rules apply to the test destination? For now, just choose an existing setting. To learn about routing, domainStrategy, or DNS match order, see the routing section of the JSON manual. Next, start the service and check its local status.
Step 3: Connect and Approve System Permissions
Before connecting, check that the selected configuration is not an older entry imported earlier. Keep the client in the foreground during startup, watch for its status to change, then switch to your browser. A running or connected status only means the local service has started; it does not confirm that the remote server is reachable. Verify remote connectivity with an actual request in the next step.
v2rayN: Check the Core and Local Listener
In v2rayN, the core usually starts or reloads after you set an active server. If your version has a Start or Restart service option, use it as prompted, then check the logs and status at the bottom of the main window. Look for signs that the local service is running normally. Persistent configuration parse errors, process exits, or port conflicts need to be resolved first; switching remote configurations usually will not help.
Make sure the system proxy is still set to “Automatically configure system proxy.” If you open the system proxy settings to troubleshoot, check that the address points to your local machine and that the port matches the client’s actual HTTP or mixed listening port. Do not copy a fixed port number from an online guide: versions and existing settings vary. Do not enter the remote server’s port as the local proxy port. Use the listener settings shown in the client.
If the port is already in use, close other proxy programs before restarting the service. If you need to change the listening port, also check that the system proxy has been updated to match. If a firewall prompt appears, choose an access scope based on the app’s current path and your use case; you do not need to disable the entire firewall to connect. Keep the local listener restricted to this machine during the initial setup, rather than enabling LAN access for troubleshooting.
v2rayNG: Start the VPN Service and Approve the Request
Return to the v2rayNG main screen, confirm that a configuration is selected, and tap the Start button at the bottom. The first time Android starts the service, it displays a VPN connection request. Check that the request is from v2rayNG, then approve it. After startup, the button or status text on the main screen should change, and a VPN indicator usually appears in the status bar. The exact display depends on your device. If you denied permission, tap Start again and approve the request; returning to the list alone does not start the service.
If Android says another VPN is connected, check which service is running and switch only after confirming. Android typically cannot let multiple standard VPN services route the same user’s traffic at once. If the service stops immediately after starting, check the client logs for a configuration error, a permission issue, or another app taking over the connection. Avoid tapping the button repeatedly before you see the service status; rapid start and stop actions can overlap and make troubleshooting harder.
If the connection works at first but drops when the screen locks or the app moves to the background, check battery optimization, background activity, and network permissions. Adjust only the settings needed for this client; there is no need to change every system restriction at once. Keep the current configuration and mode, then test actual access. Once you have clear results, you can look into background behavior in more detail.
Step 4: Verify the Connection and Real App Traffic
Open a browser, start a new tab, and visit a familiar HTTPS page you are allowed to access. Then try a second site. Use new requests rather than relying on pages that were already open; caching can make a page appear even when the connection is not working. If the first request is slow, wait for the result and note whether it loads, returns a clear error, or keeps timing out. Do not change the subscription and routing settings at the same time.
While browsing, switch back to the client and check the logs. If the current log level records access activity, look for requests matching the test destination and check which outbound they use. Not seeing each request in the logs does not necessarily mean traffic is not being routed; the log level may simply be low. Temporarily increase the detail level to troubleshoot, then restore it afterward. Before sharing logs, remove subscription URLs, credentials, and other private information.
To check your public IP, use a trusted IP lookup page and compare the results before and after connecting. The lookup page is also affected by routing rules, so a changed IP only shows that this request took a different path. It does not prove that every app, domain, or protocol is proxied. With split routing, some destinations are expected to connect directly; an unchanged IP for one site does not mean the client is broken.
Troubleshoot by Symptom—Change One Setting at a Time
If the client can update the subscription but web pages do not load, first check that a configuration is selected and that the system proxy or VPN service is still running. Subscription updates and proxy connections are separate requests; a successful update does not prove that the remote server in a configuration is available. If the logs show a timeout connecting to the remote server, try another configuration from the same subscription. If several fail, check your network and subscription status rather than reinstalling the client right away.
If the browser works but the terminal or another app behaves the same as before, check whether the app uses the system proxy, has its own proxy settings, or is excluded by per-app rules. v2rayN’s system proxy mainly serves apps that read that setting; v2rayNG’s VPN routing is also affected by app scope and routing rules. Treat a successful browser test as a confirmed starting point, then check other apps one at a time instead of treating different connection methods as the same issue.
If only one domain has a problem, test another destination first, then check whether the domain matches a direct, block, or special DNS rule. Do not change all DNS settings just because one page will not load. Do not bypass certificate warnings by disabling certificate validation; check the system time, destination address, and network first. For symptom-based checks, see the troubleshooting FAQ. To edit configuration fields, see the JSON manual.
Keep a Working Setup and Disconnect Safely
Once the connection works, note the group, selected configuration label, proxy mode, and test app. There is no need to save screenshots containing credentials. After updating the subscription, check whether the selected configuration is still available; select it again and retest if needed. An update may add, remove, or change entries, and does not necessarily switch the current session to a newly working configuration.
When you are done, clear the system proxy set by v2rayN from the System Proxy menu before exiting. If you previously used a work or custom proxy, restore the settings you noted. Do not just end the process and leave the system proxy pointing to a stopped local port, or your browser may lose access. In v2rayNG, tap Stop, confirm that the service has stopped, and check that the VPN indicator disappears or changes. Finally, open a regular web page to confirm your network is back to the expected state.