]> Cypherpunks.ru repositories - govpn.git/blobdiff - doc/installation.texi
Replace Argon2 with Balloon hashing
[govpn.git] / doc / installation.texi
index 13d215919fbcbc194eba6f804edc6c1ffcc60fd1..01ac54b8e1cbc48aaf04a193ad7f7f08ac2c17dc 100644 (file)
@@ -1,51 +1,58 @@
 @node Installation
 @unnumbered Installation
 
-GoVPN is written on @url{http://golang.org/, Go programming language},
-@url{https://www.gnu.org/software/make/, GNU Make} is recommended for
-convenient building. @url{https://www.gnu.org/software/texinfo/, Texinfo}
-is used for building documentation.
-
-Required libraries, dependencies (they are installed automatically when
-using @emph{Make}):
+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.5+ version is highly recommended,
+1.4 is the minimal sufficient): @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): @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/poly1305} @tab All @tab BSD 3-Clause
-@item @code{golang.org/x/crypto/salsa20} @tab All @tab BSD 3-Clause
-@item @code{golang.org/x/crypto/xtea} @tab All @tab BSD 3-Clause
-@item @code{golang.org/x/crypto/pbkdf2} @tab All @tab BSD 3-Clause
 @item @code{github.com/agl/ed25519} @tab All @tab BSD 3-Clause
 @item @code{github.com/bigeagle/water} @tab GNU/Linux @tab BSD 3-Clause
+@item @code{github.com/dchest/blake2b} @tab All @tab CC0 1.0
+@item @code{github.com/go-yaml/yaml} @tab All @tab LGPLv3 and MIT
+@item @code{golang.org/x/crypto} @tab All @tab BSD 3-Clause
 @end multitable
 
-@include download.texi
+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:
 
-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.
-
-For the very first time you have to 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
-@ref{Contacts, other sources} and look for the mailing list announcements.
-
-For example you can get tarball, set proper @code{$GOPATH} and run
-@code{make} (that will install all necessary libraries and build
-@emph{govpn-client}, @emph{govpn-server}, @emph{govpn-verifier} binaries:
-
-@example
-% mkdir -p govpn/src
-% set -e
-% 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
+@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 xfC govpn-2.3.tar.xz govpn/src
-% mv govpn/src/govpn-2.3 govpn/src/govpn
-% export GOPATH=$(pwd)/govpn:$GOPATH
-% gmake -C govpn/src/govpn all
-@end example
+% tar xf govpn-2.3.tar.xz
+% make -C govpn-2.3 all
+@end verbatim
+
+There is @code{install} target respecting @env{DESTDIR}. It will
+install binaries, info-documentation and utilities.
 
-@include pubkey.texi
+@menu
+* Prepared tarballs: Tarballs.
+* Tarballs integrity check: Integrity.
+* Development source code: Sources.
+@end menu
+
+@include download.texi
+@include integrity.texi
+@include sources.texi