Before You Begin: Install a Client and Get a Valid Subscription
Open the installed client and make sure its main screen loads. If you still need to install it, visit the client downloads page and choose a package for your operating system and processor architecture. This guide assumes the client starts normally; you don't need to edit core configuration files or enable TUN first. For installation permissions, system components, and platform-specific settings, see the complete setup guide for all platforms.
Next, get a valid subscription URL or a server share link the client can recognize. Subscription URLs usually provide multiple servers; share links usually contain a single server. Use the appropriate field for each. The client does not include remote servers, so you need a valid connection configuration to test access. Subscription URLs may contain credentials. Don't post the full URL publicly or leave it visible in screenshots.
Before you start, disconnect any other proxy or VPN that is routing your traffic. Keep your regular internet connection available, and check that your device's date and time are correct. Open a browser and note how your usual sites load; you'll compare them later. Change one setting at a time: get the servers to appear, choose a proxy mode, then connect and test. This makes it easier to pinpoint a problem if something goes wrong.
Step 1: Import a Subscription and Check That Servers Appear
v2rayN: Add a Subscription Group, Then Update It
Copy the full subscription URL. In v2rayN, find Subscription Group or the subscription management option in the top menu, open the group settings, and add a group. Enter a recognizable name, such as “Daily subscription,” and paste the URL into the address field. Make sure there are no extra line breaks, spaces, or punctuation added by a messaging app, then save. Saving only stores the URL in the client; it doesn't fetch any servers. Return to the subscription menu and update the group.
In the subscription menu, choose Update current group or Update all subscriptions. If the menu offers updates through or without a proxy, try without a proxy first, since you don't have a working proxy yet. If the URL can't be reached on your current network, resolve that access issue first. Check the status message or log and wait for the update to finish, then open the group you added. The server list should show entries such as server names, addresses, or protocols. The import is complete once they appear.
v2rayNG: Save a Group, Then Update Its Subscription
Open the v2rayNG side menu and go to Subscription group settings. Tap Add to create a group, enter the subscription URL in the URL or address field, and save. Return to the main screen and use the top-right menu to update subscriptions. If you can update the current group or all groups, choose the one you just added. When the update finishes, its servers should appear on the main screen. If the group settings show a URL but the server list is empty, the subscription content probably hasn't been updated yet.
If you only have a single share link, use the client's clipboard import option. Don't treat it as a subscription URL and keep trying to update it. After importing, check that the server appears in the list before moving on. A server name is just a label, not proof that the connection works. Seeing an entry means the client accepted its configuration; you'll still need to test the connection. If an update fails, check the log for network or format errors, then make sure the URL hasn't expired or returned a login page. Avoid adding the same group repeatedly, which can clutter the list and make troubleshooting harder.
At this stage, keep one clearly named subscription group with at least one server to choose from. There's no need to rename servers in bulk, merge groups, or change advanced fields yet. Next, decide which traffic should use the proxy so you don't mistake a mode mismatch for a server problem.
Step 2: Choose a Proxy Mode and Understand the Two Settings
“Proxy mode” can refer to two different things: how your system or apps send traffic to the client, and how the client routes requests it receives. The first controls how traffic is captured; the second controls routing rules. If you choose a routing preset but don't route app traffic through the client, your browser may still connect directly. If you enable the system proxy but choose a direct-connection rule, traffic won't use the proxy as expected. Check both settings separately during initial setup.
v2rayN: Start with the System Proxy and a Standard Routing Preset
Find the system proxy control on the v2rayN main screen or in the tray menu. Look for an option such as Set system proxy automatically. For now, just locate it; enable it after choosing a server in Step 3. For routing, choose a built-in preset with clear behavior, such as bypassing the LAN and mainland China. The exact name depends on your version. These presets send some requests directly and route others through the proxy, making them a good starting point for testing everyday websites.
Global mode is useful for a quick comparison. If a site doesn't behave as expected with split routing, switch to Global temporarily and try again to see whether the rules are the cause. Global mode still applies only to requests sent through the client; it doesn't automatically route traffic from every desktop app. For your first connection, don't enable TUN or change DNS, sniffing, and custom rules at the same time. To cover apps that don't follow the system proxy, check the permissions and routing options for your platform in the complete setup guide.
v2rayNG: Check VPN Mode and Choose a Routing Preset
In v2rayNG settings, make sure it's using VPN mode, not a mode that only provides a local proxy port. VPN mode gives you a more straightforward way to test a browser connection. Then check the routing settings and choose a standard preset with the same intent as the desktop setup. If per-app proxying is enabled, make sure your browser is included. For the first test, leave custom app lists off to avoid adding variables.
Android VPN mode uses a system-provided traffic interface; it's not another name for the desktop system proxy. If another VPN is already connected, disconnect it before starting v2rayNG. For now, just note the routing preset and whether you've set an app scope. In the next step, you'll select a server and start the connection. Choosing a mode doesn't establish a connection by itself.
Step 3: Select a Server and Start the Proxy Connection
v2rayN: Set an Active Server and Enable the System Proxy
Return to the v2rayN server list and select a fully configured server from a source you trust. Right-click and choose Set as active server; some versions let you double-click instead. Check the active marker or status bar to make sure it shows the server you intend to test. Highlighting a row isn't enough. To compare servers first, you can run a real connection test from the context menu. Its result only reflects the test destination and conditions at that moment; it doesn't guarantee access to every site.
Once the server is active, enable automatic system proxy configuration from the system proxy menu. Check the log for core startup errors, then open a browser ready to test. Some v2rayN versions reload the core when you switch servers and don't have a separate, prominent Connect button. Don't judge whether it's running by the presence of a button alone. If the log repeatedly reports a port conflict, close duplicate client instances or other apps using the same listening port, then try again.
v2rayNG: Select a Server and Approve the VPN Request
Tap a server in the v2rayNG list and make sure the selection indicator moves to it, then tap Connect. The first time you start the client, Android will show a VPN connection request. Check that v2rayNG is the app requesting access, then allow it. Return to the client and check that the button shows a connected state and the system status area displays a VPN indicator. If you cancel the request, the server stays selected but no traffic interface is established. Connect again and approve the request.
If the client offers a test for the current connection, run it once after connecting and check the result. A VPN indicator, running icon, or successful test alone doesn't prove that every app can access the internet as expected; complete the browser test in Step 4. If the core fails to start, check the latest startup log instead of repeatedly tapping Connect. If it starts but the test fails, try another server from the same subscription while keeping the mode and other settings unchanged.
At this point, you should have a clear intermediate result: on desktop, an active server with the system proxy enabled; or on Android, a selected server with VPN permission granted. If not, fix this step before moving on. Before sharing logs, hide server addresses, user identifiers, and subscription details. Include only the error type and the context needed to understand it.
Step 4: Test Access and Confirm the Proxy Is Working
Check the Website, Then Compare Your Exit IP and Logs
Open a new browser tab and visit a site you know is available and should use the proxy under your current rules. Don't just refresh a page that's been open for a while; existing connections, cached content, or active sessions can skew the result. Make sure the page content loads, then try another page on the same site. If text appears but images or other resources keep failing, the test isn't complete. Check the affected requests and logs instead of assuming the setup is working.
Next, use a trusted exit IP lookup site to check the apparent IP for your request. Compare it with the selected server and routing mode. With split routing, different domains may use different outbound routes. If the lookup site is set to connect directly by your rules, seeing your local IP is expected and doesn't mean the proxy is broken. To compare, temporarily switch to Global mode, repeat the lookup in a new tab, then restore your original split-routing preset. An IP location label is only a clue, not definitive proof.
Check the client log around the time you visited the site for connection entries, repeated timeouts, connection refusals, or resolution failures. Some log levels don't show every successful request, so a lack of individual access entries doesn't prove traffic bypassed the client. For a first test, look for three things together: the site loads, the exit IP matches the rules for that site, and the log doesn't show repeated failures. You don't need to leave verbose logging enabled just to gather more information.
If Access Fails, Check Traffic Routing, the Server, and the Rules
If the client shows as running but your browser behaves the same, first check whether its traffic is being routed through the client. A desktop browser may use a separate proxy extension or custom proxy settings. Temporarily disable conflicting settings so it follows the system proxy. Some apps don't use the system proxy at all and need separate configuration. On Android, check whether per-app rules exclude the browser and whether the system VPN is still connected. First confirm that requests reach the client; check the routing rules after that.
If requests reach the client but keep timing out, leave other settings as they are and try another server with the same destination. If only one server fails, check whether it's still valid. If multiple servers fail, check your internet connection, system time, and the error log. If Global mode works but split routing doesn't, the issue is more likely with rule matching or DNS resolution; reinstalling the client isn't necessary. For platform-specific routing and DNS advice, see the complete setup guide for all platforms.
Finally, disconnect and compare. In v2rayN, clear the system proxy before exiting the client. In v2rayNG, tap Stop and make sure the VPN connection has ended. Revisit a site you noted before starting and check that your regular connection is back. On desktop, exiting the client while leaving the system proxy pointed at a local port can prevent your browser from connecting. Make sure you clear the system proxy as well as close the client. Initial setup is complete once you can connect and disconnect cleanly.
After Your First Connection: Keep a Reproducible Setup
Once testing is complete, note which subscription group, active server, and routing preset worked. Don't record or share full credentials. The next time you connect, first check that the server is still available, then use the same settings. Subscription updates may add, remove, or rename servers, so confirm that your active server is still listed. If a server stops working, update the subscription and repeat the verification steps in Step 4 before changing other settings.
If an Android connection drops after the screen locks, check the system's battery management and background activity restrictions. If only certain desktop apps bypass the proxy, check how those apps handle proxy settings. These are additional configuration issues to investigate after the initial connection works; you don't need to enable every option now. Keep a verified basic setup, then add features one at a time so it's easier to identify what caused a change.
To repeat the setup, start with subscription import and follow the four steps in order. For installation instructions, permission differences, TUN, or more troubleshooting steps, see the complete setup guide for all platforms. For details on server testing and checking your exit IP, read the v2rayN first connection and server testing guide.