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