QUICK START / CLIENT SETUP
v2rayN Setup Guide
Import Subscriptions and Test Your Connection
Get connected in four steps: import a subscription, choose a proxy mode, connect, then verify real traffic. Start with the client's existing settings to establish a working baseline before adjusting routing, DNS, or other advanced options.
Haven't installed a client yet? Browse client downloads →Before you begin, install a client and have a subscription URL or node share link that you are authorized to use. The client reads configuration, runs a core, and handles requests from your device; it does not provide remote servers to connect to. If you only have the installer and no connection details, obtain those first. Subscription URLs may contain access credentials, so do not include them in public screenshots, chat logs, or troubleshooting attachments.
For your first setup, temporarily close other proxy clients and keep your regular internet connection available. Updating a subscription requires access to the subscription server; connecting to a node requires access to the node server. These may use different network paths. Confirm that a regular webpage loads before importing so you do not mistake a local connectivity issue for a configuration problem.
Step 1: Import a Subscription and Check Your Nodes
First, identify what you have. A subscription URL retrieves a set of server configurations; add it to a subscription group and update the group. A single-node share link describes one server and is usually imported from the clipboard. Do not infer its purpose from the URL prefix alone; follow the provider's instructions. If the difference between subscriptions and nodes is unclear, see the glossary before continuing.
v2rayN: Add a Group, Then Update the Subscription
Open the v2rayN main window and look for Subscription Group or a similar option in the top menu. Open the subscription group settings and add a record. Enter a recognizable source name in the remarks field, then paste the full subscription URL into the URL field. Check for stray spaces, line breaks, or punctuation copied from a chat app, then save. The group name is for local organization only; it does not change the remote connection settings.
Return to the main window and update the new group from the subscription menu. If you have not yet set up a working proxy and the menu offers options such as Update via proxy and Update without proxy, choose the path that can actually reach your subscription URL. A proxy that is not running on your device cannot handle the update request. Check the log at the bottom for the result, then open the group to see its server list.
Seeing the group name does not mean the import succeeded. Confirm that specific server entries appear, with fields such as name, protocol, and port populated. If the update fails, first check whether the URL has expired or was copied in full, then investigate network access. Do not keep adding duplicate groups; edit the existing entry to avoid duplicate lists after future updates.
v2rayNG: Save the URL in Subscription Settings
On Android, open v2rayNG and use the menu to open subscription group settings. Add an entry, fill in the remarks and subscription URL, save it, then return to the node list. From the main screen menu, update the subscription and wait for the server entries to load. For a single-node link, copy the full URL and use an option such as Import from clipboard. If importing from a QR code, make sure it comes from a trusted configuration source.
Once the import is complete, tap the node you plan to use to select it. On desktop, you can select an entry now and set it as the active server in the next step; on Android, a border or selection marker usually indicates the current choice. Do not bulk-edit protocol settings or combine fields from different sources yet. Keeping the imported configuration intact makes it easier to tell whether a later problem comes from the subscription or a manual change.
You are ready to move on when the list contains a recognizable server and you know which one you plan to test. Subscription updates and node connections are separate operations. Once the node appears, continue by choosing how traffic enters the client.
Step 2: Choose a Proxy Mode and Routing
The word “mode” can refer to different layers. System proxy, a VPN tunnel, or TUN determines how app traffic enters the client. Rules, global proxy, or direct connection determine how requests are routed after they reach the core. Keep these layers separate when choosing settings: selecting global routing does not mean every app is already sending traffic through the proxy. This guide starts with the least disruptive traffic-handling option and leaves complex rules until after connection testing.
Desktop: Start with the System Proxy
In the v2rayN main window or tray menu, look for System Proxy and choose Set system proxy automatically or an equivalent option. This directs apps that follow system proxy settings to the client's local listening port. Some apps have their own network settings, and some connect directly, so enabling the system proxy does not mean every process will use the client. For your first test, use a browser that follows system proxy settings rather than software with its own proxy configuration.
Start with the client's existing routing rules, keeping necessary direct-connection rules for private addresses. Preset names vary by version, so read their descriptions before choosing. To temporarily rule out routing as the cause, you can compare with global proxy routing for traffic already handled by the client, then restore your intended rules after testing. Global routing cannot capture traffic that never entered the client.
You do not need to enable TUN during initial setup. TUN typically involves a virtual network interface, routing, and additional permissions; support depends on the client, selected core, and system environment. If the system proxy meets your needs, keep using that path for now. If you need to route traffic from more apps, consult the configuration guide to check what is supported. Avoid changing multiple settings at once, or it will be hard to identify what caused a change.
Android: Check VPN Mode and App Coverage
v2rayNG typically uses the system VPN service to send traffic through its local proxy chain. Open settings and check the current service mode; for your first setup, use the client's default VPN mode. If you have configured per-app proxying, check whether it is limited to selected apps or uses an exclusion list. If your test browser is excluded, it may not follow the expected route even when the connection icon appears.
Other VPN apps may compete with v2rayNG for the system VPN slot. Disconnect other VPN connections before testing, and avoid switching repeatedly between services. Use an existing routing preset for now; do not change DNS, custom domain lists, or transport fields at this stage. Once the traffic-handling method and routing are clear, connect the selected node and check that the core is running.
Step 3: Connect and Check the Logs
Return to the node list and confirm that the selected node is the one you chose to test in Step 1. A node name is only a label; it does not prove that the protocol, transport, or credentials are correct. For your first connection, keep all parameters from the imported configuration intact. If the configuration requires a specific core capability, use a core that supports it rather than switching based on a similar name. See the glossary for core and protocol terminology.
v2rayN: Set the Active Server
Open the target node's right-click menu or equivalent action menu and choose Set as active server or a similar command. Wait for the client to load the configuration and start the core, then check the log area for startup errors. Next, configure the system proxy as described in Step 2. Some versions restart the core when you change the active server; others require a manual restart. Follow the on-screen instructions and avoid clicking repeatedly before the logs show a result.
First, check the logs for configuration load failures, port conflicts, or unrecognized protocol fields. These usually mean the local processing chain has not started, so fix the startup issue before trying another browser. If a port is in use, check whether another instance of the client or a different proxy app is still running. If you change the local listening port, update any apps where you entered that port manually.
v2rayNG: Connect and Approve the VPN Request
On Android, select a node and tap the Connect button on the main screen. The first time you connect, the system may show a VPN connection request. Confirm that the requesting app is the client you just installed, then approve it as prompted. Check the connection status in the client and the VPN icon in the system status bar. If you cancel the permission request, return to the main screen and connect again; there is no need to delete the subscription or reinstall the client just to see the prompt again.
A connection indicator only means the local service has started; it does not prove that the remote server is reachable. If the logs show repeated timeouts or handshake failures, note the error type and check the device clock, node settings, and network connection. A significantly incorrect date or time can affect encrypted connection checks, so correct it first. Do not publicly share logs containing access addresses alongside subscription credentials; remove account-identifying details before sharing anything.
If the client offers a connection test, run it once as a useful check. A failed test does not necessarily mean every destination is unreachable, and a successful test does not mean the target app is using the client. Once the core stays running without repeatedly starting and stopping, continue to the real-traffic check. For detailed error categories, see Troubleshooting. This guide first completes the end-to-end flow with one node and one app.
Step 4: Verify Real Traffic and Restore Your Network
Use a browser with clearly understood settings to open an HTTPS page you intend to access through the proxy. Open a fresh page or reload the request rather than relying on a cached tab. If the browser has its own proxy extension or manual proxy settings, check whether they override system settings. On Android, confirm again that per-app rules do not exclude the browser. Routing checks only matter once the app's traffic is actually entering the client.
Make a request while checking the client logs. Depending on the log level, you may see the destination domain, connection result, or outbound tag. If the request appears, check whether it was proxied or sent direct by a rule. If there is no corresponding entry, check how traffic is being routed into the client before changing nodes. Lower log levels may omit routine connections; if needed, temporarily raise the level for troubleshooting, then restore it to avoid accumulating unnecessary browsing records.
How to Read the Three Test Outcomes
First, the page loads and the logs or app's network path confirm that it used the expected proxy; this completes the test. Second, regular pages load but the page you intended to access through the proxy does not; check that request's routing result, the node connection, and the destination service. Third, no pages load after connecting; disconnect to restore regular network access, then check the local listener, system proxy, and DNS. Do not keep adding settings before you have restored a working baseline.
If you use an exit-IP check, choose a method you trust and confirm that the request being tested matches your proxy rules. In rule mode, different destinations may use different exits, so the address shown for one page does not represent every app. A node test value also reflects only that test's specific path; it cannot predict the full browsing experience. Judge success by whether the page or app you need works as expected.
When troubleshooting, change one setting at a time and repeat the same request. For example, keep routing unchanged and try another imported node, or keep the node and temporarily compare with global routing. Do not change nodes, switch cores, enable TUN, and modify DNS all at once; even if access returns, you will not know which change fixed it. For a closer look at the settings, see the routing configuration reference. Do not edit generated configuration you do not understand.
Disconnect and Restore Normal Network Access
When testing is complete, check that disconnecting restores normal access. On desktop, clear the system proxy in v2rayN before exiting, then confirm that your browser still works on the regular network. If you stop the core but leave the system proxy pointing to its local port, apps may keep sending requests to a service that is no longer running and appear offline. If this happens, check for a leftover system proxy setting rather than resetting the entire network configuration.
On Android, tap Disconnect, confirm that the VPN icon disappears, then test regular access. When you reopen the client, check that the active node and routing are still what you expect. A later subscription update may change the node entries, making the previously selected entry outdated. If the connection fails after an update, select a node from the list again, then repeat the last two steps on this page to check startup and access.