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