]> Cypherpunks.ru repositories - govpn.git/blob - utils/makedist.sh
[DOC] Shorter cut
[govpn.git] / utils / makedist.sh
1 #!/bin/sh -ex
2
3 cur=$(pwd)
4 tmp=$(mktemp -d)
5 release=$1
6 [ -n "$release" ]
7
8 git clone . $tmp/govpn-$release
9 repos="
10     src/cypherpunks.ru/balloon
11     src/github.com/agl/ed25519
12     src/github.com/bigeagle/water
13     src/github.com/dchest/blake2b
14     src/github.com/go-yaml/yaml
15     src/golang.org/x/crypto
16 "
17 for repo in $repos; do
18     git clone $repo $tmp/govpn-$release/$repo
19 done
20 cd $tmp/govpn-$release
21 git checkout $release
22 git submodule update --init
23
24 cat > $tmp/includes <<EOF
25 golang.org/x/crypto/AUTHORS
26 golang.org/x/crypto/CONTRIBUTORS
27 golang.org/x/crypto/LICENSE
28 golang.org/x/crypto/PATENTS
29 golang.org/x/crypto/README
30 golang.org/x/crypto/curve25519
31 golang.org/x/crypto/poly1305
32 golang.org/x/crypto/salsa20
33 golang.org/x/crypto/ssh/terminal
34 golang.org/x/crypto/xtea
35 EOF
36 tar cfCI - src $tmp/includes | tar xfC - $tmp
37 rm -fr src/golang.org
38 mv $tmp/golang.org src/
39 rm -fr $tmp/golang.org $tmp/includes
40
41 cat > doc/download.texi <<EOF
42 @node Tarballs
43 @section Prepared tarballs
44 You can obtain releases source code prepared tarballs on
45 @url{http://www.govpn.info/}.
46 EOF
47 make -C doc
48 rm -r doc/.well-known doc/govpn.html/.well-known
49
50 rm utils/makedist.sh
51 find . -name .git -type d | xargs rm -fr
52 find . -name .gitignore -delete
53
54 cd ..
55 tar cvf govpn-"$release".tar govpn-"$release"
56 xz -9 govpn-"$release".tar
57 gpg --detach-sign --sign --local-user F2F59045FFE2F4A1 govpn-"$release".tar.xz
58 mv $tmp/govpn-"$release".tar.xz $tmp/govpn-"$release".tar.xz.sig $cur/doc/govpn.html/download
59
60 tarball=$cur/doc/govpn.html/download/govpn-"$release".tar.xz
61 size=$(( $(cat $tarball | wc -c) / 1024 ))
62 hash=$(gpg --print-md SHA256 < $tarball)
63 cat <<EOF
64 An entry for documentation:
65 @item @ref{Release $release, $release} @tab $size KiB
66 @tab @url{download/govpn-${release}.tar.xz, link} @url{download/govpn-${release}.tar.xz.sig, sign}
67 @tab @code{$hash}
68 EOF
69
70 cd $cur
71
72 cat <<EOF
73 Subject: [EN] GoVPN $release release announcement
74
75 I am pleased to announce GoVPN $release release availability!
76
77 GoVPN is simple free software virtual private network daemon, aimed to
78 be reviewable, secure, DPI/censorship-resistant, written on Go.
79
80 It uses fast strong passphrase authenticated key agreement protocol with
81 augmented zero-knowledge mutual peers authentication (PAKE DH A-EKE).
82 Encrypted, authenticated data transport that hides message's length and
83 timestamps. Optional encryptionless mode, that still preserves data
84 confidentiality. Perfect forward secrecy property. Resistance to:
85 offline dictionary attacks, replay attacks, client's passphrases
86 compromising and dictionary attacks on the server side. Built-in
87 heartbeating, rehandshaking, real-time statistics. Ability to work
88 through UDP, TCP and HTTP proxies. IPv4/IPv6-compatibility.
89 GNU/Linux and FreeBSD support.
90
91 ------------------------ >8 ------------------------
92
93 The main improvements for that release are:
94
95 $(git cat-file -p $release | sed -n '6,/^.*BEGIN/p' | sed '$d')
96
97 ------------------------ >8 ------------------------
98
99 GoVPN's home page is: http://www.govpn.info/
100 also available as Tor hidden service: http://2wir2p7ibeu72jk3.onion/
101
102 Source code and its signature for that version can be found here:
103
104     http://www.govpn.info/download/govpn-${release}.tar.xz ($size KiB)
105     http://www.govpn.info/download/govpn-${release}.tar.xz.sig
106
107 SHA256 hash: $hash
108 GPG key ID: 0xF2F59045FFE2F4A1 GoVPN releases <releases@govpn.info>
109 Fingerprint: D269 9B73 3C41 2068 D8DA  656E F2F5 9045 FFE2 F4A1
110
111 Please send questions regarding the use of GoVPN, bug reports and patches
112 to mailing list: https://lists.cypherpunks.ru/pipermail/govpn-devel/
113 EOF
114
115 cat <<EOF
116 Subject: [RU] Состоялся релиз GoVPN $release
117
118 Я рад сообщить о выходе релиза GoVPN $release!
119
120 GoVPN это простой демон виртуальных частных сетей, код которого нацелен
121 на лёгкость чтения и анализа, безопасность, устойчивость к DPI/цензуре,
122 написан на Go и является свободным программным обеспечением.
123
124 Он использует быстрый сильный аутентифицируемый по парольной фразе
125 несбалансированный протокол согласования ключей с двусторонней
126 аутентификацией сторон (PAKE DH A-EKE). Зашифрованный, аутентифицируемый
127 транспортный протокол передачи данных, скрывающий длины сообщений и их
128 временные характеристики. Опциональный нешифрованный режим, который
129 всё-равно обеспечивает конфиденциальность и аутентичность данных.
130 Свойство совершенной прямой секретности. Устойчивость к: внесетевым
131 (offline) атакам по словарю, атакам повторного воспроизведения (replay),
132 компрометации клиентских парольных фраз на стороне сервера. Встроенные
133 функции сердцебиения (heartbeat), пересогласования ключей, статистика
134 реального времени. Возможность работы поверх UDP, TCP и HTTP прокси.
135 Совместимость с IPv4 и IPv6. Поддержка GNU/Linux и FreeBSD.
136
137 ------------------------ >8 ------------------------
138
139 Основные усовершенствования в этом релизе:
140
141 $(git cat-file -p $release | sed -n '6,/^.*BEGIN/p' | sed '$d')
142
143 ------------------------ >8 ------------------------
144
145 Домашняя страница GoVPN: http://www.govpn.info/
146 также доступна как скрытый сервис Tor: http://2wir2p7ibeu72jk3.onion/
147 Коротко о демоне: http://www.govpn.info/O-demone.html
148
149 Исходный код и его подпись для этой версии находится здесь:
150
151     http://www.govpn.info/download/govpn-${release}.tar.xz ($size KiB)
152     http://www.govpn.info/download/govpn-${release}.tar.xz.sig
153
154 SHA256 хэш: $hash
155 Идентификатор GPG ключа: 0xF2F59045FFE2F4A1 GoVPN releases <releases@govpn.info>
156 Отпечаток: D269 9B73 3C41 2068 D8DA  656E F2F5 9045 FFE2 F4A1
157
158 Пожалуйста все вопросы касающиеся использования GoVPN, отчёты об ошибках
159 и патчи отправляйте в govpn-devel почтовую рассылку:
160 https://lists.cypherpunks.ru/pipermail/govpn-devel/
161 EOF