diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-04-26 08:34:45 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-04-26 08:39:12 +0200 |
commit | 26670c42f0844c1eae5bf5f06b04ceb9fa258a80 (patch) | |
tree | c00956a2b6a522e78b36a3861c782c7fc4b3579e /README.md | |
parent | ui: remove leftover cruft from confview (diff) | |
download | wireguard-windows-26670c42f0844c1eae5bf5f06b04ceb9fa258a80.tar.xz wireguard-windows-26670c42f0844c1eae5bf5f06b04ceb9fa258a80.zip |
README: improve documentation
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 52 |
1 files changed, 31 insertions, 21 deletions
@@ -1,17 +1,10 @@ # [WireGuard](https://www.wireguard.com/) for Windows -Nothing to see here yet. Come back later. +This is a fully-featured WireGuard client for Windows that uses [Wintun](https://www.wintun.net/). -### Requirements +### Building - - [Wintun](https://git.zx2c4.com/wintun) (at runtime) - - [Go ≥1.12.2](https://golang.org/) (for compilation) - - [Mingw](http://www.mingw.org/) (for compilation) - - [Signtool](https://docs.microsoft.com/sl-si/windows/desktop/SecCrypto/signtool) (for signing) - -### Building on Windows - -The build script will take care of downloading, verifying, and extracting the right versions of Go and Mingw: +Windows 10 64-bit is required. The build script will take care of downloading, verifying, and extracting the right versions of the various dependencies: ``` C:\Projects> git clone https://git.zx2c4.com/wireguard-windows @@ -19,26 +12,26 @@ C:\Projects> cd wireguard-windows C:\Projects\wireguard-windows> build ``` -### Building on Linux +### Running -You must first have Go and Mingw installed. +After you've built the application, run `amd64\wireguard.exe` or `x86\wireguard.exe` to install the manager service and show the UI. ``` -$ sudo apt install mingw-w64 golang-go -$ git clone https://git.zx2c4.com/wireguard-windows -$ cd wireguard-windows -$ make +C:\Projects\wireguard-windows> amd64\wireguard.exe ``` -### Running +Since WireGuard requires the Wintun driver to be installed, and this generally requires a valid Microsoft signature, you may benefit from first installing a release of WireGuard for Windows from the official [wireguard.com](https://www.wireguard.com/install/) builds, which bundles a Microsoft-signed Wintun, and then subsequently run your own wireguard.exe. -After you've built the application, run `amd64\wireguard.exe` or `x86\wireguard.exe` to install the manager service and show the UI. +### Optional: Creating the Installer + +The installer build script will take care of downloading, verifying, and extracting the right versions of the various dependencies: ``` -C:\Projects\wireguard-windows> amd64\wireguard.exe +C:\Projects\wireguard-windows> cd installer +C:\Projects\wireguard-windows\installer> build ``` -### Signing Binaries +### Optional: Signing Binaries Add a file called `sign.bat` in the root of this repository with these contents, or similar: @@ -47,4 +40,21 @@ set SigningCertificate=DF98E075A012ED8C86FBCF14854B8F9555CB3D45 set TimestampServer=http://timestamp.digicert.com ``` -After, run `build.bat` as usual, from a shell that has `signtool.exe` in its `PATH`. +After, run the above `build` commands as usual, from a shell that has [`signtool.exe`](https://docs.microsoft.com/sl-si/windows/desktop/SecCrypto/signtool) in its `PATH`, such as the Visual Studio 2017 command prompt. + +### Alternative: Building from Linux + +You must first have Go and Mingw installed. + +``` +$ sudo apt install mingw-w64 golang-go +$ git clone https://git.zx2c4.com/wireguard-windows +$ cd wireguard-windows +$ make +``` + +You can deploy the 64-bit build to an SSH host specified by the `DEPLOYMENT_HOST` environment variable (default "winvm") to the remote directory specified by the `DEPLOYMENT_PATH` environment variable (default "Desktop") by using the `deploy` target: + +``` +$ make deploy +``` |