]> Cypherpunks.ru repositories - govpn.git/commitdiff
[DOC] Refactoring and some info on russian
authorSergey Matveev <stargrave@stargrave.org>
Sat, 29 Aug 2015 09:44:04 +0000 (12:44 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sat, 29 Aug 2015 09:50:33 +0000 (12:50 +0300)
Signed-off-by: Sergey Matveev <stargrave@stargrave.org>
22 files changed:
README
README.RU [new file with mode: 0644]
doc/about.ru.texi [new file with mode: 0644]
doc/about.texi [new file with mode: 0644]
doc/client.texi
doc/contacts.texi
doc/developer.texi
doc/download.texi
doc/example.texi
doc/govpn.texi
doc/handshake.texi
doc/installation.texi
doc/integrity.texi
doc/media.texi
doc/netproto.texi
doc/news.texi
doc/pake.texi
doc/server.texi
doc/sources.texi
doc/transport.texi
doc/user.texi
utils/makedist.sh

diff --git a/README b/README
index 6173be42fcacc5efa8ff620d25c297b79bd89572..7cbbb9470f27afad83764ac341c8ad666167ffff 100644 (file)
--- a/README
+++ b/README
@@ -1,28 +1,25 @@
-GoVPN is simple secure free software virtual private network daemon,
-aimed to be reviewable, secure, DPI/censorship-resistant, written on Go.
+GoVPN is simple free software virtual private network daemon, aimed to
+be reviewable, secure, DPI/censorship-resistant, written on Go.
 
-It uses fast strong password authenticated key agreement protocol with
-augmented mutual peers authentication (PAKE DH A-EKE). Encrypted,
-authenticated data transport that hides message's length and timestamps.
-Perfect forward secrecy property. Resistance to: offline dictionary
-attacks, replay attacks, client's passwords compromising and dictionary
-attacks on the server side. Built-in heartbeating, rehandshaking,
-real-time statistics. Ability to work through UDP, TCP and HTTP proxies.
-IPv4/IPv6-compatibility. GNU/Linux and FreeBSD support.
+It uses fast strong passphrase authenticated key agreement protocol with
+augmented zero-knowledge mutual peers authentication (PAKE DH A-EKE).
+Encrypted, authenticated data transport that hides message's length and
+timestamps. Perfect forward secrecy property. Resistance to: offline
+dictionary attacks, replay attacks, client's passphrases compromising
+and dictionary attacks on the server side. Built-in heartbeating,
+rehandshaking, real-time statistics. Ability to work through UDP, TCP
+and HTTP proxies. IPv4/IPv6-compatibility. GNU/Linux and FreeBSD support.
 
 GoVPN is free software: see the file COPYING for copying conditions.
 
-Home page: http://www.cypherpunks.ru/govpn/
+Home page: http://govpn.info/ -> http://www.cypherpunks.ru/govpn/
 also available as Tor hidden service: http://vabu56j2ep2rwv3b.onion/govpn/
 
-Please send all questions, bug reports and patches to
-govpn-devel@lists.cypherpunks.ru mailing list.
-Also it is used for announcements. Either visit
-https://lists.cypherpunks.ru/mailman/listinfo/govpn-devel for
-subscription and archive access information, or send email with the
-subject "subscribe" to govpn-devel-request@lists.cypherpunks.ru.
+Please send questions regarding the use of GoVPN, bug reports and
+patches to govpn-devel mailing list:
+https://lists.cypherpunks.ru/mailman/listinfo/govpn-devel
 
 Development Git source code repository currently is located here:
 http://git.cypherpunks.ru/cgit.cgi/govpn.git/
 
-For futher information please read either doc/govpn.info or doc/govpn.texi.
+For further information please read either doc/govpn.info or doc/govpn.texi.
diff --git a/README.RU b/README.RU
new file mode 100644 (file)
index 0000000..d6f5bfa
--- /dev/null
+++ b/README.RU
@@ -0,0 +1,31 @@
+GoVPN это простой демон виртуальных частных сетей, код которого нацелен
+на лёгкость чтения и анализа, безопасность, устойчивость к DPI/цензуре,
+написан на Go и является свободным программным обеспечением.
+
+Он использует быстрый сильный аутентифицируемый по парольной фразе
+несбалансированный протокол согласования ключей с двусторонней
+аутентификацией сторон (PAKE DH A-EKE). Зашифрованный, аутентифицируемый
+транспортный протокол передачи данных, скрывающий длины сообщений и их
+временные характеристики. Свойство совершенной прямой секретности.
+Устойчивость к: внесетевым (offline) атакам по словарю, атакам
+повторного воспроизведения (replay), компрометации клиентских парольных
+фраз на стороне сервера. Встроенные функции сердцебиения (heartbeat),
+пересогласования ключей, статистика реального времени. Возможность
+работы поверх UDP, TCP и HTTP прокси. Совместимость с IPv4 и IPv6.
+Поддержка GNU/Linux и FreeBSD.
+
+GoVPN это свободное программное обеспечением: условия распространения
+находятся в файле COPYING.
+
+Домашняя страница: http://govpn.info/ -> http://www.cypherpunks.ru/govpn/
+также доступна как скрытый сервис Tor: http://vabu56j2ep2rwv3b.onion/govpn/
+
+Пожалуйста все вопросы касающиеся использования GoVPN, отчёты об ошибках
+и патчи отправляйте в govpn-devel почтовую рассылку:
+https://lists.cypherpunks.ru/mailman/listinfo/govpn-devel/
+
+Исходный код для разработчика находится в Git репозитории:
+http://git.cypherpunks.ru/cgit.cgi/govpn.git/
+
+За большей информацией пожалуйста прочтите или doc/govpn.info или
+doc/govpn.texi.
diff --git a/doc/about.ru.texi b/doc/about.ru.texi
new file mode 100644 (file)
index 0000000..07251dd
--- /dev/null
@@ -0,0 +1,59 @@
+@node About RU
+@unnumbered Подробнее о демоне GoVPN
+
+GoVPN это простой демон виртуальных частных сетей, код которого нацелен
+на лёгкость чтения и анализа, безопасность, устойчивость к DPI/цензуре.
+
+@itemize @bullet
+@item
+Свободное программное обеспечение, копилефт: лицензировано под условиями
+@url{https://www.gnu.org/licenses/gpl-3.0.ru.html, GPLv3+}.
+@item
+Быстрый сильный аутентифицируемый по парольной фразе несбалансированный
+протокол согласования ключей с двусторонней аутентификацией сторон и
+нулевым неразглашением (PAKE DH A-EKE (Diffie-Hellman Augmented
+Encrypted Key Exchange)).
+@item
+Несбалансированные аутентификационные токены устойчивые к внесетевым
+(offline) атакам по словарю. Злоумышленник не может замаскироваться под
+клиента даже скомпрометировав базу данных токенов сервера.
+@item
+Зашифрованный и аутентифицируемый транспортный протокол передачи данных
+с 128-бит порогом безопасности, современной криптографией и
+устойчивостью к цензуре (неотличимость от шума).
+@item
+Свойство совершенной прямой секретности (perfect forward secrecy).
+@item
+Защита от атак повторного воспроизведения (replay) (используя
+одноразовые MAC).
+@item
+Встроенные функции пересогласования ключей (ротация сессионных ключей) и 
+сердцебиения (heartbeat).
+@item
+Возможность скрывать размеры пакетов полезной нагрузки путём зашумления
+данных.
+@item
+Возможность скрывать временные характеристики полезной нагрузки путём
+постоянного по скорости трафика.
+@item
+Совместимость с @url{http://egd.sourceforge.net/, EGD} (демон сборки
+энтропии) генераторами псевдослучайных чисел.
+@item
+Поддержка нескольких клиентов одновременно с специфичной для каждого
+конфигурацией. Клиенты имеют заранее установленный идентификатор,
+невидимый третьим лицам (они анонимны для них).
+@item
+Использует TAP низлежащие сетевые интерфейсы.
+@item
+Может работать поверх UDP, TCP и HTTP прокси для доступа к серверу.
+@item
+Полностью IPv4 и IPv6 совместимый.
+@item
+Опциональный встроенный HTTP-сервер для получения статистики о
+подключённых клиентах в режиме реального времени в JSON формате.
+@item
+Написан на языке Go с простым кодом, ориентированным на лёгкость чтения
+и анализа.
+@item
+Поддержка GNU/Linux и FreeBSD.
+@end itemize
diff --git a/doc/about.texi b/doc/about.texi
new file mode 100644 (file)
index 0000000..0d892e2
--- /dev/null
@@ -0,0 +1,59 @@
+GoVPN is simple free software virtual private network daemon,
+aimed to be reviewable, secure and
+@url{https://en.wikipedia.org/wiki/Deep_packet_inspection, DPI}/censorship-resistant.
+
+@itemize @bullet
+@item
+Copylefted free software: licenced under
+@url{https://www.gnu.org/licenses/gpl-3.0.html, GPLv3+}.
+@item
+Fast strong @ref{PAKE, passphrase authenticated} augmented
+@ref{Handshake, key agreement protocol} with zero-knowledge mutual peers
+authentication (PAKE DH A-EKE (Diffie-Hellman Augmented Encrypted Key
+Exchange)).
+@item
+@ref{Verifier structure, Augmented authentication tokens} resistant to
+offline dictionary attacks. An attacker can not masquerade a client
+even with server passphrase verifiers compromising.
+@item
+Encrypted and authenticated @ref{Transport, payload transport}
+with 128-bit @ref{Developer, security margin} state-of-the-art
+cryptography and censorship resistance (indistinguishability from noise).
+@item
+@url{https://en.wikipedia.org/wiki/Forward_secrecy, Perfect forward secrecy}
+property.
+@item
+Replay attack protection (using one-time MACs).
+@item
+Built-in rehandshake (session key rotation) and heartbeat features.
+@item
+Ability to hide payload packets length with the @ref{Noise, noise} data.
+@item
+Ability to hide payload timestamps with @ref{CPR, constant packet rate}
+traffic.
+@item
+Compatible with @url{http://egd.sourceforge.net/, EGD} (entropy
+gathering daemon) PRNGs.
+@item
+Several simultaneous clients support with per-client configuration
+options. Clients have pre-established @ref{Identity, identity} invisible
+for third-parties (they are anonymous).
+@item
+Uses @url{https://en.wikipedia.org/wiki/TAP_(network_driver), TAP}
+underlying network interfaces.
+@item
+Can use @ref{Network, UDP and TCP} or HTTP @ref{Proxy, proxies}
+for accessing the server.
+@item
+Fully IPv4 and IPv6 compatible.
+@item
+Optional built-in HTTP-server for retrieving real-time
+@ref{Stats, statistics} information about known connected peers in
+@url{http://json.org/, JSON} format.
+@item
+Written on @url{http://golang.org/, Go} programming language with
+simple code that can be read and reviewed.
+@item
+@url{https://www.gnu.org/, GNU}/Linux and
+@url{http://www.freebsd.org/, FreeBSD} support.
+@end itemize
index ec816c48f72d32fb76d28bca32cb94f05619a557..1ed749e746dfb3be08195bb822807ae49990c739 100644 (file)
@@ -1,4 +1,4 @@
-@node Client part
+@node Client
 @section Client part
 
 Except for common @code{-mtu}, @code{-stats}, @code{-egd}
@@ -7,7 +7,7 @@ options client has the following ones:
 @table @code
 
 @item -proto
-@ref{Network transport} to use. Can be either @emph{udp} or @emph{tcp}.
+@ref{Network, network protocol} to use. Can be either @emph{udp} or @emph{tcp}.
 
 @item -proxy
 Use specified @emph{host:port} @ref{Proxy} server for accessing remote
index 1154d8dd1fb6535d523b001c06ae8de37a18c17a..262accada3697c33adcacc580f5f5fb487b73382 100644 (file)
@@ -1,15 +1,11 @@
 @node Contacts
 @unnumbered Contacts
 
-Please send all questions, bug reports and patches to to
-@email{govpn-devel@@lists.cypherpunks.ru} mailing list.
-Announcements go to this mailing list too.
+Please send questions regarding the use of GoVPN, bug reports and patches to
+@url{https://lists.cypherpunks.ru/mailman/listinfo/govpn-devel, govpn-devel}
+mailing list. Announcements also go to this mailing list.
 
-Either visit @url{https://lists.cypherpunks.ru/mailman/listinfo/govpn-devel}
-for information about subscription options and archived messages access, or
-send email with the subject @code{subscribe} to
-@email{govpn-devel-request@@lists.cypherpunks.ru}.
-
-Official website is @url{http://www.cypherpunks.ru/govpn/}, also available
-as @url{https://www.torproject.org/, Tor} hidden service:
+Official website is @url{http://www.cypherpunks.ru/govpn/}
+(with @url{http://govpn.info/} alias), also available as
+@url{https://www.torproject.org/, Tor} hidden service:
 @url{http://vabu56j2ep2rwv3b.onion/govpn/}.
index 7ccd9270a353fbb1c9dfb46afde4acb120ae7c38..81360b26b0dde4c396d16e2b9dc12e6c34343a08 100644 (file)
@@ -1,7 +1,7 @@
-@node Developer manual
+@node Developer
 @unnumbered Developer manual
 
-Pay attention how to get @ref{Development source code}.
+Pay attention how to get @ref{Sources, development source code}.
 
 @table @asis
 @item Nonce and identity encryption
@@ -30,8 +30,8 @@ handshake.
 
 @menu
 * Verifier structure::
-* Transport protocol::
-* Handshake protocol::
+* Transport protocol: Transport.
+* Handshake protocol: Handshake.
 @end menu
 
 @include verifierstruct.texi
index 89d98b0d9f54c64ec11daa0654167bbdab1e2c17..96367a1d314be0e86428cbfa79ffe29bccaa854b 100644 (file)
@@ -1,4 +1,4 @@
-@node Prepared tarballs
+@node Tarballs
 @section Prepared tarballs
 
 You can obtain releases source code prepared tarballs from the links below:
index a2e417394bae8f72f5ff759130d30780626bd64c..9fb3ad1685383f98e7da46a738f5726c25260953 100644 (file)
@@ -1,4 +1,4 @@
-@node Example usage
+@node Example
 @section Example usage
 
 Let's assume that there is some insecure link between your computer and
index c4cd8c9a82bae4acdc2007f1e638818f427a5f23..5028324d86199a412867116efbce191926b69498 100644 (file)
@@ -4,8 +4,8 @@
 @settitle GoVPN
 
 @copying
-This manual is for GoVPN -- simple secure free software virtual private
-network daemon, aimed to be reviewable, secure, DPI/censorship-resistant,
+This manual is for GoVPN -- simple free software virtual private network
+daemon, aimed to be reviewable, secure, DPI/censorship-resistant,
 written on Go.
 
 Copyright @copyright{} 2014-2015 @email{stargrave@@stargrave.org, Sergey Matveev}
@@ -22,93 +22,36 @@ A copy of the license is included in the section entitled "Copying conditions".
 @node Top
 @top GoVPN
 
-GoVPN is simple secure free software virtual private network daemon,
-aimed to be reviewable, secure and
-@url{https://en.wikipedia.org/wiki/Deep_packet_inspection, DPI}/censorship-resistant.
-
-@itemize @bullet
-@item
-Copylefted free software: licensed under
-@url{https://www.gnu.org/licenses/gpl-3.0.html, GPLv3+}.
-@item
-Fast strong @ref{PAKE, password authenticated} augmented key agreement
-(PAKE DH A-EKE) @ref{Handshake protocol, handshake}.
-@item
-Mutual two-side zero-knowledge peers authentication.
-@item
-@ref{Verifier structure, Augmented authentication tokens} resistant to
-offline dictionary attacks. An attacker can not masquerade a client
-even with server password verifiers compromising.
-@item
-Encrypted and authenticated @ref{Transport protocol, payload transport}
-with 128-bit @ref{Developer manual, security margin} state-of-the-art
-cryptography and censorship resistance (indistinguishability from noise).
-@item
-@url{https://en.wikipedia.org/wiki/Forward_secrecy, Perfect forward secrecy}
-property.
-@item
-Replay attack protection (using one-time MACs).
-@item
-Built-in rehandshake (session key rotation) and heartbeat features.
-@item
-Ability to hide payload packets length with the @ref{Noise, noise} data.
-@item
-Ability to hide payload timestamps with @ref{CPR, constant packet rate}
-traffic.
-@item
-Compatible with @url{http://egd.sourceforge.net/, EGD} (entropy
-gathering daemon) PRNGs.
-@item
-Several simultaneous clients support with per-client configuration
-options. Clients have pre-established @ref{Identity, identity} invisible
-for third-parties (they are anonymous).
-@item
-Uses @url{https://en.wikipedia.org/wiki/TAP_(network_driver), TAP}
-underlying network interfaces.
-@item
-Can use @ref{Network transport, UDP and TCP} or HTTP @ref{Proxy, proxies}
-for accessing the server.
-@item
-Fully IPv4 and IPv6 compatible.
-@item
-Optional built-in HTTP-server for retrieving
-@ref{Stats, statistics} information about known connected peers in
-@url{http://json.org/, JSON} format.
-@item
-Written on on @url{http://golang.org/, Go} programming language with
-simple code that can be read and reviewed.
-@item
-@url{https://www.gnu.org/, GNU}/Linux and
-@url{http://www.freebsd.org/, FreeBSD} support.
-@end itemize
-
-@include media.texi
+@include about.texi
 
 @menu
+* Подробнее о демоне: About RU.
 * News::
+* In the media: Media.
 * Installation::
 * Precautions::
-* User manual::
-* Developer manual::
-* Contacts::
-* Copying conditions::
+* User manual: User.
+* Developer manual: Developer.
+* Contacts and feedback: Contacts.
 * Thanks::
 * TODO::
+* Copying conditions::
 @end menu
 
+@include about.ru.texi
 @include news.texi
+@include media.texi
 @include installation.texi
 @include precautions.texi
 @include user.texi
 @include developer.texi
 @include contacts.texi
+@include thanks.texi
+@include todo.texi
 
 @node Copying conditions
 @unnumbered Copying conditions
 
 @insertcopying
 @verbatiminclude fdl.txt
-
-@include thanks.texi
-@include todo.texi
 @bye
index 0b7f4bd840dea447bbaaab0d5e895c26f59165b9..0fb850a3ee423af976ce3d32de80374d4fdd8767 100644 (file)
@@ -1,4 +1,4 @@
-@node Handshake protocol
+@node Handshake
 @section Handshake protocol
 
 @verbatiminclude handshake.utxt
index 3d496e3ead62c6a7fc6af5bd219463e7002958d7..15108317699388ea272c491a3063e750a94a2277 100644 (file)
@@ -20,8 +20,8 @@ Included required libraries:
 @item @code{github.com/bigeagle/water} @tab GNU/Linux @tab BSD 3-Clause
 @end multitable
 
-Get @ref{Prepared tarballs, the tarball}, check its
-@ref{Tarballs integrity check, authenticity} and run @code{make}.
+Get @ref{Tarballs, the tarball}, check its
+@ref{Integrity, integrity and authenticity} and run @code{make}.
 @emph{govpn-client}, @emph{govpn-server}, @emph{govpn-verifier}
 binaries will be built in the current directory:
 
@@ -37,11 +37,11 @@ There is @code{install} target respecting @code{DESTDIR}. It will
 install binaries, info-documentation and utilities.
 
 @menu
-* Prepared tarballs::
-* Development source code::
-* Tarballs integrity check::
+* Prepared tarballs: Tarballs.
+* Tarballs integrity check: Integrity.
+* Development source code: Sources.
 @end menu
 
 @include download.texi
-@include sources.texi
 @include integrity.texi
+@include sources.texi
index 01badc5e008af03bf8eb4c866aeb73f2d5e4cd15..dc51aafc4f75df0a1bd5f8bd1ef129a3ae9b6b8e 100644 (file)
@@ -1,11 +1,11 @@
-@node Tarballs integrity check
+@node Integrity
 @section Tarballs integrity check
 
 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.
+download signature (.sig) provided with the tarball.
 
 For the very first time you need to import signing public keys. They
 are provided below, but be sure that you are reading them from the
index c69d35aaffb8b0e5c57761e0d69e2314886acd0d..9423086187e0c00df58dff109e2525f8f1b5b4b4 100644 (file)
@@ -1,4 +1,5 @@
-In the media:
+@node Media
+@unnumbered In the media
 
 @itemize @bullet
 @item @url{http://habrahabr.ru/company/ivi/blog/256365/, Реализуем безопасный VPN-протокол} (on russian)
index 083e83359e4ea9d68b4784465be64676b9cb793a..3aef447e4997fcc02890310e1b5cd9aeb867d734 100644 (file)
@@ -1,4 +1,4 @@
-@node Network transport
+@node Network
 @section Network transport
 
 You can use either UDP or TCP underlying network transport protocols.
index 9eacc0f9129eda41e25616d26437ede13076505a..59adb6cf65b1afa89ab542787a995142258b601c 100644 (file)
@@ -5,7 +5,7 @@
 
 @item Release 3.5
 @itemize @bullet
-@item Ability to use @ref{Network transport, TCP} network transport.
+@item Ability to use @ref{Network, TCP} network transport.
 Server can listen on both UDP and TCP sockets.
 @item Ability to use @ref{Proxy, HTTP proxies} (through CONNECT method)
 for accessing the server. Server can also emulate HTTP proxy behaviour.
@@ -96,7 +96,7 @@ JSON of all known connected peers information. Real-time client's
 statistics.
 
 @item
-Documentation is explicitly licensed under GNU FDL 1.3+.
+Documentation is explicitly licenced under GNU FDL 1.3+.
 @end itemize
 
 @item Release 2.3
index e96ad1ae8f9784117e99bee5b2a2b8e314afbc82..d2cb77351f7aed884dddae82efdf2807371e4645 100644 (file)
@@ -6,7 +6,7 @@ client-server authentication. Is is secure, but not convenient for some
 user use-cases:
 
 @itemize @bullet
-@item Compromising of password files on either server or client side
+@item Compromising of passphrase files on either server or client side
 allows attacker to masquerade himself a client.
 @item To prevent compromising of keys on the client side, one needs some
 kind of passphrase protected secure storage (like either PGP with
@@ -15,7 +15,7 @@ decryption to the memory, or full-disk encryption).
 
 Overall security on the client side is concentrated in passphrase
 (high-entropy password), so it is convenient to use it in GoVPN
-directly, without static on-disk keys. That is why we use password
+directly, without static on-disk keys. That is why we use passphrase
 authenticated key agreement.
 
 We use "passphrase" term instead of "password". Technically there may be
index e86d86a3b5155f3f8430553084f61e35b1299683..a9ce065ddbfeb45ca1afcb5de1241dda3eb148a0 100644 (file)
@@ -1,4 +1,4 @@
-@node Server part
+@node Server
 @section Server part
 
 Except for common @code{-mtu}, @code{-stats}, @code{-egd} options server
@@ -7,7 +7,8 @@ has the following ones:
 @table @code
 
 @item -proto
-@ref{Network transport} to use. Can be @emph{udp}, @emph{tcp} or @emph{all}.
+@ref{Network, network protocol} to use. Can be @emph{udp},
+@emph{tcp} or @emph{all}.
 
 @item -bind
 Address (@code{host:port} format) we must bind to.
index 3b7e02cf613aae84fa5fa9e1ae65252886bd4f3a..273cbc479cfc27528b598331cf74ec9abcc53829 100644 (file)
@@ -1,10 +1,10 @@
-@node Development source code
+@node Sources
 @section Development source code
 
 Development source code contains the latest version of the code. It may
 be buggy. It does not contain compiled documentation and dependent
 libraries source code. Because of that, it is not recommended for
-porters: use @ref{Prepared tarballs} instead.
+porters: use @ref{Tarballs} instead.
 
 You can obtain it by cloning Git repository and fetching dependent
 libraries source code as git submodules:
index 51dc9de50a03eb6bae6ab8d228144ea7eca31221..a15ae90c0e084a800898f4d6379d9adce7aec29b 100644 (file)
@@ -1,4 +1,4 @@
-@node Transport protocol
+@node Transport
 @section Transport protocol
 
 @verbatim
index 0d237a0130aeae9b7ec3d6ecea833172c42e663a..9a5a02516450a173d005bd4b4d45ed66dc69b90c 100644 (file)
@@ -1,4 +1,4 @@
-@node User manual
+@node User
 @unnumbered User manual
 
 Announcements about updates and new releases can be found in @ref{Contacts}.
@@ -18,16 +18,16 @@ with @emph{Go 1.5} gives 435 Mbps TCP (over UDP) throughput.
 * Identity::
 * PAKE:: Password Authenticated Key Agreement
 * Timeout::
-* Network transport::
+* Network transport: Network.
 * Proxy::
 * MTU:: Maximum Transmission Unit
 * Stats::
 * Noise::
 * CPR:: Constant Packet Rate
 * Verifier::
-* Client part::
-* Server part::
-* Example usage::
+* Client part: Client.
+* Server part: Server.
+* Example usage: Example.
 @end menu
 
 @include egd.texi
index 00ba9ac90bbb3ce36a1682d6cd844414bb92c7dd..fe7de48fa8ee233a5a6026b5993af4494bc4c38e 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/sh -ex
 
+[ -n "$SHA256" ] || SHA256=sha256
+
 cur=$(pwd)
 tmp=$(mktemp -d)
 release=$1
@@ -47,3 +49,102 @@ tar cvf govpn-"$release".tar govpn-"$release"
 xz -9 govpn-"$release".tar
 gpg --detach-sign --sign --local-user F2F59045FFE2F4A1 govpn-"$release".tar.xz
 mv $tmp/govpn-"$release".tar.xz $tmp/govpn-"$release".tar.xz.sig $cur/doc/govpn.html/download
+
+tarball=$cur/doc/govpn.html/download/govpn-"$release".tar.xz
+size=$(( $(cat $tarball | wc -c) / 1024 ))
+hash=$($SHA256 $tarball | sed 's/^.*\([0-9a-f]\{64\}\).*$/\1/')
+cat <<EOF
+An entry for documentation:
+@item $release @tab $size KiB
+@tab @url{download/govpn-${release}.tar.xz, link} @url{download/govpn-${release}.tar.xz.sig, sign}
+@tab @code{$hash}
+EOF
+
+cd $cur
+
+cat <<EOF
+Subject: [EN] GoVPN $release release announcement
+
+I am pleased to announce GoVPN $release release availability!
+
+GoVPN is simple free software virtual private network daemon, aimed to
+be reviewable, secure, DPI/censorship-resistant, written on Go.
+
+It uses fast strong passphrase authenticated key agreement protocol with
+augmented zero-knowledge mutual peers authentication (PAKE DH A-EKE).
+Encrypted, authenticated data transport that hides message's length and
+timestamps. Perfect forward secrecy property. Resistance to: offline
+dictionary attacks, replay attacks, client's passphrases compromising
+and dictionary attacks on the server side. Built-in heartbeating,
+rehandshaking, real-time statistics. Ability to work through UDP, TCP
+and HTTP proxies. IPv4/IPv6-compatibility. GNU/Linux and FreeBSD support.
+
+----------------8<-----------------8<-----------------8<----------------
+
+The main improvements for that release are:
+
+$(git cat-file -p $release | sed -n '6,/^.*BEGIN/p' | sed '$d')
+
+----------------8<-----------------8<-----------------8<----------------
+
+GoVPN's home page is: http://govpn.info -> http://www.cypherpunks.ru/govpn/
+also available as Tor hidden service: http://vabu56j2ep2rwv3b.onion/govpn/
+
+Source code and its signature for that version can be found here:
+
+    http://www.cypherpunks.ru/govpn/download/govpn-${release}.tar.xz ($size KiB)
+    http://www.cypherpunks.ru/govpn/download/govpn-${release}.tar.xz.sig
+
+SHA256 hash: $hash
+GPG key ID: 0xF2F59045FFE2F4A1 GoVPN release signing key
+Fingerprint: D269 9B73 3C41 2068 D8DA  656E F2F5 9045 FFE2 F4A1
+
+Please send questions regarding the use of GoVPN, bug reports and patches
+to mailing list: https://lists.cypherpunks.ru/mailman/listinfo/govpn-devel/
+EOF
+
+cat <<EOF
+Subject: [RU] Состоялся релиз GoVPN $release
+
+Я рад сообщить о выходе релиза GoVPN $release!
+
+GoVPN это простой демон виртуальных частных сетей, код которого нацелен
+на лёгкость чтения и анализа, безопасность, устойчивость к DPI/цензуре,
+написан на Go и является свободным программным обеспечением.
+
+Он использует быстрый сильный аутентифицируемый по парольной фразе
+несбалансированный протокол согласования ключей с двусторонней
+аутентификацией сторон (PAKE DH A-EKE). Зашифрованный, аутентифицируемый
+транспортный протокол передачи данных, скрывающий длины сообщений и их
+временные характеристики. Свойство совершенной прямой секретности.
+Устойчивость к: внесетевым (offline) атакам по словарю, атакам
+повторного воспроизведения (replay), компрометации клиентских парольных
+фраз на стороне сервера. Встроенные функции сердцебиения (heartbeat),
+пересогласования ключей, статистика реального времени. Возможность
+работы поверх UDP, TCP и HTTP прокси. Совместимость с IPv4 и IPv6.
+Поддержка GNU/Linux и FreeBSD.
+
+----------------8<-----------------8<-----------------8<----------------
+
+Основные усовершенствования в этом релизе:
+
+$(git cat-file -p $release | sed -n '6,/^.*BEGIN/p' | sed '$d')
+
+----------------8<-----------------8<-----------------8<----------------
+
+Домашняя страница GoVPN: http://govpn.info -> http://www.cypherpunks.ru/govpn/
+также доступна как скрытый сервис Tor: http://vabu56j2ep2rwv3b.onion/govpn/
+
+Исходный код и его подпись для этой версии находится здесь:
+
+    http://www.cypherpunks.ru/govpn/download/govpn-${release}.tar.xz ($size KiB)
+    http://www.cypherpunks.ru/govpn/download/govpn-${release}.tar.xz.sig
+
+SHA256 хэш: $hash
+Идентификатор GPG ключа: 0xF2F59045FFE2F4A1 GoVPN release signing key
+Отпечаток: D269 9B73 3C41 2068 D8DA  656E F2F5 9045 FFE2 F4A1
+
+Пожалуйста все вопросы касающиеся использования GoVPN, отчёты об ошибках
+и патчи отправляйте в govpn-devel почтовую рассылку:
+https://lists.cypherpunks.ru/mailman/listinfo/govpn-devel/
+EOF