n2n/doc/Windows.md
Felix Pojtinger 8d64ed3ff8
Standardize documentation (#211)
* Use Markdown for Android build docs, fix typos

* Format and correct syntax errors/irregularities in existing Markdown documents

* Convert `txt`-based docs to Markdown, update macOS instructions

* Use GitHub conventions for README, fix typos, add link to `gon2n`

* Fix case sensitivity issues
2020-03-28 19:24:34 +00:00

2.2 KiB

Build on Windows

Requirements

In order to build on Windows the following tools should be installed:

  • Visual Studio. For a minimal install, the command line only build tools can be downloaded and installed from https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2017

  • Cmake

  • (optional) The OpenSSL library. Prebuild binaries can be downloaded from https://slproweb.com/products/Win32OpenSSL.html . The full version is required (not the "Light" version). The Win32 version of it is usually required for a standard build.

    NOTE: in order to skip OpenSSL compilation, edit CMakeLists.txt and replace

    OPTION(N2N_OPTION_AES "USE AES" ON)
    with
    OPTION(N2N_OPTION_AES "USE AES" OFF)
    

    NOTE: to static link OpenSSL, add the -DOPENSSL_USE_STATIC_LIBS=true option to the cmake command

In order to run n2n:

  • The TAP drivers should be installed into the system. They can be installed from http://build.openvpn.net/downloads/releases (search for "tap-windows")
  • If OpenSSL has been linked dynamically, the corresponding .dll file should be available into the target computer

Build (CLI)

In order to build from the command line, open a terminal window and run the following commands:

md build
cd build
cmake ..

MSBuild edge.vcxproj /t:Build /p:Configuration=Release
MSBuild supernode.vcxproj /t:Build /p:Configuration=Release

NOTE: if cmake has problems finding the installed OpenSSL library, try to download the official cmake and invoke it with: C:\Program Files\CMake\bin\cmake

The compiled exe files should now be available under the Release directory.

Run

The edge.exe program reads the edge.conf file located into the current directory if no option is provided.

Here is an example edge.conf file:

-c=mycommunity
-k=mysecretkey

# supernode IP address
-l=1.2.3.4:5678

# edge IP address
-a=192.168.100.1

The supernode.exe program reads the supernode.conf file located into the current directory if no option is provided.

Here is an example supernode.conf file:

-l=5678

See edge.exe --help and supernode.exe --help for a list of supported options.