Skip to content

Commit a4e647c

Browse files
dguidoclaude
andauthored
docs: Add Windows client documentation and common error fix (#14787)
- Added comprehensive Windows client setup guide (docs/client-windows.md) - Documented the common "parameter is incorrect" error in troubleshooting.md - Added step-by-step solution for Windows networking stack reset - Included WireGuard setup instructions and common issues - Added Windows documentation links to README.md This addresses the frequently reported issue #1051 where Windows users encounter "parameter is incorrect" errors when connecting to Algo VPN. The fix involves resetting Windows networking components and has helped many users resolve their connection issues. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <noreply@anthropic.com>
1 parent 8ee15e6 commit a4e647c

File tree

3 files changed

+135
-1
lines changed

3 files changed

+135
-1
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ WireGuard is used to provide VPN services on Android. Install the [WireGuard VPN
121121
122122
WireGuard is used to provide VPN services on Windows. Algo generates a WireGuard configuration file, `wireguard/<username>.conf`, for each user defined in `config.cfg`.
123123
124-
Install the [WireGuard VPN Client](https://www.wireguard.com/install/#windows-7-8-81-10-2012-2016-2019). Import the generated `wireguard/<username>.conf` file to your device, then setup a new connection with it.
124+
Install the [WireGuard VPN Client](https://www.wireguard.com/install/#windows-7-8-81-10-2012-2016-2019). Import the generated `wireguard/<username>.conf` file to your device, then setup a new connection with it. See the [Windows setup instructions](docs/client-windows.md) for more detailed walkthrough and troubleshooting.
125125
126126
### Linux WireGuard Clients
127127
@@ -210,6 +210,7 @@ After this process completes, the Algo VPN server will contain only the users li
210210
* Deploy from a [Docker container](docs/deploy-from-docker.md)
211211

212212
### Setup VPN Clients to Connect to the Server
213+
* Setup [Windows](docs/client-windows.md) clients
213214
* Setup [Android](docs/client-android.md) clients
214215
* Setup [Linux](docs/client-linux.md) clients with Ansible
215216
* Setup Ubuntu clients to use [WireGuard](docs/client-linux-wireguard.md)

docs/client-windows.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Windows Client Setup
2+
3+
This guide will help you set up your Windows device to connect to your Algo VPN server.
4+
5+
## Supported Versions
6+
7+
- Windows 10 (all editions)
8+
- Windows 11 (all editions)
9+
- Windows Server 2016 and later
10+
11+
## WireGuard Setup (Recommended)
12+
13+
WireGuard is the recommended VPN protocol for Windows clients due to its simplicity and performance.
14+
15+
### Installation
16+
17+
1. Download and install the official [WireGuard client for Windows](https://www.wireguard.com/install/)
18+
2. Locate your configuration file: `configs/<server-ip>/wireguard/<username>.conf`
19+
3. In the WireGuard application, click "Import tunnel(s) from file"
20+
4. Select your `.conf` file and import it
21+
5. Click "Activate" to connect to your VPN
22+
23+
### Alternative Import Methods
24+
25+
- **QR Code**: If you have access to the QR code (`wireguard/<username>.png`), you can scan it using a mobile device first, then export the configuration
26+
- **Manual Entry**: You can create a new empty tunnel and paste the contents of your `.conf` file
27+
28+
## IPsec/IKEv2 Setup (Legacy)
29+
30+
While Algo supports IPsec/IKEv2, it requires PowerShell scripts for Windows setup. WireGuard is strongly recommended instead.
31+
32+
If you must use IPsec:
33+
1. Locate the PowerShell setup script in your configs directory
34+
2. Run PowerShell as Administrator
35+
3. Execute the setup script
36+
4. The VPN connection will appear in Settings → Network & Internet → VPN
37+
38+
## Troubleshooting
39+
40+
### "The parameter is incorrect" Error
41+
42+
This is a common error that occurs when trying to connect. See the [troubleshooting guide](troubleshooting.md#windows-the-parameter-is-incorrect-error-when-connecting) for the solution.
43+
44+
### Connection Issues
45+
46+
1. **Check Windows Firewall**: Ensure Windows Firewall isn't blocking the VPN connection
47+
2. **Verify Server Address**: Make sure the server IP/domain in your configuration is correct
48+
3. **Check Date/Time**: Ensure your system date and time are correct
49+
4. **Disable Other VPNs**: Disconnect from any other VPN services before connecting
50+
51+
### WireGuard Specific Issues
52+
53+
- **DNS Not Working**: Check if "Block untunneled traffic (kill-switch)" is enabled in tunnel settings
54+
- **Slow Performance**: Try reducing the MTU in the tunnel configuration (default is 1420)
55+
- **Can't Import Config**: Ensure the configuration file has a `.conf` extension
56+
57+
### Performance Optimization
58+
59+
1. **Use WireGuard**: It's significantly faster than IPsec on Windows
60+
2. **Close Unnecessary Apps**: Some antivirus or firewall software can slow down VPN connections
61+
3. **Check Network Adapter**: Update your network adapter drivers to the latest version
62+
63+
## Advanced Configuration
64+
65+
### Split Tunneling
66+
67+
To exclude certain traffic from the VPN:
68+
1. Edit your WireGuard configuration file
69+
2. Modify the `AllowedIPs` line to exclude specific networks
70+
3. For example, to exclude local network: Remove `0.0.0.0/0` and add specific routes
71+
72+
### Automatic Connection
73+
74+
To connect automatically:
75+
1. Open WireGuard
76+
2. Select your tunnel
77+
3. Edit → Uncheck "On-demand activation"
78+
4. Windows will maintain the connection automatically
79+
80+
### Multiple Servers
81+
82+
You can import multiple `.conf` files for different Algo servers. Give each a descriptive name to distinguish them.
83+
84+
## Security Notes
85+
86+
- Keep your configuration files secure - they contain your private keys
87+
- Don't share your configuration with others
88+
- Each user should have their own unique configuration
89+
- Regularly update your WireGuard client for security patches
90+
91+
## Need More Help?
92+
93+
- Check the main [troubleshooting guide](troubleshooting.md)
94+
- Review [WireGuard documentation](https://www.wireguard.com/quickstart/)
95+
- [Create a discussion](https://github.com/trailofbits/algo/discussions) for help

docs/troubleshooting.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ First of all, check [this](https://github.com/trailofbits/algo#features) and ens
1919
* [Azure: The client xxx with object id xxx does not have authorization to perform action Microsoft.Resources/subscriptions/resourcegroups/write' over scope](#azure-deployment-permissions-error)
2020
* [Windows: The value of parameter linuxConfiguration.ssh.publicKeys.keyData is invalid](#windows-the-value-of-parameter-linuxconfigurationsshpublickeyskeydata-is-invalid)
2121
* [Docker: Failed to connect to the host via ssh](#docker-failed-to-connect-to-the-host-via-ssh)
22+
* [Windows: "The parameter is incorrect" error when connecting](#windows-the-parameter-is-incorrect-error-when-connecting)
2223
* [Error: Failed to create symlinks for deploying to localhost](#error-failed-to-create-symlinks-for-deploying-to-localhost)
2324
* [Wireguard: Unable to find 'configs/...' in expected paths](#wireguard-unable-to-find-configs-in-expected-paths)
2425
* [Ubuntu Error: "unable to write 'random state'" when generating CA password](#ubuntu-error-unable-to-write-random-state-when-generating-ca-password)
@@ -294,6 +295,43 @@ You need to add the following to the ansible.cfg in repo root:
294295
control_path_dir=/dev/shm/ansible_control_path
295296
```
296297

298+
### Windows: "The parameter is incorrect" error when connecting
299+
300+
When trying to connect to your Algo VPN on Windows 10/11, you may receive an error stating "The parameter is incorrect". This is a common issue that can usually be resolved by resetting your Windows networking stack.
301+
302+
#### Solution
303+
304+
1. **Clear the networking caches**
305+
306+
Open Command Prompt as Administrator (right-click on Command Prompt and select "Run as Administrator") and run these commands:
307+
```cmd
308+
netsh int ip reset
309+
netsh int ipv6 reset
310+
netsh winsock reset
311+
```
312+
313+
Then restart your computer.
314+
315+
2. **Reset Device Manager network adapters** (if step 1 doesn't work)
316+
317+
- Open Device Manager
318+
- Find "Network Adapters"
319+
- Uninstall all WAN Miniport drivers (IKEv2, IP, IPv6, etc.)
320+
- Click Action → Scan for hardware changes
321+
- The adapters you just uninstalled should reinstall automatically
322+
323+
Try connecting to the VPN again.
324+
325+
#### What causes this issue?
326+
327+
This error typically occurs when:
328+
- Windows networking stack becomes corrupted
329+
- After Windows updates that affect network drivers
330+
- When switching between different VPN configurations
331+
- After network-related software installations/uninstallations
332+
333+
Note: This issue has been reported by many users and the above solution has proven effective in most cases.
334+
297335
### Error: Failed to create symlinks for deploying to localhost
298336

299337
You tried to run Algo and you received an error like this one:

0 commit comments

Comments
 (0)