]> Cypherpunks.ru repositories - govpn.git/blob - doc/govpn.texi
c4cd8c9a82bae4acdc2007f1e638818f427a5f23
[govpn.git] / doc / govpn.texi
1 \input texinfo
2 @setfilename govpn.info
3 @documentencoding UTF-8
4 @settitle GoVPN
5
6 @copying
7 This manual is for GoVPN -- simple secure free software virtual private
8 network daemon, aimed to be reviewable, secure, DPI/censorship-resistant,
9 written on Go.
10
11 Copyright @copyright{} 2014-2015 @email{stargrave@@stargrave.org, Sergey Matveev}
12
13 @quotation
14 Permission is granted to copy, distribute and/or modify this document
15 under the terms of the GNU Free Documentation License, Version 1.3
16 or any later version published by the Free Software Foundation;
17 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
18 A copy of the license is included in the section entitled "Copying conditions".
19 @end quotation
20 @end copying
21
22 @node Top
23 @top GoVPN
24
25 GoVPN is simple secure free software virtual private network daemon,
26 aimed to be reviewable, secure and
27 @url{https://en.wikipedia.org/wiki/Deep_packet_inspection, DPI}/censorship-resistant.
28
29 @itemize @bullet
30 @item
31 Copylefted free software: licensed under
32 @url{https://www.gnu.org/licenses/gpl-3.0.html, GPLv3+}.
33 @item
34 Fast strong @ref{PAKE, password authenticated} augmented key agreement
35 (PAKE DH A-EKE) @ref{Handshake protocol, handshake}.
36 @item
37 Mutual two-side zero-knowledge peers authentication.
38 @item
39 @ref{Verifier structure, Augmented authentication tokens} resistant to
40 offline dictionary attacks. An attacker can not masquerade a client
41 even with server password verifiers compromising.
42 @item
43 Encrypted and authenticated @ref{Transport protocol, payload transport}
44 with 128-bit @ref{Developer manual, security margin} state-of-the-art
45 cryptography and censorship resistance (indistinguishability from noise).
46 @item
47 @url{https://en.wikipedia.org/wiki/Forward_secrecy, Perfect forward secrecy}
48 property.
49 @item
50 Replay attack protection (using one-time MACs).
51 @item
52 Built-in rehandshake (session key rotation) and heartbeat features.
53 @item
54 Ability to hide payload packets length with the @ref{Noise, noise} data.
55 @item
56 Ability to hide payload timestamps with @ref{CPR, constant packet rate}
57 traffic.
58 @item
59 Compatible with @url{http://egd.sourceforge.net/, EGD} (entropy
60 gathering daemon) PRNGs.
61 @item
62 Several simultaneous clients support with per-client configuration
63 options. Clients have pre-established @ref{Identity, identity} invisible
64 for third-parties (they are anonymous).
65 @item
66 Uses @url{https://en.wikipedia.org/wiki/TAP_(network_driver), TAP}
67 underlying network interfaces.
68 @item
69 Can use @ref{Network transport, UDP and TCP} or HTTP @ref{Proxy, proxies}
70 for accessing the server.
71 @item
72 Fully IPv4 and IPv6 compatible.
73 @item
74 Optional built-in HTTP-server for retrieving
75 @ref{Stats, statistics} information about known connected peers in
76 @url{http://json.org/, JSON} format.
77 @item
78 Written on on @url{http://golang.org/, Go} programming language with
79 simple code that can be read and reviewed.
80 @item
81 @url{https://www.gnu.org/, GNU}/Linux and
82 @url{http://www.freebsd.org/, FreeBSD} support.
83 @end itemize
84
85 @include media.texi
86
87 @menu
88 * News::
89 * Installation::
90 * Precautions::
91 * User manual::
92 * Developer manual::
93 * Contacts::
94 * Copying conditions::
95 * Thanks::
96 * TODO::
97 @end menu
98
99 @include news.texi
100 @include installation.texi
101 @include precautions.texi
102 @include user.texi
103 @include developer.texi
104 @include contacts.texi
105
106 @node Copying conditions
107 @unnumbered Copying conditions
108
109 @insertcopying
110 @verbatiminclude fdl.txt
111
112 @include thanks.texi
113 @include todo.texi
114 @bye