Setting up a Windows VPN is easier when you handle the client, subscription, traffic routing and connection checks separately. Get a compatible client from the service dashboard, import your subscription and choose a route. Verify that your browser and commonly used apps work before configuring startup to make troubleshooting easier.
This guide follows the steps in practical order. Button names vary by client, so each step explains what it does rather than requiring an exact match with the interface. If you’re using a company device or managed network, confirm that you’re authorized before making changes. Don’t alter your organization’s security policies.
Before you install: check the client source and system compatibility
“Add a VPN connection” in Windows Settings isn’t a general-purpose subscription import option. It’s designed for VPN types supported by Windows and won’t directly import the subscription configurations used by many proxy clients. If your dashboard provides a client subscription, use a compatible client instead of pasting the link into Windows’ server address field.
- Go to the X1VPN dashboard. If you already have an account, sign in. Creating an account doesn’t require an email address.
- Open the dashboard’s client downloads, find the Windows instructions and choose the installer for your system type.
- Check your system type in Windows Settings under System and About to avoid using an installer built for a different processor architecture.
- Install the client by following the dashboard or the client’s official instructions, and keep the default network component settings. When you first launch it, don’t enable other proxy tools at the same time.
Make sure the installer comes from the dashboard or an official client release channel. If Windows displays a publisher, signature or security warning, verify the file source against the official guidance. Don’t make disabling security protection a routine installation step. Grant permissions for a virtual network adapter or background service only when you understand why they’re needed.
Importing a subscription: put the configuration in the right place
A subscription link is usually used to retrieve routes and rules. It isn’t a regular webpage or an account password. After signing in, X1VPN users can get subscriptions for non-iOS clients. Follow the dashboard’s instructions for the client you’re using to find out whether to sign in or import a link manually.
If the client offers account sign-in, follow its prompts to sync your settings. To import manually, copy the subscription link for your client from the dashboard. In the client, open “Configuration,” “Subscriptions” or “Profiles,” choose the option to import from a link, paste it, save and update. You can give the subscription any recognizable name; it won’t affect the connection.
After importing, check that the configuration is selected and that routes appear in the list. A “Saved” message with no routes may mean the configuration hasn’t been fetched, the subscription format isn’t supported, the account is in an unexpected state or the request didn’t complete. Check your dashboard status and client logs, then try updating. Don’t keep adding the same configuration.
Shadowsocks, VMess, Trojan, VLESS, Hysteria2 and TUIC are different protocols or protocol variants. Similar client names don’t mean they all support the same formats, and the dashboard may not offer every protocol. Choose a configuration explicitly supported by your client. Don’t just change a file extension or replace one protocol name with another.
Choosing a mode: the difference between system proxy and a virtual network adapter
Once you’ve imported a route, decide which traffic the client should handle. Common options include system proxy and TUN mode, but they don’t work the same way. The table below explains the general behavior; not every client offers all of these options.
| Method | What it does | Things to keep in mind |
|---|---|---|
| System proxy | Provides a local proxy endpoint for apps that follow Windows proxy settings | Some apps ignore the system proxy, so this doesn’t mean all traffic is being routed through the client |
| TUN mode | Receives traffic through a virtual network adapter, then processes it according to the client’s rules | May require extra permissions or a service component; routing, exclusions and DNS settings still matter |
| In-app proxy | Sets the local proxy address provided by the client in a specific app | Affects only that app; the protocol and port must match the client settings |
Beginners can start with the system proxy and test browser access. If an app doesn’t follow the system proxy, check the client’s TUN instructions instead of repeatedly switching routes. Don’t let multiple tools manage the system proxy or virtual network adapter at once. Conflicting routes can cause slow or inconsistent connections, failed DNS lookups or even loss of local network access.
“Rule mode” determines which requests connect directly and which use a proxy; “Global mode” generally sends requests handled by the client through the selected proxy. Global mode doesn’t mean every app is being routed through the client. For everyday use, start with the service’s rules configuration to keep local resources and LAN access available. If a specific app has trouble, check which rule it matches.
Choosing a route: confirm the region, then test access
Choose an exit region that meets the target service’s requirements, then connect. The region in a route name can help you choose, but verify the actual exit location and access to the target service after connecting. Availability also depends on your account region, content licensing and platform policies. Changing routes doesn’t guarantee access to every type of content.
A direct route generally connects the client straight to a server outside mainland China; a relay adds a forwarding node along the path. IEPL typically refers to a dedicated transport solution used for cross-border links. These terms describe the route or transport method, not the client protocol. An IEPL label alone doesn’t guarantee a particular experience; test it on your network and during the times you normally connect. See the service details on the routes page, and don’t infer capabilities that haven’t been stated.
After connecting, visit a regular webpage, then open the app you actually want to use. If the browser works but the app doesn’t, check whether the app is routed through the proxy, whether a rule sends it direct and whether the app has its own regional restrictions. Don’t assume every failure is a route issue, and don’t rely on speed-test rankings instead of testing the apps you use.
Verify the connection: check the exit location, DNS and apps separately
A client showing “Connected” usually confirms only that a connection was established. It doesn’t prove that traffic routing, DNS resolution and your target app are all working as expected. Follow the checks below in order, and note the results before and after each change.
- ✅ Check the exit location: Compare results on a trusted IP lookup site before and after connecting to confirm that the test request uses the expected exit. With split routing, direct requests may still show your local IP.
- ✅ Check the rules: Find the target domain in the client’s connection log, confirm whether it’s going through the proxy or connecting directly, and check which route is selected.
- ✅ Check DNS: Review the client’s DNS settings and where DNS requests are sent, then compare the results with a trusted test site. Don’t rely only on whether a webpage opens.
- ✅ Check the app: Test your usual browser and the app you want to use separately. Confirm that sign-in, page loading and continued use all work as expected.
A DNS leak generally means that domain lookups expected to follow a protected route are instead using another resolver path. First check how your rules are meant to work: if local domains are designed to resolve directly, seeing a local DNS result isn’t necessarily a problem. Test sites may show different results because of caching, secure DNS in the browser or different request paths. Don’t draw conclusions based only on the resolver’s location.
If a webpage still shows the old region, reload it or restart the app, then check for cached data and existing connections. Make sure the browser’s secure DNS settings are compatible with the client’s setup. Don’t turn off all DNS features without understanding why. Before troubleshooting, save your current settings, change one thing at a time and repeat the same test.
Verification: Setup is complete when the exit location matches your expectations, the correct rules are applied, DNS follows your configuration and the target app works. A status icon or a single speed test provides only a partial picture.
Start with Windows: distinguish launching the app from connecting automatically
Enable automation only after you’ve confirmed that a manual connection works. Most clients have separate settings for “Start with Windows,” “Start minimized,” “Enable system proxy automatically” and “Connect automatically.” Some apps only restore the last window when they start; they don’t automatically route traffic. Check what each option does instead of enabling every setting with “start” in its name.
- In the client settings, enable launching with Windows and make sure your current configuration and route selection are saved.
- Enable automatic connection or proxy restoration if needed. If you use TUN, check whether a service component is required and follow the official instructions.
- In Windows Settings, check Apps > Startup, or the Startup Apps list in Task Manager, and make sure the client hasn’t been disabled.
- Sign out of Windows and back in. Once the network is ready, check the tray icon, system proxy and target app; don’t judge by whether the client window appears.
Desktop apps usually start after you sign in to Windows; this doesn’t mean the system is connected before sign-in. Features that require administrator permissions may not work through a regular startup entry. Prefer the client’s documented service mode, and don’t bypass permission prompts by disabling system protections.
When testing after a restart, check how the client exits too. Turn off the system proxy or stop traffic routing in the client before closing it normally, then confirm your regular network works. Force-quitting may leave Windows configured to use a local proxy address. If the client has stopped but the browser still sends requests to it, the internet may appear to stop working when you exit.
Troubleshooting: narrow it down by symptom
Subscription update fails or the route list is empty
First check your account and plan status, device time, subscription format and client compatibility. Review the error category in the logs to distinguish download, authentication and configuration parsing failures. A subscription URL may return configuration text directly, so it isn’t necessarily invalid just because it doesn’t open as a regular webpage in a browser.
The browser works, but desktop apps don’t
Check whether the app follows the system proxy and whether its requests appear in the client’s connection log. If there are no requests, troubleshoot traffic routing first. If requests are logged, check the rules, route and target service response. If you need TUN, follow the official instructions and watch for conflicts with other VPNs, virtual network adapters or security software.
Doesn’t connect after restart, or webpages stop loading after exit
For the first issue, check the startup entry, automatic connection setting and whether the configuration was saved. For the second, check whether Windows proxy settings were left behind. Restore them only if you’ve confirmed the current client added them; don’t remove settings managed by your organization. When contacting support, include the error text, client name, steps you took and logs with sensitive details hidden. That’s more useful than simply saying it doesn’t work.
Recommended order: Connect manually first, check app routing and DNS next, then enable startup. Keep one verified configuration and change only one variable at a time so you always have a clear starting point for recovery.