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