@node Installation
@unnumbered Installation

Possibly GoVPN already exists in your distribution:

@itemize
@item @url{https://aur.archlinux.org/packages/govpn/, Arch Linux AUR}
@item @url{http://www.freshports.org/security/govpn/, FreeBSD ports}
@item @url{https://gpo.zugaina.org/net-misc/govpn, Gentoo Portage Overlay}
@item @url{https://pkgs.org/download/govpn, openSUSE OSS}
@end itemize

GoVPN is written on @url{https://golang.org/, Go} programming language
and you have to install Go compiler 1.9+ version: @code{lang/go} port in
FreeBSD and @code{golang} package in most GNU/Linux distributions.
@emph{Make} (BSD and GNU ones are fine) is recommended for convenient
building. @url{https://www.gnu.org/software/texinfo/, Texinfo} (6.1+
version is recommended) is used for building documentation. Possibly you
also need to install TUN/TAP interface utilities (depending on your
operating system): @command{uml-utilities} package in most GNU/Linux
distributions.

Get @ref{Tarballs, the tarball}, check its
@ref{Integrity, integrity and authenticity} and run @command{make}.
@emph{govpn-client}, @emph{govpn-server}, @emph{govpn-verifier}
binaries will be built in the current directory:

@verbatim
% wget http://www.govpn.info/download/govpn-2.3.tar.xz
% wget http://www.govpn.info/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 verbatim

There is @command{install} target respecting @env{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
