How to use a VPN on Windows can be broken down into a clear sequence: get the client recommended by the service provider, import a subscription, choose a route, enable the appropriate proxy mode, then check whether the exit address and DNS behave as expected. Seeing “Connected” in the client is not enough; you must also verify that browser and desktop app traffic actually uses the proxy.

Button labels vary between clients—“Subscription,” “Configuration,” “Nodes,” or “Proxy”—but the underlying actions are much the same. This guide is not tied to one client interface; it explains the goal, visible result, and common failure points at each step. That way, even when a client redesigns its layout, you will know what to look for instead of following outdated screenshots mechanically.

First, understand a few concepts in the Windows client

The client is not the route itself. It reads configuration, establishes the connection, and hands system traffic to a remote node. A subscription is a route list maintained by the service. After the client refreshes the subscription, regions, protocols, and route names appear in the node list. The client only starts handling matching connections after you select a node and enable the proxy.

Interface label What it does What beginners should check
Subscription Fetches the node list and rule configuration from the service Whether the update succeeded and whether regions and route names appear
Node or proxy Specifies the remote entry point currently in use Whether a node is selected, rather than stopping on the list after importing
System proxy Passes network requests from apps that follow Windows proxy settings to the proxy Browsers usually work, but some desktop apps may ignore it
TUN mode Uses a virtual network interface to handle more types of system traffic Whether administrator permissions are required and whether it conflicts with other network tools
Rules or split tunneling Determines which requests use the proxy and which stay direct Whether the current mode is rules, global, or direct

Shadowsocks, VMess, Trojan, VLESS, Hysteria2, and TUIC may all appear in a subscription, but not every client can read them. Protocol support depends on the client version and its core. The safest approach is to use the client explicitly recommended by the service provider; do not assume that similarly named nodes can be imported into one another.

Key takeaway: The client handles the connection, the subscription delivers configuration, the node provides the entry point, and the proxy mode determines which programs use the connection. Troubleshooting is much faster when you first identify which layer is failing.

Install the client and complete the first launch

Open the service provider’s download page and confirm that you are downloading the Windows version. Installer and portable versions start differently: an installer usually creates a Start menu entry, while a portable version must be extracted and run from its folder. Whichever you use, keep the program in a stable location for long-term use so moving the folder later does not break shortcuts or configuration paths.

  1. Download the installation file. Check that the filename matches the download page, then save it locally.
  2. Install or extract it. Complete the wizard for an installer; for a portable version, extract everything first instead of running it from the archive preview.
  3. Launch it for the first time. If Windows shows a permission prompt, verify the program’s source before deciding whether to allow it. Installing a TUN driver or creating a network interface usually requires the appropriate permissions.
  4. Find the main window. Some clients remain in the notification area after the window is closed. If you cannot see the window, check the icons on the right side of the taskbar first and avoid launching multiple instances.
  5. Check the running state. An empty node list on first launch is normal; selectable routes appear only after you import a subscription.

Import the subscription URL and refresh nodes

Sign in to the service dashboard and find the subscription or one-click import option. Copy the complete subscription URL, including its trailing parameters. Return to the client, open “Subscription management,” “Configuration management,” or a similarly named page, choose to add from a URL, paste the link, and save it.

Saving only means that the client remembers the address; you usually still need to run “Update subscription.” After a successful update, the node list should show region, route, or protocol names. If it remains empty, check the client’s status bar or log area first: failed network requests, incompatible subscription formats, and expired links usually produce different messages.

Choosing between automatic and manual import

If the service dashboard offers one-click import for your client, use it first because it usually opens the client and fills in the correct subscription URL. When the browser asks whether to open an external app, confirm that the target is the client you just installed. If one-click import does nothing, switch to the manual copy-and-paste method.

A single-node sharing link is not the same as a subscription URL. Sharing content beginning with a protocol name usually contains one node, while a subscription address can sync an entire configuration set after an update. For long-term use, subscriptions make route changes easier. Unless the service provider explicitly instructs you to, do not send protocol links to third-party conversion websites.

How to confirm a successful import: It is not enough that “the link has been pasted.” The client must complete an update and show selectable routes on the node page. The subscription import is complete only when the node list is visible.

Choose a route and enable the correct proxy mode

There is no need to switch repeatedly among every node on your first connection. Start with a route near the region where the target service is located, then observe actual webpage loading, file transfers, and desktop app connections. Geographic distance is only one factor; route type, your current network, and the destination’s path also affect performance.

IEPL dedicated routes, relay routes, and direct routes use different paths. An IEPL dedicated route typically connects to the service through dedicated cross-border transport; a relay route first connects to a relay entry point and then reaches the exit through the relay path; a direct route connects from the local network directly to the remote server. These names describe connection structures, not guaranteed speed at every time. Test them on your own network and for your actual use case.

Mode A suitable starting point Common behavior
Rules mode Everyday browsing with a mix of local and international services The client chooses proxy or direct connections according to rules, balancing access paths
Global mode Checking whether a program was missed by split-tunneling rules More requests are sent through the proxy; it is not ideal to leave enabled indefinitely without review
Direct mode Pausing the proxy or comparing the connection before and after Traffic does not pass through the selected proxy node
System proxy Mostly using browsers and software that follows system settings Simple to configure, but it cannot guarantee coverage for every desktop program
TUN mode Software ignores the system proxy or requires broader traffic handling Broader coverage, with greater need to watch for driver and routing conflicts

Beginners can start with Rules mode and enable the system proxy. Once the browser works, test the target desktop app. If the browser works but a program still connects directly, that program may not read the system proxy. Check its own proxy settings first, then consider enabling TUN instead of repeatedly changing nodes.

