@node Installation @unnumbered Installation Possibly GoVPN already exists in your distribution: @itemize @item @url{https://aur.archlinux.org/packages/govpn/, AUR} @item @url{http://www.freshports.org/security/govpn/, FreeBSD ports} @end itemize GoVPN is written on Go programming language and you have to install Go compiler (1.5+ version is highly recommended): @code{lang/go} port in FreeBSD and @code{golang} package in most GNU/Linux distributions. @emph{Make} is recommended for convenient building. @url{https://www.gnu.org/software/texinfo/, Texinfo} is used for building documentation. Possibly you also need to install TUN/TAP interface utilities (depending on your operating system): @code{uml-utilities} package in most GNU/Linux distributions. Included required libraries: @multitable @columnfractions .40 .20 .40 @headitem Library @tab Platform @tab Licence @item @code{golang.org/x/crypto} @tab All @tab BSD 3-Clause @item @code{github.com/agl/ed25519} @tab All @tab BSD 3-Clause @item @code{github.com/dchest/blake2b} @tab All @tab CC0 1.0 @item @code{github.com/magical/argon2} @tab All @tab BSD 2-Clause @item @code{github.com/bigeagle/water} @tab GNU/Linux @tab BSD 3-Clause @end multitable Get @ref{Tarballs, the tarball}, check its @ref{Integrity, integrity and authenticity} and run @code{make}. @emph{govpn-client}, @emph{govpn-server}, @emph{govpn-verifier} binaries will be built in the current directory: @example % wget http://www.cypherpunks.ru/govpn/download/govpn-2.3.tar.xz % wget http://www.cypherpunks.ru/govpn/download/govpn-2.3.tar.xz.sig % gpg --verify govpn-2.3.tar.xz.sig govpn-2.3.tar.xz % tar xf govpn-2.3.tar.xz % make -C govpn-2.3 all @end example There is @code{install} target respecting @code{DESTDIR}. It will install binaries, info-documentation and utilities. @menu * Prepared tarballs: Tarballs. * Tarballs integrity check: Integrity. * Development source code: Sources. @end menu @include download.texi @include integrity.texi @include sources.texi