WireSock Gateway is a free software which allows you to start Wireguard VPN Server on Windows in just a couple of minutes.

Download
Quick Start Guide
Windows Desktop
  1. Download and install latest Wireguard Windows Client
  2. Download and install WireSock Gateway installer for the you target platform (links above).
  3. Start cmd as Administrator ad execute wg-quick-config -add -start
  4. Answer a couple of questions or accept defaults to configure the endpoint and IPv4 subnet for the WireGuard.
  5. Please don’t forget to open and forward Wireguard port (on your home router or admin panel of VPS provider), configure DDNS, etc..
  6. If you meet any issues with using your VPN after installing or updating the software then just reboot the machine.
PowerShell

Here is a way to setup WireGuard VPN Server using the command line interface, an example if you are using Windows Server Core:

  1. If you connected Windows Server Core via RDP by default it starts cmd as Administrator. Execute start powershell.exe to open the PowerShell window.
  2. Download WireGuard Windows Client:
    • Invoke-WebRequest "https://download.wireguard.com/windows-client/wireguard-amd64-x.x.x.msi" -OutFile "wireguard-amd64.msi", e.g. for the version 0.3.17:
    • Invoke-WebRequest "https://download.wireguard.com/windows-client/wireguard-amd64-0.3.17.msi" -OutFile "wireguard-amd64.msi"
  3. Download WireSock Gateway:
    • Invoke-WebRequest "http://www.wiresock.net/downloads/wiresock-gateway-x64-x.x.x.x.msi" -OutFile "wiresock-gateway-x64.msi", e.g. for the version 1.0.25.1:
    • Invoke-WebRequest "http://www.wiresock.net/downloads/wiresock-gateway-x64-1.0.25.1.msi" -OutFile "wiresock-gateway-x64.msi"
  4. Execute MsiExec.exe /i wireguard-amd64.msi DO_NOT_LAUNCH=1 /qn to install WireGuard Windows Client in silent mode
  5. Execute MsiExec.exe /i wiresock-gateway-x64.msi /qn to install WireSock Gateway. At this step you may temporarily loose connectivity to the target host.
  6. Execute $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User") to refresh environment variables.
  7. Execute wg-quick-config -add -start and follow the instructions
  8. Please don’t forget to open and forward Wireguard port (on your home router or admin panel of VPS provider), configure DDNS, etc..
  9. If you meet any issues with using your VPN after installing or updating the software then just reboot the machine.
Other useful commands
  • wg-quick-config -add -restart to add new peer and restart WireGuard tunnel
  • wg-quick-config -stop to stop WireGuard tunnel
  • wg-quick-config -start to start WireGuard tunnel
  • To switch from default PROXY mode to NAT mode start cmd as Administrator and execute the following commands:
    • wiresock-service uninstall
    • wiresock-service install -start-type 2 -mode nat -interface wiresock -log-level none
    • sc start wiresock-service
Design

WireSock Gateway package contains two main components:

  • WireSock Gateway – Windows Service which shares your Internet connection to WireGuard clients using Network Address Translation (NAT) or local transparent TCP/UDP proxy. First mode (NAT) is similar to what is normally done by using IPTABLES on Linux or by built-in Windows Internet Connection Sharing (ICS). The second one has some known stability issues with WireGuard tunnels and it was a main reason to create this alternative. However, the proxy mode demonstrates better performance and allows to utilize host proxy settings (e.g. if your host connects to the Internet via HTTPS/SOCKS5 proxy). Therefore, by default WireSock Gateway service is installed in proxy mode but if you prefer NAT then you can easily change it using the commands above. There is one little problem about proxy mode which should be mentioned, since it supports only TCP and UDP protocols the ICMP won’t work and WireGuard clients won’t be able to ping external IP addresses.
  • wg-quick-config – console application to generate initial WireGuard server and clients configurations, start/stop server WireGuard tunnel, add peers and etc..
License

WireSock Gateway is free for personal (non commercial), or educational (including non-profit organization) use.

Support

Please ask your questions here