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