X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Finstallation.texi;h=1f8a74c36bf06b4a70a4965f2c595b21d6b554c8;hb=c982ccb214ba8d0fd8a30dee7439ea2db1559f6f;hp=13d215919fbcbc194eba6f804edc6c1ffcc60fd1;hpb=e7ba034dd3beb3f8f54c4d2e0f858eb23f58c147;p=govpn.git diff --git a/doc/installation.texi b/doc/installation.texi index 13d2159..1f8a74c 100644 --- a/doc/installation.texi +++ b/doc/installation.texi @@ -1,51 +1,47 @@ @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}): - -@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 -@end multitable +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 -@include download.texi +There is @command{install} target respecting @env{DESTDIR}. +It will install binaries, info-documentation and utilities. -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 -% 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 +@menu +* Prepared tarballs: Tarballs. +* Tarballs integrity check: Integrity. +* Development source code: Sources. +@end menu -@include pubkey.texi +@include download.texi +@include integrity.texi +@include sources.texi