Add a Subscription · Choose a Mode · Test Your Connection

Quick Start Guide
for v2rayN and v2rayNG

Get connected in four steps. If you already have a working subscription and client, basic setup usually takes about 10 minutes. Test one node first, then adjust routing and advanced settings as needed.

Step 1
Add a Subscription and Update Nodes

Before you begin, make sure the client opens normally and have your service provider's subscription URL ready. The client manages your configuration and connects to the service; installing it does not give you working nodes automatically. If you haven't installed a client yet, go to the downloads page and choose one for your operating system and processor architecture, then come back to this guide. Subscription URLs often contain personal access credentials. Don't include extra spaces when copying one, and never post the URL, its QR code, or a screenshot containing it in a public forum.

v2rayN: Save a Group, Then Update It

Open the main window and select “Subscription Group Settings” from the “Subscription Group” menu. Add a group. Use a label that helps you recognize it, paste the full subscription URL into the address field, and leave any options you’re unsure about at their defaults. Save the group, return to the main window, and select Update from the subscription menu. Some versions offer separate “Update without proxy” and “Update through proxy” commands. If you haven't established a working connection yet, try updating without a proxy first so the request doesn't depend on a connection you haven't set up.

When the update finishes, the group’s nodes should appear in the main window. Check the names, protocol types, and group to make sure you imported the expected entries. If the list contains other groups, select the one you just added so you don't mistake old nodes for new ones. For now, select just one node to use. There's no need to change its address, port, or protocol settings. Subscription configurations usually include the fields needed to connect; changing them at random can make the client and server incompatible.

v2rayNG: Add a Subscription in Group Settings

Open v2rayNG, go to “Subscription Group Settings” in the side menu, and tap the add button. Enter a label and subscription URL, then save. Return to the node list and select “Update subscription” from the top-right menu. If the app asks which group to update, choose the one you just saved. When the update finishes, the list should show node names and basic types. Tap a node to select it. Being selected doesn't mean it's connected; you'll start the connection in Step 3.

If you have a single-node share link beginning with vmess://, vless://, or a similar prefix rather than a subscription URL, use the client's “Import from clipboard” option or an equivalent entry point. Don't treat it as a subscription and keep trying to update it. A subscription is a set of configurations that can be refreshed; a single-node share link usually represents just one configuration. See the glossary for the difference between subscriptions and nodes. For now, just choose the right import option.

You're ready to move on when the list shows nodes under the subscription group you just added and you can select one. A successful update doesn't guarantee that every node will work, but it means you can continue to the next step. Next, decide how app traffic should reach the client; there's no need to enable every advanced option yet.

Step 2
Choose a Traffic Capture Method and Routing Mode

“Mode” can refer to two different things in the client: how traffic is captured, such as system proxy, TUN, or Android VPN mode; and how traffic is routed once it reaches the client, such as through a proxy, sent directly, or blocked. Understand the distinction before testing so you know what to expect. To keep things simple, use just one traffic capture method and a built-in routing preset for your first setup. Don't change DNS, per-app lists, or custom rules at the same time.

v2rayN: Start with Automatic System Proxy

In the main window, open the system proxy menu or use the status bar option, then select “Set system proxy”. The client points your system proxy settings to its local listening address. Browsers and apps that follow those settings will send requests to the client. This does not route traffic from every program through the proxy: some apps use their own network settings or ignore the system proxy. For your first test, use a browser that follows system proxy settings rather than a game, command-line tool, or app with its own proxy options.

Next, find the routing options and choose a preset suited to everyday use. Read its brief description; preset names can vary by version, so don't assume you know what “Global” means from the label alone. A typical routing preset sends some destinations direct and others through the proxy. A preset that routes most requests through the proxy can help with brief troubleshooting, but it still won't capture traffic from every app on your system. Keep the distinction clear: system proxy settings determine how traffic reaches the client; routing rules determine where it goes next.

TUN mode captures more traffic at the network layer and may require permissions, a virtual network adapter, and routing changes. It's not required for your first connection and won't fix an unavailable node. Leave it off until system proxy mode is working. If you need to capture traffic from apps that ignore system proxy settings, check the supported configurations in the protocol and core reference and see the FAQ for related steps.

v2rayNG: Use VPN Mode and Leave App Filters Off

In v2rayNG settings, make sure VPN mode is enabled rather than a mode that only provides a local proxy. VPN mode uses Android's VpnService to capture traffic. Android calls it a “VPN”; this doesn't change the protocol used by the configured node. For your first test, leave per-app proxying off, or make sure your browser is included among the apps to capture. If you've set up an app allowlist, blocklist, or bypass rule, note the current settings and temporarily remove the restrictions so the browser can reach the client.

Use a built-in routing preset for now, and don't edit the rules list. If another VPN app is running, stop it before starting v2rayNG to avoid competing for the system VPN connection. At the end of this step, the desktop client should have a system proxy setting and routing preset selected; on Android, VPN mode and the apps to capture should be confirmed. Next, connect to a node and check the actual status shown by the client and system.

