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