]> Cypherpunks.ru repositories - govpn.git/blob - doc/installation.texi
Use YAML instead of JSON for server configuration file
[govpn.git] / doc / installation.texi
1 @node Installation
2 @unnumbered Installation
3
4 Possibly GoVPN already exists in your distribution:
5
6 @itemize
7 @item @url{https://aur.archlinux.org/packages/govpn/, AUR}
8 @item @url{http://www.freshports.org/security/govpn/, FreeBSD ports}
9 @end itemize
10
11 GoVPN is written on Go programming language and you have to install Go
12 compiler (1.5+ version is highly recommended): @code{lang/go} port in
13 FreeBSD and @code{golang} package in most GNU/Linux distributions.
14 @emph{Make} is recommended for convenient building.
15 @url{https://www.gnu.org/software/texinfo/, Texinfo} is used for
16 building documentation.
17 Possibly you also need to install TUN/TAP interface utilities (depending
18 on your operating system): @code{uml-utilities} package in most
19 GNU/Linux distributions.
20
21 Included required libraries:
22
23 @multitable @columnfractions .40 .20 .40
24 @headitem Library @tab Platform @tab Licence
25 @item @code{github.com/agl/ed25519} @tab All @tab BSD 3-Clause
26 @item @code{github.com/bigeagle/water} @tab GNU/Linux @tab BSD 3-Clause
27 @item @code{github.com/dchest/blake2b} @tab All @tab CC0 1.0
28 @item @code{github.com/go-yaml/yaml} @tab All @tab LGPLv3 and MIT
29 @item @code{github.com/magical/argon2} @tab All @tab BSD 2-Clause
30 @item @code{golang.org/x/crypto} @tab All @tab BSD 3-Clause
31 @end multitable
32
33 Get @ref{Tarballs, the tarball}, check its
34 @ref{Integrity, integrity and authenticity} and run @code{make}.
35 @emph{govpn-client}, @emph{govpn-server}, @emph{govpn-verifier}
36 binaries will be built in the current directory:
37
38 @example
39 % wget http://www.cypherpunks.ru/govpn/download/govpn-2.3.tar.xz
40 % wget http://www.cypherpunks.ru/govpn/download/govpn-2.3.tar.xz.sig
41 % gpg --verify govpn-2.3.tar.xz.sig govpn-2.3.tar.xz
42 % tar xf govpn-2.3.tar.xz
43 % make -C govpn-2.3 all
44 @end example
45
46 There is @code{install} target respecting @code{DESTDIR}. It will
47 install binaries, info-documentation and utilities.
48
49 @menu
50 * Prepared tarballs: Tarballs.
51 * Tarballs integrity check: Integrity.
52 * Development source code: Sources.
53 @end menu
54
55 @include download.texi
56 @include integrity.texi
57 @include sources.texi