aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/README.md
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-04-26 08:34:45 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2019-04-26 08:39:12 +0200
commitd07a85cb19132534968115dd40f7d05aebc48ab4 (patch)
treec00956a2b6a522e78b36a3861c782c7fc4b3579e /README.md
parentui: remove leftover cruft from confview (diff)
downloadwireguard-windows-d07a85cb19132534968115dd40f7d05aebc48ab4.tar.xz
wireguard-windows-d07a85cb19132534968115dd40f7d05aebc48ab4.zip
README: improve documentation
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'README.md')
-rw-r--r--README.md52
1 files changed, 31 insertions, 21 deletions
diff --git a/README.md b/README.md
index d0cb04a8..1833dbb0 100644
--- a/README.md
+++ b/README.md
@@ -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
+```