Step 3
Connect and Check the Client Status

Return to the node list and confirm that the selected node belongs to the subscription group you just added. Nodes with similar names may use different protocols, transports, or server addresses, so check the full entry. For your first test, select just one node and leave the mode settings from Step 2 unchanged. If the client offers a connection test, you can run it, but treat the result as a clue, not proof: the target, test method, and routing can all affect it. A single response-time number can't replace testing actual access.

v2rayN: Set the Active Server and Check the Logs

Select the node you want to use and choose “Set as active server” from the context menu, or use the equivalent shortcut. The client usually starts or reloads the core with the active configuration; there may not be a separate Connect button. Check the node’s active indicator, the status at the bottom of the window, and the log area for errors such as configuration parsing failures, a port already in use, or a core that failed to start. If you haven't set up the system proxy yet, make sure it's enabled now.

Once the core is running, don't immediately switch protocols or change advanced settings. A running core means the local configuration was accepted; it doesn't prove a working connection to the remote server. Many connections aren't created until an app sends a request. Open a page in your browser, then check the logs for the corresponding entry. If the logs report a local port conflict, close the other proxy app or stop any duplicate client process, then reload the configuration.

v2rayNG: Start the Client and Approve the VPN Request

Select the node you want, then tap the Start button in the lower-right corner of the main screen. The first time you use VPN mode, Android will show a connection request explaining that the app wants to set up a VPN connection. Make sure the request was just initiated by v2rayNG, then allow it. If you deny permission, the client can't capture traffic. Once approved, the button or status indicator should show that the client is running. Your status bar may also display a VPN icon, depending on your device.

If the button quickly returns to the stopped state, check the client logs instead of repeatedly tapping Start. If another VPN connection is active, stop the app using it. If a configuration field isn't supported, check the subscription and client compatibility rather than disabling certificate verification. The node's protocol, security transport, and core features must be compatible. For help choosing between VMess, VLESS, Trojan, Shadowsocks, and REALITY, see the protocol guide.

Step 4
Test Whether Traffic Is Routed as Expected

Open a new browser tab, visit an HTTPS page you can normally access, then visit a destination that your current routing setup should send through the proxy. Don't rely on an old tab: cached content may load without opening a new network connection. Check whether each page loads, whether the client logs the corresponding request, and which outbound route it uses. If the current log level doesn't show connection details, check the client's connection information or briefly enable an appropriate informational log level. Restore the original setting after testing.

Use Request Logs to Tell “Accessible” from “Proxied”

A page loading doesn't prove it used the proxy; routing rules may send that destination directly. Check the request's domain or destination address and its outbound tag. Tag names depend on the configuration, so don't infer their meaning from a single label. If you're unsure, temporarily choose a routing preset that sends the test destination through the proxy, then make the request again. Restore your everyday routing preset afterward. Changing routing won't make a desktop app that ignores system proxy settings start using the client, so confirm the traffic entry point first.

Checking your exit IP can provide another clue, but don't treat a public IP lookup page as your only test. Results can vary based on the destination, caching, and IPv4 or IPv6 routing, and the lookup itself sends a request to that site. A more reliable basic check is to make a new browser request, confirm the client logs it, verify that it uses the expected outbound route, and make sure the page loads. On Android, you can briefly stop v2rayNG and restart it for comparison. A page that still loads when the client is off may simply be accessible directly; that doesn't mean the client wasn't working.

Troubleshoot in Order to Narrow Down the Cause

If the client shows no request, check how traffic reaches it first. On desktop, check whether another app changed the system proxy settings and whether your browser has its own proxy settings. On Android, check that the VPN is still running and that the browser isn't excluded by per-app settings. If the request reached the client but the connection failed, keep the mode settings unchanged and try another node from the same subscription. If the other node works, focus on the original node or server configuration instead of resetting all your local settings.

If several nodes fail, first check that your regular internet connection works and your device date and time are correct. Then look for recurring errors in the logs. DNS resolution failures, connection timeouts, and certificate errors occur at different stages and won't be fixed by the same setting. Keep a brief error message, but remove your subscription URL, account details, and personal configuration before asking for help. For troubleshooting steps, see the FAQ. If you need to understand protocol, core, or transport fields, read the protocol guide. There's no need to change these settings one by one during your first setup.

Once It Works, Keep Your Basic Configuration

After testing, note the working node, routing preset, and traffic capture method. If you later enable automatic updates, TUN, or per-app proxying, change one setting at a time and repeat the connection test after each change. That makes it easier to undo the change if something breaks. If v2rayNG disconnects only after your Android device locks, check its background activity and battery restrictions. That's a background operation issue, not a subscription import failure.

When you're done on desktop, select “Clear system proxy” in v2rayN before closing the client. Otherwise, your system may keep sending requests to a local listening port that is no longer active. On Android, tap Stop in v2rayNG and confirm that the running indicator disappears. Your subscription, node, traffic entry point, and real-world access have now all been tested. For everyday use, select a working node and start the client.