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