v2rayNG and v2rayN
Setup Guide
Import a subscription, choose a mode, connect, and test the route. Complete the initial setup in order, then adjust routing and other options.
Import a Subscription
Done when: The update succeeds and configurations appear on the main screen.
Copy the complete subscription URL from your provider’s account or management page. Don’t copy the page title, account page URL, or a web login link. A subscription usually returns a set of server configurations, which the client must fetch before they appear in the list. The URL may contain personal access credentials. Paste it only on your own device; don’t share it in public chats, screenshots, or support requests.
v2rayN: Add a Group, Then Update
Open v2rayN and find Subscription Group at the top, then select Subscription Group Settings. Add a group, enter a recognizable name, paste the subscription URL, and save. This only saves the source; the main screen may still show an empty list. That’s expected. Return to the main window, open the subscription menu, and select Update Current Subscription. Wait for the update to finish.
After the update, select the group you just added and check for server entries. If the interface offers both Update via Proxy and Update without Proxy, choose the latter the first time, before you have a working connection. Consider updating via proxy only if you already have a working connection and the subscription URL must be accessed through it. Don’t add the same URL as multiple groups to work around a network error.
v2rayNG: Save the Group, Then Update from the Main Screen
Open the v2rayNG side menu and select Subscription Group Settings. Tap Add, enter a name and subscription URL, then save. Return to the main screen and find the update subscription option in the menu. If you can choose which group to update, select the one you just added. When the update finishes, its configurations should appear on the main screen. Saving the URL and fetching configurations are separate actions, so don’t assume the import failed right after saving.
If you have a single server share link rather than a subscription URL, use the clipboard import option in the main screen’s Add menu. Importing a single server saves just that configuration; it won’t provide the batch update features of a subscription. Not sure which one you have? Read the glossary entry on subscriptions and servers before choosing an option. Don’t paste a share link into the subscription URL field.
At this stage, you only need a configuration you can select. There’s no need to edit server ports, transport settings, or security options. Leave the fields provided by the subscription unchanged. Once the list is visible, move on to choosing which app traffic the client should handle.
Choose a Proxy Mode
Done when: You’ve chosen a traffic entry point without enabling another method at the same time.
After importing configurations, decide how apps should send requests through the client. Proxy mode determines how traffic enters the client; routing rules determine which outbound route a request takes after reaching the core. These are separate settings. For your first setup, choose one entry point and keep the default routing until you’ve confirmed the connection works. This makes problems easier to diagnose.
v2rayN: Start with the System Proxy
In the main window’s status area or tray menu, find System Proxy and select Set system proxy automatically. This configures the operating system’s proxy entry point and is a good starting point for testing with a browser that follows the system proxy. Leave Enable TUN off. There’s no need to change virtual network adapters, administrator permissions, or app-specific proxy settings for the first connection. Menu locations vary across systems; look for the System Proxy function.
Clear system proxy removes the system proxy settings. Do not change system proxy means the client won’t actively modify the current settings; it does not mean all requests will connect directly. PAC mode uses script-based rules and isn’t the best starting point for troubleshooting a first setup. If your browser has a proxy extension, set it to use the system settings so it doesn’t override the proxy configured by the client.
v2rayNG: Confirm VPN Mode
Open Settings from the side menu and find the mode options. Confirm that VPN mode is selected. It uses Android’s VPN interface to route traffic, so you don’t need to enter a local proxy again in your Wi-Fi settings. Before connecting, check whether another VPN app is running. VPN connections on the same device may replace one another, so stop other connections while testing to reduce conflicts.
If you’ve configured per-app proxying, check whether the browser you’re testing is included. For a first setup, use the default scope if possible. If you need to keep per-app rules, confirm whether the browser is included or excluded. A VPN icon in the status bar doesn’t mean every app’s traffic passes through the remote server; the actual route depends on app scope and routing rules.
Keep Routing Unchanged Until You’ve Tested the Connection
Routing settings may offer presets such as Bypass mainland China, or use other names. For your first setup, note the current preset and leave it unchanged. Don’t change DNS, rule sets, and outbound selection all at once. Requests that match a direct-routing rule may not use the remote exit; that’s normal for split routing. See the glossary for related terms. The user guide covers TUN, DNS, and rule order in detail; for now, focus on establishing a basic connection.
You’ve now set the system proxy on desktop and chosen VPN mode on Android. Next, select a server and make sure the client core starts normally.
Select a Server and Connect
Done when: The active configuration is clear and the core starts without errors.
Choose a configuration from the list you just imported. You don’t need to target a particular latency on your first attempt, and a region in the server name doesn’t guarantee a successful connection. Prefer a configuration your provider confirms is compatible with your client. If the current core can’t recognize its protocol or transport settings, repeatedly tapping Start won’t resolve the compatibility issue.
v2rayN: Set the Active Server and Check the Core
Select the target entry in the server list and use the context menu to set it as the active server. Some versions also support double-clicking or a shortcut; follow the menu prompts. Check that the active server indicator moves to the selected entry. The highlighted row and active server aren’t always the same thing—a click that only highlights a row may not switch the configuration in use.
v2rayN typically loads the configuration and starts or restarts the core when you switch the active server. Check the log or status message at the bottom for startup failures, configuration parsing errors, or port conflicts. If prompted to restart the service, save the configuration, select Restart Service once, and check again. Also make sure the system proxy selected in step two is still active; an open window alone doesn’t mean the connection is working.
If security software or the system firewall displays a permission prompt, first confirm that it refers to the client and core processes you’re running, then follow your device’s security requirements. Don’t disable all protection to troubleshoot. On a managed work device, follow your administrator’s policies if permissions are restricted; don’t try to bypass them by repeatedly launching the app or copying it into multiple folders.
v2rayNG: Start the Service and Approve the System Prompt
Return to the main screen, tap the configuration you want, and check that the selected indicator is on the correct entry. Then tap Start. The first time you use VPN mode, Android will show a system prompt to establish a VPN connection. Read it and confirm. If you deny permission, the client can’t create the VPN connection; tap Start again later to approve it.
After startup, check whether the button and connection status change. The system status bar may also show a VPN icon. If the button immediately returns to its stopped state, open Logs and check the latest startup error. Avoid tapping repeatedly, as that can make the log harder to read. When switching configurations, check whether the client reconnects automatically. If it doesn’t, stop the service, select the configuration, start again, and confirm that the right entry is selected.
If you can’t complete this step, first check that the device time is set to sync automatically, the subscription has been updated, and the current network can open regular web pages. Configuration errors, connection timeouts, and DNS resolution failures point to different issues. Note the error type and look for a relevant fix in the Help Center rather than changing several settings at once.
Test That the Connection Works
Done when: The test app can access the network and the result matches the expected route.
Keep the client running and use the browser you chose for testing to open a selected HTTPS page. On desktop, use a browser that follows the system proxy. On Android, make sure the browser isn’t excluded by per-app rules. Open a new tab to avoid mistaking a cached page or an old, unrefreshed tab for a successful new connection.
Check Access First, Then the Request Route
See whether the page finishes loading, then try another page on the same site. If just one site fails while other pages load, the issue may be with the site, its DNS response, or its routing—not necessarily the client as a whole. Conversely, opening a regular page doesn’t prove the request used a remote exit; a routing rule may have sent it directly.
To check the exit address, compare results before and after connecting using the same trusted IP lookup site. Interpret the result based on the route the lookup request actually takes. If the rules send that address directly, seeing your local exit is expected. Don’t rely only on the displayed location to decide whether you selected the wrong server; geolocation databases can differ. Focus on whether the exit matches what you expected for this test.
Client logs can help with diagnosis. Open the logs during the test and look for a connection entry for the target, along with any outbound route information shown. The default log level may not show every request, so a missing entry alone doesn’t prove traffic bypassed the core. If you temporarily increase the log level, restore the original setting afterward. Before sharing logs, remove subscription URLs, credentials, and personal browsing destinations.
Browser Works, but Another App Doesn’t
With v2rayN’s system proxy, some apps don’t use the system proxy. So it’s possible for a browser to work while another app doesn’t. Check whether that app has its own proxy settings and whether it supports the system proxy before switching all traffic to TUN. If you need broader traffic coverage, follow the TUN section of the user guide and check permissions, DNS, and conflicting settings one by one.
In v2rayNG, return to the per-app proxy settings and confirm that the app is included in the VPN scope. Check whether it has an existing connection that needs to be restarted. With the client running, close and reopen the app to test again. If all apps fail, check the logs, active server, and basic network connection rather than changing permissions for just one app.
Stop the Connection and Connect Again Later
When you’re done on desktop, select Clear system proxy in v2rayN. Make sure the browser can still access the internet normally, then exit the client. Closing the main window may only minimize it to the tray, while force-quitting the process can leave the system proxy pointing to a local listening port. If pages won’t load after exiting, first check for leftover system proxy settings; there’s no need to reinstall network drivers right away.
On Android, tap Stop in v2rayNG to disconnect and confirm that the connection status changes. Next time, update the subscription if needed, select the current configuration, then connect and test. You don’t need to create the subscription group again. If the connection drops after the device sleeps, first confirm that the basic connection works, then check the system’s background app restrictions. Don’t change every battery setting before you’ve established a working connection.
These four steps cover your first working connection. To learn about protocol names, see the glossary. For a specific error, visit the Help Center. For a deeper guide to subscription management, split routing, and routine maintenance, read the user guide. Keep a stable, reproducible basic setup before adding complexity.
Back to subscription import ↑