Basic Setup · 4 Steps

V2Ray Setup Guide

From importing a subscription to verifying your connection. Choose the section for your device, connect using one configuration, then adjust routing and DNS as needed.

Haven’t installed a client yet? Choose an installer on the download page → This guide starts with an installed client that opens successfully and does not cover setting up a server.

01

Import a Subscription

Start with a subscription URL or share link provided by your service provider. The client reads and uses configurations; it does not automatically create a server after installation. A subscription URL is usually an HTTPS link that retrieves a set of configurations. Content starting with vmess://, vless://, trojan://, or ss:// is usually a single share link. They use different import options, so identify which one you have before continuing. Do not enter a subscription URL as if it were server parameters.

When copying a link, include only the URL itself—no description, quotation marks, or punctuation from the surrounding message. Subscription URLs may contain personal access credentials. Don’t post them in public forums or include the full URL in screenshots when asking for help. Import just one source for now; once the connection works, you can add other groups. This makes problems easier to isolate.

v2rayN: Add a Subscription Group, Then Update It

Open the Subscription Group menu at the top of the main window and select Subscription Group Settings. Add a group, enter a recognizable source name in the remark field, and paste the subscription URL into the address or URL field. Check that the URL is complete, then save and close the settings window. The remark is just a local label; it does not need to match the server domain.

Return to the main window and select Update Subscription from the Subscription Group menu, or choose the update option for the current group. Some versions offer updates through or without the proxy. If you are not connected yet, try updating without the proxy first. If the subscription URL requires an existing proxy connection, update it using a working connection instead. After a successful update, configurations should appear in the server list. Select the new group to view them.

For a single share link, copy the entire link and use an option such as Import Share Links from Clipboard in the Server menu. This usually adds a configuration directly; you do not need to create a subscription group first. Don’t paste a single share link into the subscription URL field and expect it to update like a subscription.

v2rayNG: Save Subscription Settings, Then Update the List

Open v2rayNG, tap the top-right menu, and select Subscription Settings. Tap Add, enter a remark and subscription URL, save, and return to the main screen. Open the top-right menu again and select Update Subscription. Saving a subscription URL and retrieving its contents are separate actions. If you have only saved the URL without updating, the main list may still be empty. That’s expected at this stage.

For a single share link, copy it, tap the plus button on the main screen, and select Import from Clipboard. After importing, check that the remark in the list looks right. Don’t immediately change the protocol, transport, or TLS settings. These fields are already included in the subscription or share link; overwriting them manually can cause conflicts.

This step is complete when you see selectable configurations in the list—not just an address in subscription settings. If the update reports success but no configurations appear, check the selected group and search filters first, including any server keyword filter. If the list is still empty, check that the subscription is valid; don’t keep adding the same URL. See the Help Center’s installation and setup FAQs for more help. Once the list is ready, decide how app traffic should enter the client.

02

Choose a Proxy Mode

There are two separate settings to consider. The first is the traffic entry point, such as the desktop system proxy or Android VPN mode, which determines which apps hand connections to the client. The second is the routing rule, which determines whether requests that reach the client are proxied, sent directly, or blocked. Choosing a routing rule does not automatically route traffic from every app on your device through the client. Set up the entry point first, then use an existing routing preset for a straightforward initial test.

v2rayN: Start with the System Proxy

For initial setup, use the system proxy rather than enabling TUN right away. Find the System Proxy option in the main window; some versions also let you access it by right-clicking the tray icon. After you confirm the active server and that the core is running in the next step, choose Set System Proxy Automatically or the equivalent option. For now, just locate the setting. This avoids sending browser traffic to a local port that is not yet listening.

Set the routing mode using the client’s routing options. To let common local resources connect directly and handle other traffic according to rules, choose an existing bypass preset. Names and rule contents vary by version. To check whether routing is causing a problem, you can briefly switch to proxy all traffic for comparison, then restore your previous setting. Keep in mind that Global mode does not necessarily cover every program; its scope is still limited by the system proxy entry point.

Some apps do not use the system proxy or have their own proxy settings, so a working browser connection does not mean every program will take the same route. TUN is another way to capture traffic and may require permissions or changes to network interfaces. Get the system proxy working first. If you need TUN, see the advanced setup guide to TUN mode. Don’t enable multiple traffic-capture methods at the same time during this test.

v2rayNG: Choose VPN Mode

Open the sidebar, tap Settings, and find the VPN Mode / Proxy Only Mode option. Choose VPN mode for your first setup. Some versions show this as a mode selector or toggle; follow the options on your screen. VPN mode uses Android’s VPN interface to receive traffic. Proxy Only Mode mainly provides a local proxy service, which other apps must be configured to use, so it is not the recommended starting point for this guide.

For the first test, leave per-app proxying off so your browser is not accidentally excluded. Use an existing routing preset rather than adding custom rules. Bypass LAN can affect how local network addresses are handled, but it is not a substitute for full routing rules. If you need to access your router or other local network services, check their availability separately after connecting.

DNS, FakeDNS, Mux, and traffic sniffing do not all need to be enabled to get started. Keep the initial settings, especially when troubleshooting a page that won’t load; don’t change all of these options at once. After this step, v2rayN is set to use the system proxy and v2rayNG is set to use VPN mode. Next, select a configuration and connect.

03

Connect to the Selected Configuration

