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