Verify the connection, exit address, and DNS

When the client shows “Connected,” it only means the local program believes the connection is established. Complete verification should cover the exit address, target websites, DNS resolution, and the actual app. Before connecting, note the current network exit region, then refresh a network-check page afterward. If the exit remains completely unchanged, the system proxy may be off, the browser may be bypassing it, or the current rules may send the test site directly.

  1. Check the client status. Confirm that the selected node is active and that there is no continuous reconnecting or authentication error.
  2. Check the exit address. Open the site’s network check and compare the exit details before and after connecting with the selected route.
  3. Check DNS. See whether DNS requests are still being sent through an unexpected local resolution path. DNS and web traffic may use different paths, so the exit address alone is not enough.
  4. Check the target app. Test the browser and the desktop program you actually plan to use separately, confirming that both can connect.
  5. Test again after closing. Exit the proxy and confirm that the network recovers, preventing residual system proxy settings from blocking web access after the client closes.

Windows includes commands that can help determine whether a domain resolves, but running a lookup alone cannot prove which proxy route carried the request. The command below only checks whether the system can currently obtain a DNS result:

nslookup example.com

A DNS leak occurs when application traffic uses the proxy but domain lookups still leave through an unexpected local resolution path. To fix it, first check the client’s DNS settings, split-tunneling rules, and TUN configuration. Avoid stacking multiple encrypted DNS tools casually; each may modify system resolution settings and make the issue harder to isolate.

Browser extensions, built-in browser proxies, and system clients can also create layered configurations. If exit-check results keep changing, temporarily disable extra proxy extensions and test with only the Windows client. Once the base connection is confirmed, restore the other tools one at a time.

How to confirm that the connection is working: The client status is normal, the exit matches the selected route, the DNS path is as expected, and both the target browser and desktop app work. Any inconsistency means you should continue checking the proxy mode and split-tunneling rules.

Split-tunneling rules and desktop app compatibility

The goal of split tunneling is not to send every connection on a longer route. It is to send requests that need the proxy through a node while keeping suitable local traffic direct. Rules commonly match domains, address ranges, processes, or rule sets. Match order matters: when the same domain meets multiple conditions, the client generally follows its own priority order.

When a webpage works but a desktop app does not, first determine whether the app follows the system proxy. Some apps offer their own proxy setting, where you can select “Use system proxy” or enter local proxy details. Others connect directly and ignore Windows system proxy settings. Those apps usually require TUN handling or rules that support process matching.

Isolate rule problems with the fewest changes possible

Global mode is useful for short comparisons, not as the only solution to every compatibility problem. A long-term setup should clearly identify which services need the proxy. Corporate intranets, local printers, LAN devices, and local development environments usually require direct connections; sending all of them through a remote node may cause access failures or unexpected routes.

Set up startup launch and recovery after disconnection

Consider startup launch only after connection verification is complete. Client settings usually separate “Launch at startup,” “Start minimized,” “Connect automatically,” and “Restore system proxy.” Launching at startup only means the program runs with Windows; it does not necessarily select a node or enable the proxy. Confirm each option separately.

First make sure the client works reliably when connected manually, then enable automation options one by one. Restart Windows and check whether the client appears in the notification area, the subscription configuration remains, the previous node is selectable, and the system proxy opens as expected. If the client starts before the network is ready, its first connection may fail. Check whether it offers automatic retries or delayed connection instead of repeatedly creating startup entries.

You should also test recovery after an abnormal exit. Close the client normally and confirm that the system proxy is restored, then launch it again and check whether it can reconnect. If every webpage becomes inaccessible after the program closes, the system proxy may still point to the stopped local client. Turn off the residual proxy in Windows network settings, then check the client’s restore-on-exit setting.

Troubleshoot common problems by symptom

Subscription update fails

Confirm that the subscription URL was copied in full, then check whether the client supports its format. If a link that worked before suddenly stops updating, get a new one from the service dashboard instead of processing it on a public conversion site. A badly incorrect system clock can also affect connections that use certificate validation, so restore normal Windows time synchronization first.

Shows Connected, but webpages will not open

Check whether Direct mode was selected by mistake, whether the system proxy is enabled, and whether the client’s local listener is working. Then disable extra browser proxy extensions and try again. If every node behaves the same way, check the local configuration first. If only one node fails, compare it with another route in the same region.

The browser works, but the desktop app does not

This usually means the browser follows the system proxy while the target app does not. Check whether the app offers a “Use system proxy” option; if not, test TUN. If the app depends on UDP, also confirm that the client and node support the required forwarding.

Local websites or LAN access stop working after connecting

Switch from Global mode back to Rules mode and check that LAN and local addresses remain direct. When using TUN, also check whether bypassing the LAN is enabled. Do not send printers, router admin pages, and corporate intranets through a remote node just to access international websites.

Network problems appear after the client exits

Open Windows proxy settings and check whether a manual proxy still points to the local client. Turn off residual settings and test the network again. When you launch the client again, check whether “Clear system proxy on exit” or an equivalent option is enabled.

A consistent troubleshooting order is: confirm the subscription updated, the node is selected, the mode is correct, the system proxy or TUN is working, the exit and DNS match expectations, and the target program follows the current proxy method.

After completing these steps, using a VPN on Windows is no longer just a matter of clicking Connect. A stable setup should make clear what each layer does and help you locate failures by their symptoms: a subscription problem will not be fixed by switching modes, and a split-tunneling problem should not be solved by reinstalling the client repeatedly.