Importing a configuration does not mean it is already in use. The list may contain multiple entries, so choose one clearly labeled configuration from a source you know is valid for this test. Don’t change the configuration and proxy mode at the same time; otherwise, even if things start working, you won’t know which change made the difference. Also make sure your device has a working internet connection, and pause any other tools that might change proxy settings or use the VPN interface.

v2rayN: Set the Active Server and Check the Core

Right-click the target entry in the server list and select Set as Active Server or a similarly named option. Some versions also let you switch by double-clicking. Check the active indicator in the list or the current server shown in the main window; highlighting a row alone does not necessarily make it active. The client usually applies the configuration and starts or reloads the core when the active configuration changes. If there’s a Start or Restart Service option, use it as needed based on the current status.

Check the logs or status information below for errors such as a configuration parse failure, core startup failure, or local port conflict. Then set System Proxy to Automatically Configure System Proxy. Don’t manually enter a different local port in your browser for this test; let it use the system proxy settings. If you have a proxy-switching browser extension, make sure it isn’t overriding the system settings.

If a port is already in use, close other proxy clients first, or check the client’s settings to see which port it is actually listening on. Default values vary by installation and version, so don’t rely on port numbers from an old guide. After changing the listening port, reapply the system proxy so it points to the correct port. For troubleshooting steps, see the Help Center’s Troubleshooting section. There’s no need to reinstall everything over a port conflict.

v2rayNG: Select a Configuration and Allow the VPN Request

Return to the main list, tap the configuration you want, and check that the selection indicator has moved to it. Then tap Connect on the main screen. The first time you use VPN mode, Android will show a VPN connection request. Confirm it comes from your installed copy of v2rayNG, review the prompt, and allow it. Without permission, the client cannot route traffic in VPN mode, even if a configuration is already in the list.

After the connection starts, the button should change state, and Android may show a VPN icon or persistent notification. These indicate that the local service is running, but do not by themselves confirm that the remote server is reachable. If the connection stops immediately, open the client logs and look for the first specific error. Check the relevant field rather than relying on a generic connection failed message at the end.

Android usually allows only one standard VPN connection at a time. If another app is using the VPN interface, stop it and try again in v2rayNG. If the connection often drops when the app is in the background, check the system’s background activity and battery restrictions—but only after the initial foreground test succeeds.

Once this step is complete, keep the current configuration and mode in place. Don’t update the subscription, clear data, or recreate all your groups yet. This ensures the next test uses the same settings and makes it easier to compare results after disconnecting.

04

Verify the Connection

Check three things: whether the local service is running, whether app requests are reaching the client, and whether the resulting access behaves as expected. A VPN icon, a changed Connect button, or a single test result cannot confirm the entire connection path on its own. Start with a simple, repeatable browser test, then check your everyday apps. This avoids interference from app caches, login state, or separate network settings.

Test Your Browser First, Then Check Your Apps

Keep the client connected, open a new browser tab, and visit a known, accessible HTTPS page. Don’t just refresh a page that was already loaded; cached content can make things look normal even when the network is down. Then test a page on a different domain to rule out a temporary issue with one site. On desktop, confirm the browser is using the system proxy. On Android, check that the test browser isn’t excluded by per-app proxy rules.

Next, check the client logs for connection entries or errors during the test. The level of detail depends on your settings, so the absence of individual access records does not automatically mean the connection failed. However, repeated errors such as DNS resolution failures, handshake failures, or connection refusals should be investigated. With split routing, some destinations are expected to connect directly; routing all requests through the same exit is not the only measure of success.

To check the connection path more directly, use a trusted IP address lookup page and compare the results before and after connecting. If your routing rules send that page directly, an unchanged result does not mean the proxy is not working. Check which route should apply to that destination before comparing. Don’t post your public IP or full logs online.

Disconnect Carefully Before Comparing

Before stopping v2rayN on desktop, clear the system proxy through the client, then stop the service or exit normally and confirm the proxy has been reset. If you stop only the core while the system proxy still points to its local port, your browser may lose internet access. That does not indicate a problem with the remote configuration. On Android, tap Stop in v2rayNG, confirm the VPN connection has ended, then check that your regular network connection has returned to its previous state.

Reconnect and repeat the same page checks. If the results match the selected routing rules and your intended apps work, keep this configuration as your baseline. Then enable per-app proxying or adjust routing one setting at a time, repeating the same test after each change. This makes it easier to return to the last known working setup if something goes wrong.

Troubleshoot by Scope

If every page fails, first check whether the client service is still running and the correct configuration is active. Then check whether the subscription has expired or the provider has replaced it. If only one configuration fails, test another known-working configuration from the same source for comparison, without changing the proxy mode. If all configurations fail on the same network, try another network you’re authorized to use to distinguish device settings from network conditions.

If the browser works but one app doesn’t, check whether the app follows the system proxy, has its own proxy settings, or is excluded in Android’s per-app list. If a domain fails and the logs report a DNS resolution error, investigate DNS. If you see a TLS certificate or handshake error, check the system time and server name in the original configuration. Don’t treat allowing insecure connections as a general fix.

When asking for help, include the client name, selected mode, action that triggered the error, and a redacted error line. Remove credentials, user identifiers, and other personal information from subscription URLs. For common questions, visit the Help Center. Once the basic connection works, see the advanced setup guide for managing multiple subscriptions or configuring DNS, FakeDNS, and custom outbounds.