Windows VPN from Scratch: Install, Import a Subscription, Auto-Start — Complete Guide
Windows from scratch: install the client, import your subscription, pick a route, verify it works, enable auto-start — five steps and you are up and running.
Getting a VPN working on Windows rarely fails at 'cannot connect'. It fails at the order of operations: install the client, import the subscription link, choose a route and routing mode that match what you actually do, confirm traffic really leaves through an international route, then set up auto-start. Skip any one of these and you will be back here with 'it says connected but pages will not load'.
This guide walks those five steps, with a checkpoint you can verify yourself at each one — no extra diagnostic tools needed. The service facts quoted here are few: 90+ countries / 160+ routes, unlimited devices, a 7-day no-questions refund, and sign-up that needs no email address.
Before you start: three things to confirm
The install itself takes minutes; the time goes into troubleshooting afterwards. Confirm the three items below before you start and you skip half of those problems.
- System version: Windows 10 or Windows 11, with system updates fully installed. On machines that have not updated in a long time, the virtual network adapter driver is more likely to fail.
- Subscription link: you can get the subscription link once you sign in to the dashboard. VPNFH sign-up only needs a username and password — no email address — so this step never stalls waiting for a verification email.
- Install source: get the client from the download entry in the dashboard. Installers from third-party download sites cannot be version-verified, and when something breaks it is hard to tell whether the client or the system is at fault.
If the machine is managed by your company, Group Policy may block virtual network adapter installs or changes to network settings. On those machines, confirm permissions first and discuss route selection second — otherwise any client stalls at the install stage.
Step 1: Install the Windows client
The installer is a standard Windows setup program: double-click it and follow the wizard, no extra runtimes required. Only one point needs attention — the firewall prompt on first launch.
- Download the Windows client installer from the dashboard and note where you saved it.
- Double-click the installer, choose an install directory in the wizard (the default is fine), and click Next through to the end.
- On first launch Windows shows a firewall prompt: select Private networks and allow access. Decline it and the virtual adapter never comes up, leaving the client stuck at Connecting.
- Once it starts, check that the client icon appears in the system tray and the main window shows Not connected — that means the install itself is fine.
The client creates a virtual network adapter in the system, and both rule mode and global mode run on top of it. Do not run a second client of the same kind at the same time: when two virtual adapters fight over the default route, the symptom is 'connected, but pages will not open', and it is very hard to spot from the interface.
Keep one virtual-adapter client per machine. When a connection problem appears out of nowhere, quit other similar software and reconnect first — that rules out a fair share of false diagnoses.
Step 2: Import the subscription link
A subscription link is a URL that carries your account credentials. When the client fetches it, it receives the node list, ports and protocol parameters — so it is not your password, but a leak has an effect close to one: someone else can pull your node details with it. Importing takes four steps.
- Sign in to the dashboard and copy the full subscription link from the subscription section.
- Open the client, go to the subscription or profile page, and paste the link into the input field.
- Save, then click Update subscription once. When nodes grouped by country appear in the list, the import worked.
- If you later change plans or switch routes in the dashboard, come back and update again — the client will not know on its own.
Before pasting, check the link for extra spaces at either end and for line breaks inserted by chat apps. Those two are the most common cause of a failed import, and neither has anything to do with your account.
A subscription link is a credential: do not paste it into group chats and do not screenshot it. If someone else needs access, have them get their own from their own account rather than sharing one link.
Differences on other platforms
The same subscription works on unlimited devices, and Windows is just one of them. macOS, iOS, Android and Linux use slightly different names for the import entry, but the flow is identical: copy the link, paste, update, pick a route. Switching devices does not mean buying again — just import once more.
Step 3: Choose a route and routing mode
The node list often has several routes for the same region; what differs is the outbound path. Choosing the wrong one raises no error — it shows up at peak hours as stutter, frequent reconnects, or sites that work one minute and fail the next.
| Route type | Outbound path | Best for |
|---|---|---|
| Direct | The client connects straight to the overseas node — shortest path | Networks where local broadband to the overseas exit is already stable |
| Relay | Connects to a domestic relay entry first, then exits abroad through the relay node | Networks with unstable local exits that drop at peak hours |
| IEPL dedicated | Runs over a carrier dedicated line rather than public internet exits | Long sessions and uses that demand stability |
Routing mode decides which traffic enters the tunnel. Clients generally offer three:
- Rule mode: splits traffic by domain and IP — domestic sites go direct, international sites go through the route. Use this one day to day.
- Global mode: all traffic goes through the route. Useful for one-off troubleshooting; leaving it on makes local access take the long way round too.
- Direct: effectively turns the proxy off, for comparison tests that show whether the route is the problem.
Routing rules ship with the subscription, so if the subscription is not updated, newly adjusted rules will not apply. If a site should go through the route but does not, update the subscription first and only then consider adding a manual rule; likewise, if a domestic site is misclassified as international traffic, update first and look again.
Step 4: Verify that it actually works
The client saying Connected only means the tunnel is up, not that traffic is going the right way. The checks below are independent — run each one, so that when something breaks later you know which layer it is on.
- ✅ Open an IP lookup site: the exit IP should show the country or region of the route, not your local IP.
- ✅ Switch to a route in a different country: the exit IP should change with it, which proves switching works.
- ✅ The DNS lookup result should show resolvers following the route, not your local ISP's addresses.
- ✅ With only the browser proxied and other apps connecting directly, the two should report different exit IPs — that shows the routing rules are working.
The third check is the one people skip. With a DNS leak, pages still load, but domain lookups stay on the local network and routing gets erratic: the same site goes through the route one time and direct the next, which looks like 'sometimes it works, sometimes it does not'.
ipconfig /flushdns
If the old IP still shows after switching routes, flush the system DNS cache and reload the page. Browsers cache lookups too, so double-check in a private window.
Conversely, these symptoms mean traffic never entered the tunnel — nothing to do with route quality:
- ❌ It says connected, but the IP lookup site spins forever or will not load at all.
- ❌ The exit IP is identical to your local IP: the tunnel is not carrying traffic.
- ❌ Only some apps are affected while others still use the local exit — usually a routing rule or per-app setting issue.
- ❌ Pages load but are noticeably slower — often because a route in a distant region was picked by hand.
Step 5: Enable auto-start
Auto-start is decided in two places: the switch inside the client, and Windows' own startup app management. Enable only one and the usual result is a tray icon after boot with no connection.
- In the client settings, turn on Start with Windows and also Connect to the last route on launch.
- Open Task Manager, switch to the Startup apps tab, and confirm the client's status is Enabled.
- Reboot once and watch the tray icon and connection status; if it does not connect automatically, go back to step 1 and check the switches.
- If several security suites are installed, confirm none of them is blocking the client's startup entry.
Auto-start plus global mode is a bad combination: while the system network is still coming up, global mode makes sign-in items and update services wait for the tunnel, so booting ends up slower. Stick with rule mode day to day.
Common problems and fixes
The table below is ordered symptom → cause → fix and covers the most common cases across install, import and connection. Work from top to bottom: rule out install and import first, then look at routes.
| Symptom | Likely cause | Fix |
|---|---|---|
| Install fails halfway | Missing system updates, or security software blocking the driver | Finish the updates, temporarily disable the blocker, reinstall |
| Importing the subscription errors out | The link was truncated, or has spaces at either end | Copy the full link again and check both ends after pasting |
| Connected but pages will not open | Another virtual adapter is taking the default route | Quit other similar clients and reconnect |
| A few sites skip the route | Routing rules are out of date | Update the subscription and retry |
| Exit IP does not change | The tunnel is not carrying traffic, or the browser is caching | Flush the DNS cache and re-check in a private window |
| No automatic connection at boot | The startup entry is disabled by the system | Enable it in Task Manager and check the client switch |
After the five steps
Order matters more than tools. Install, import the subscription, choose a route and routing mode, verify exit IP and DNS, enable auto-start — those five steps are one chain, and skipping any link sends you back to 'it connects but does nothing'.
If you remember one line: use rule mode first, verify item by item second, and only then tune routes. Routes are the variable; order is the constant — get the order right and switching routes just means a different path; get it wrong and no amount of switching fixes the same problem.
The VPNFH Windows client downloads from the dashboard, sign-up needs no email address, one subscription covers unlimited devices, and there is a 7-day no-questions refund. Which means you can finish these five steps on this machine first and then decide whether to roll it out to the others.
VPNFH
Windows client and subscription, set up once
No email address needed to sign up, no logs kept, 7-day no-questions refund. 90+ countries / 160+ routes, and one subscription covers unlimited devices.