Before You Start: Install the Client and Prepare a Subscription
First, make sure the client opens normally. If you haven't installed it yet, visit the Download Center to choose the right client for your device, then return to this page. On desktop, fully extract the downloaded archive to a writable folder before launching the program; don't run it from the archive preview. If you see a prompt about a missing runtime on first launch, follow its instructions. If the program won't start, there's no need to troubleshoot subscriptions or proxy settings yet.
Prepare a valid subscription URL from a trusted provider. The client reads configurations and forwards requests; it doesn't provide a remote service to connect to. If you don't have a subscription, you may be able to import an individual share link from your provider, but it uses a different import option. Check which type you have before continuing to avoid repeated attempts in the wrong place.
Temporarily close other apps that manage proxy settings or VPN connections. Keep a working network connection and enable automatic date and time on your device. Back up any existing client configurations before setting things up. Subscription URLs may contain access credentials, so don't post them in public forums. When asking for help, hide the URL, account details, and sensitive log fields; include only the error type and what you were doing.
Step 1: Import a Subscription
Save the subscription as a group that you can update, rather than pasting the URL into a server's settings. A subscription is usually a URL beginning with https://; the client retrieves a set of configurations from it. An individual share link often begins with vmess://, vless://, or trojan://. These prefixes are only clues—follow your provider's instructions to confirm the link type.
v2rayN: Add a Group, Then Update It
Open Subscription Group at the top of the main window, then choose Subscription Group Settings and select Add or New. Enter a recognizable name in the remarks field and paste the full subscription URL into the address field. Check for extra spaces or line breaks at either end, and make sure you haven't copied any explanatory text from a chat app. Leave the other options at their defaults, save, and return to the main window.
Next, open the subscription menu, select the group you just added, and choose Update current subscription (without proxy), or the equivalent option in your version. A fresh setup usually has no working proxy yet, so this option avoids relying on a connection that isn't established. Wait for the update to finish, check the notification or logs, then look at the server list in the main window. The configurations from your subscription should appear there; select the relevant group to view them.
Saving a group doesn't download its configurations. If the list is still empty, make sure you actually ran the update, then check whether another group is selected or a search filter is hiding the results. If the subscription download failed, verify the URL and your network. If the download completed but parsing failed, ask your provider whether the subscription format is supported. Don't treat a login page as subscription data, and don't bypass errors by turning off security checks.
v2rayNG: Add a Subscription in Group Settings
Open the top-right menu, go to Subscription Group Settings, and tap the add option. Enter a label and subscription URL, then save. Return to the configuration list and choose Update subscription from the menu; if needed, select the option to update without using a proxy. When the update finishes, confirm the configurations appear in the right group. This imports the configurations but doesn't start the device's VPN connection.
For an individual share link, copy the entire link and use the client's Import from clipboard option. For a QR code, choose Scan QR code to import and grant camera permission when prompted. Don't enter an individual link as a subscription URL, and remember that importing a configuration once doesn't provide automatic subscription updates. For details, see Subscription Groups, Clipboard Imports, and QR Code Imports.
Step 2: Choose a Proxy Mode
Seeing a configuration in the list doesn't mean your browser is using it yet. There are two separate settings to understand: the system proxy determines whether apps that support it send requests to the client; routing rules determine whether the client connects directly or sends requests to a remote server. Start by connecting your browser, then use the default or a common routing setup to test it. You don't need to learn every routing option during your first setup.
v2rayN: Automatically Configure the System Proxy
Find System Proxy in the main window menu, or right-click the client icon in the taskbar notification area, then select Automatically configure system proxy. The menu should show that the option is active. This points the system proxy to the client's local listening address, allowing browsers and apps that support the system proxy to send requests to the client. It doesn't select an active server for you.
If the menu also includes Clear system proxy and Do not change system proxy, don't confuse them. Clear removes the system proxy settings configured by the client. Do not change generally leaves the existing system settings alone; it doesn't enable or automatically clear the proxy. For your first setup, choose automatic configuration and keep the client's current default local listening port. Don't copy port numbers from another guide.
Next, check the Routing menu. If your version offers a Bypass LAN addresses rule, you can start with it to keep LAN traffic direct while handling other traffic according to the selected ruleset. Rule names and contents vary, so don't infer how every site will connect based on the name alone. Stick with one rule while testing, rather than changing both routing and servers each time something fails.
v2rayNG: Check VPN Mode and App Coverage
For your first use on Android, keep the default VPN mode and routing settings. Unlike changing the system proxy on desktop, this mode uses the system VPN interface to send covered traffic to the client after you start it. You don't need to enter a manual proxy in your Wi-Fi settings. Android will ask for permission when you tap Start in the next step.
If you've changed Per-app proxy settings before, review the selected apps in Settings. If the proxy applies only to selected apps, make sure your browser is included. If selected apps are bypassed, make sure your browser isn't excluded. For an initial setup, keep the app scope simple and clear, then test the apps you actually need one at a time. Also stop other apps using the VPN connection; a later-started service may replace the existing connection.
This guide doesn't enable TUN mode on desktop. The system proxy is suitable for a first browser test, but not every program uses it, and you shouldn't assume that terminal commands are proxied. To cover more apps, learn about TUN permissions, or fine-tune routing, see the routing section of the full manual. Don't add more variables before confirming that the basic connection works.
Step 3: Select a Configuration and Connect
You now have a server configuration and have chosen how traffic reaches the client. Next, start the actual connection. Select a valid configuration from your subscription and leave the other settings unchanged. Clients may handle selected entries and active configurations differently, so check for an active indicator after selecting one—don't rely only on which row your pointer is over.
v2rayN: Set the Active Server and Check the Logs
Find the entry you want in the server list, right-click it, and choose Set as active server or the equivalent option. Some versions also let you double-click an entry. Check the active indicator or window status to confirm the configuration changed. v2rayN typically loads the configuration and starts or reloads the core when you set an active server. There may not be a separate Connect button, so don't re-import the subscription just because you can't find one.
Open the log or information area at the bottom of the window. Look for errors such as configuration load failures, a port already in use, or a missing core file. If the local listening address can't be bound, close other proxy apps and restart the client. If you need to change the listening port, also check the settings of any apps that use it. Don't change the port in your browser while leaving the client listening on a different one.
If the logs show that startup completed without ongoing errors, leave the client running and continue to Step 4. Closing the main window may minimize it to the system tray or exit the client, depending on your settings. For your first test, keep the window open so you can monitor requests. Connection test results in the server list are only a guide: their test target and protocol may differ from real browser traffic, so a passing test doesn't replace checking an actual app.
v2rayNG: Tap Start and Approve the VPN Request
Tap the configuration you want in the list and confirm the active indicator, then tap Start. The first time you connect, Android displays a VPN connection request. Read the prompt, confirm it's from the client you just installed, and allow the connection. If you denied permission, return to the client and tap Start again; don't immediately clear all app data to restore permission.
After granting permission, check the Start button and the system's VPN connection indicator. They show that the local service is running, but don't guarantee that the remote server is reachable. If the service stops immediately, check the client logs for details and make sure another VPN app hasn't taken over. If the service stays on but webpages won't load, don't uninstall and reinstall yet; continue to the next step to distinguish local traffic interception from a remote connection issue.
Step 4: Verify Your Connection
The goal is to check how requests from real apps are handled, not just whether a button changes color. Open a new browser window and visit a known-working HTTPS page that should use your current proxy rules, then visit a page that should connect directly for comparison. Don't just refresh an old tab that's been open for a while; cached content and existing connections can make the results misleading.
Compare the Page Results with the Client Logs
Check the client logs while the page loads. If your current log level records access requests, look for the matching domain or connection and see whether it was handled by direct or proxy outbound. At a low log level, an absent request doesn't necessarily mean the client didn't intercept it. For troubleshooting, you can temporarily enable suitable access logs, then turn them off again to avoid keeping unnecessary browsing records.
A page loading successfully only proves that this request worked; it doesn't prove that it went through the proxy. If your routing rules send the destination directly, the page won't use the remote service even when the client is running normally. To check the outbound path, you can also consult a trusted site that reports your public IP, then compare the result with your routing rules and logs. Page loads, background requests, and different apps may take different paths, so one IP change doesn't describe all traffic.
If your browser works but another app doesn't, check that app's proxy settings separately. A browser extension may override the system proxy, terminal tools may use only their own environment variables, and Android per-app rules may exclude an app. These differences don't mean the subscription has expired. Verify the basics in one browser first, then add apps one at a time; that's easier to troubleshoot than changing the server, DNS, and proxy mode together.
Troubleshoot by Symptom; Change One Setting at a Time
If no pages load, first make sure the client is still running, the active configuration hasn't changed, and another app hasn't overridden the system proxy or VPN. If requests aren't reaching the client, check how traffic is being intercepted. If requests arrive but time out, check the subscription and whether the remote server is reachable. If you mainly see name resolution errors, review the DNS settings. Change one thing at a time, then test the same page again.
If only certain pages fail, first check whether the site itself is working, then look at routing, DNS, or service compatibility. Don't delete all your rules or leave global proxy mode enabled just to open one page. To investigate further, note the client name, operating system, failing step, and a redacted error message, then visit the Troubleshooting section of the help center. If you're unsure about the terminology, start with the core concepts in the full manual.
After Testing: Disconnect in the Right Order
When you're finished on desktop, choose Clear system proxy in the client before exiting. If other apps have a manually entered local proxy address for the client, restore those settings separately; otherwise they may lose connectivity after the client exits. On Android, tap Stop and confirm that the system VPN connection has ended. You don't need to delete the subscription to disconnect; keep the group so it's ready to update next time.
After these four steps, you should know which subscription group supplied your configuration, which configuration is active, how apps send traffic to the client, and how to test and restore your network settings. For everyday use, update the subscription and select a configuration. Save routing changes, TUN, and core settings until the basic connection is stable, then work through the full manual one topic at a time.