@node Installation @unnumbered Installation GoVPN is written on Go programming language, But @url{https://www.gnu.org/software/make/, Make} program is recommended also to be used. @url{https://www.gnu.org/software/texinfo/, Texinfo} is used for building documentation. Also it depends on @code{golang.org/x/crypto} Go libraries. @include download.texi You @strong{have to} verify downloaded archives integrity and check their signature to be sure that you have got trusted, untampered software. For integrity and authentication of downloaded binaries @url{https://www.gnupg.org/, The GNU Privacy Guard} is used. You must download signature provided with the tarball and run for example: @example gpg --verify govpn-1.5.tar.xz.sig govpn-1.5.tar.xz @end example For the very first time you must also import signing public keys. They are provided below, but be sure that you are reading them from the trusted source. Alternatively check this page from other sources and look for the mailing list announcements. You have to set up @code{$GOPATH} properly first. For example you can clone the repository or decompress tarball and set path like this: @example % mkdir -p govpn/src % git clone https://github.com/stargrave/govpn.git govpn/src/govpn or % tar xfC govpn-1.5.tar.xz govpn/src && mv govpn/src/govpn-1.5 govpn/src/govpn % export GOPATH=$(pwd)/govpn:$GOPATH @end example After that you can just type @code{make} and all necessary Go libraries will be installed and client/server binaries are built in the current directory: @example % cd govpn/src/govpn % make [or gmake under FreeBSD] @end example @include pubkey.texi