Getting Started · Four-Step Setup
Import a Subscription and
Set Up a Proxy Connection
Start with a working subscription and follow four steps: import it, choose a mode, connect, and verify. Allow about ten minutes for the basic setup. If the subscription or network fails, troubleshoot that step before changing other settings.
Before you begin, choose an installer for your operating system and processor on the client downloads page, install it, and launch the client. You’ll also need an active subscription URL from your service provider and a working internet connection. The client reads configuration data and runs the proxy; it does not provide subscription content. If you don’t have a URL yet, ask your provider rather than repeatedly trying to connect with an empty list.
For the initial setup, quit other proxy clients to prevent multiple programs from changing system proxy settings or routing traffic at the same time. First, use a regular browser to confirm your current network works. Subscription URLs often contain access credentials, so don’t post them in public forums. If you need help, share the error message and steps you took, but redact sensitive parts of the URL.
Step 1: Import a Subscription
A subscription lets the client fetch a set of connection configurations. Copy the URL using a button such as “Copy subscription link” on your provider’s site to ensure you get the complete URL—not an account page or the address currently shown in your browser. Don’t remove parameters after the question mark or copy punctuation added by a chat app. If you’re not sure whether you have a subscription or a single-share link, read the guide to subscriptions and share links; they use different import options.
v2rayN: Add a Group and Update the Subscription
Open the v2rayN main window and choose “Subscription Group Settings” from the “Subscription Group” menu at the top. In the settings window, use the Add option to create a group. Enter a recognizable name under “Remarks,” such as “Regular subscription,” and paste the complete subscription URL under “Address (url).” Make sure “Enable” is on. For your first setup, keep the default update interval and leave filters blank to avoid excluding all configurations on import.
Click “OK” to save, then return to the main window. Saving the URL does not fetch configurations; choose “Update subscription (no proxy)” from the subscription menu. This is the usual starting point before a connection is established. When the update finishes, check the server list and group filter for selectable entries in the new group. If another group is still selected, switch to the one you just created before deciding the import failed.
If the update times out or the URL can’t be reached, check that the URL is complete, the subscription hasn’t expired, and your current network can reach the subscription server. Try “Update subscription (through proxy)” only if you already have a working proxy connection; selecting it with an empty list won’t create a connection. If the update succeeds but the list is empty, clear any filters and try again. Ask your provider whether the subscription includes configurations supported by your client.
v2rayNG: Save the Subscription and Refresh from the Main Screen
On the v2rayNG main screen, open the menu, choose “Subscription Group Settings,” and tap Add. Enter a note and the subscription URL, save, then return to the main screen and choose “Update subscription” or a similarly named option from the menu. Keep the network connection active while it updates; don’t immediately send the app to the background and close it. The group’s configurations should appear on the main screen. If group filtering is enabled, select the relevant group first.
If your provider gives you a single share link starting with vmess://, vless://, or trojan://, use an option such as “Import from clipboard” in the main screen’s Add menu—not the subscription URL field. A subscription can update multiple configurations together, while a single share link usually imports just one; they are different features. When importing from a QR code, make sure it comes from a trusted source. Don’t scan an unknown configuration just to complete this step.
Step 2: Choose a Proxy Mode
“Proxy mode” can refer to two different things: how traffic reaches the client, and whether traffic is routed directly or through a proxy once it gets there. System proxy and TUN determine how traffic is captured; routing and split tunneling determine its destination. Keep these concepts separate during initial setup. “Global” does not necessarily mean every app is captured, and “bypass LAN” does not turn the proxy off.
v2rayN: Start with the System Proxy
Find “System Proxy” in the v2rayN status bar at the bottom of the main window or in the system tray menu, then choose “Automatically configure system proxy.” Some versions call this “Set system proxy.” This directs the operating system’s proxy settings to the client’s local listener. Most browsers follow this setting, but some apps use their own proxy configuration. For this guide, verify the setup in a browser rather than testing every app at once.
Next, find the routing option and start with “Bypass LAN” or a similar preset so local network addresses connect directly. If your version offers different presets, read their descriptions and choose one that suits your network; don’t guess based on the name. Split-tunneling modes route traffic according to rules. “Global proxy” usually broadens the default proxy scope, but the result still depends on the client’s rules and how traffic enters it. You don’t need to edit custom rules or enable multiple advanced options for the initial setup.
Consider TUN later if a program doesn’t follow the system proxy. TUN captures traffic through a virtual network interface and typically requires elevated permissions and coordinated routing and DNS settings. It isn’t a catch-all fix to try when a connection fails. First verify that a browser works through the system proxy, then enable TUN options one at a time using the TUN mode configuration guide. This makes it easier to tell whether an issue comes from the server configuration or the traffic capture method.
v2rayNG: Check VPN Routing and App Coverage
On Android, v2rayNG typically captures traffic through the system VPN interface. Open the app settings and confirm that it is using VPN mode rather than a mode that only provides a local proxy port. This is the system’s traffic-capture interface; it does not mean you need to install another VPN app. The permission prompt appears when you start the connection in the next step. For now, check the routing and per-app settings.
If you use per-app proxy settings, make sure the browser you test is included. Some settings mean “proxy selected apps,” while others mean “bypass selected apps,” so the effect of checking a box is reversed. Read the current option’s description carefully. For the first test, keep the default app scope and basic routing, then adjust them after confirming the connection works. Don’t run another app that uses the system VPN interface at the same time; it may replace the current connection and cause seemingly random disconnects.
By the end of this step, you should know whether the test browser sends traffic to the client and whether the requested destination is routed through the proxy. You can leave rule syntax, remote DNS, and complex split tunneling for later; this guide sets up one straightforward route. See the glossary for terminology and the full cross-platform setup guide for detailed instructions.
Step 3: Select a Configuration and Connect
Return to the configuration list and select one that your provider confirms is still working. Entries in the list only mean the import succeeded; they don’t indicate which configuration is active. Don’t assume a protocol or connection capability based on a configuration’s name alone. For the first connection, test one configuration without switching repeatedly so you can match the results in the logs to your selection.
v2rayN: Set the Active Server and Check Its Status
In the v2rayN server list, select the configuration you want, right-click it, and choose “Set as active server” or a similarly named option. Some versions let you switch by double-clicking the entry. After switching, check the selection indicator and status information at the bottom to confirm the active configuration changed. The client typically applies the configuration and reloads the core when you switch; unlike on Android, there may be no circular Start button.
Check again that the system proxy is set—not cleared. Open the client log or status panel and look for errors such as failed configuration loading, a port conflict, or a core startup failure. If the core doesn’t start, the browser won’t be able to connect even if it uses the system proxy, because nothing is forwarding traffic from the local listener. Fix the startup error first rather than switching browsers.
If the client remains in the system tray after you close its window, that’s normal background behavior; it must keep running while the proxy is in use. Don’t confuse quitting with minimizing, and don’t quit the client before testing the browser. If the system asks for permission, make sure the request comes from the client you’re using. Follow the relevant instructions only for features that require elevated permissions; basic system proxy setup does not require TUN every time.
v2rayNG: Start the Connection and Approve the System Request
On the v2rayNG main screen, tap the configuration you want to select, then tap Start. The first time you connect, Android usually displays a VPN connection request. Review it and tap Allow. Return to the app and check that the button now shows Stop and that Android indicates a VPN connection. If you denied the request, start again and approve it rather than importing the same subscription again.
If the connection stops immediately after permission is granted, open the app log and check for errors during configuration parsing or startup. If it stays connected but requests time out, check the subscription’s validity, the device’s date and time, and your network connection. If you need to switch configurations, note what happened and try another known working one. Don’t change protocol, transport, and security settings all at once. Subscription-generated parameters should usually stay as they are; check with your provider before changing them.
Once connected, you can use the client’s connection test as an additional check. A successful test does not prove that browser traffic is using the proxy: the test may only check whether a configuration can connect, not the system proxy, per-app scope, or routing rules. Next, check the browser you actually use and verify separately that the client is running and that browsing traffic is routed as expected.
Step 4: Verify the Proxy Is Working
Check both the app’s browsing results and the client’s status. Open a new browser window to avoid misleading results from cached pages, then visit a trusted site you normally use. The site loading is a basic requirement, but it doesn’t prove the proxy is working: if routing rules send that destination directly, the request may still use your regular network connection even with the client running.
Cross-check the Exit IP and Client Logs
Visit a trusted IP lookup page and note the public IP address it reports. On desktop, record the result with the system proxy cleared, then set the proxy and refresh the page to compare. On Android, record the results with the connection stopped and started. Don’t rely on the location label alone; IP databases can be inaccurate. What matters is whether the exit IP matches your expectations and whether the current rules should route the test destination through the proxy.
If you use split tunneling, first confirm the test site isn’t excluded from the proxy. If needed, briefly switch to the client’s global proxy preset as a comparison, then restore your original routing. Check the client logs for connection entries corresponding to your test and whether they used a direct or proxy route. The amount of detail depends on the log level, so the absence of an entry for every request doesn’t necessarily mean something failed. Don’t expose your full subscription or connection credentials just to share a screenshot.
A change in exit IP only shows that this request took a different route; it doesn’t guarantee that every app or DNS request follows the same path. The goal here is to confirm that the test browser can use the current configuration under the expected routing rules. To route more apps, check their proxy settings or per-app scope individually. For DNS routing, see the DNS configuration section. Don’t change DNS providers while the basic connection is still unstable.
Troubleshoot One Layer at a Time
If the subscription list is empty, return to step one and check the URL, group, and update result. If the list is populated but the core won’t run, check the startup logs and configuration compatibility. If the core is running but the browser can’t access anything, first confirm the system proxy points to this client and that no other program changed it. If only one app fails, check whether it uses the system proxy and whether per-app rules exclude it instead of reinstalling the entire client.
If the browser works but the exit IP isn’t what you expected, check the active configuration and routing for the destination. If every destination times out, try another known working configuration and check your network. If only some destinations fail, inspect the relevant rules and DNS results. Change one setting at a time and retest the same destination to identify what helped. For more scenarios and fixes, see Usage Tips and Troubleshooting.
Restore Your Network Settings After Testing
When you’re done using the proxy on desktop, choose “Clear system proxy” in v2rayN before quitting the client. If you end the process while the system proxy is still set, the browser may keep trying to connect to a stopped local port, making regular websites inaccessible. If you enabled TUN, turn it off as well and confirm your network is back to normal before quitting. On Android, tap Stop and make sure the system VPN indicator disappears. The connection may remain active if you only switch to another app.