]> Cypherpunks.ru repositories - govpn.git/blob - utils/makedist.sh
[DOC] Refactoring and some info on russian
[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/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/pbkdf2
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 Prepared 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. Perfect forward secrecy property. Resistance to: offline
77 dictionary attacks, replay attacks, client's passphrases compromising
78 and dictionary attacks on the server side. Built-in heartbeating,
79 rehandshaking, real-time statistics. Ability to work through UDP, TCP
80 and HTTP proxies. IPv4/IPv6-compatibility. GNU/Linux and FreeBSD support.
81
82 ----------------8<-----------------8<-----------------8<----------------
83
84 The main improvements for that release are:
85
86 $(git cat-file -p $release | sed -n '6,/^.*BEGIN/p' | sed '$d')
87
88 ----------------8<-----------------8<-----------------8<----------------
89
90 GoVPN's home page is: http://govpn.info -> http://www.cypherpunks.ru/govpn/
91 also available as Tor hidden service: http://vabu56j2ep2rwv3b.onion/govpn/
92
93 Source code and its signature for that version can be found here:
94
95     http://www.cypherpunks.ru/govpn/download/govpn-${release}.tar.xz ($size KiB)
96     http://www.cypherpunks.ru/govpn/download/govpn-${release}.tar.xz.sig
97
98 SHA256 hash: $hash
99 GPG key ID: 0xF2F59045FFE2F4A1 GoVPN release signing key
100 Fingerprint: D269 9B73 3C41 2068 D8DA  656E F2F5 9045 FFE2 F4A1
101
102 Please send questions regarding the use of GoVPN, bug reports and patches
103 to mailing list: https://lists.cypherpunks.ru/mailman/listinfo/govpn-devel/
104 EOF
105
106 cat <<EOF
107 Subject: [RU] Состоялся релиз GoVPN $release
108
109 Я рад сообщить о выходе релиза GoVPN $release!
110
111 GoVPN это простой демон виртуальных частных сетей, код которого нацелен
112 на лёгкость чтения и анализа, безопасность, устойчивость к DPI/цензуре,
113 написан на Go и является свободным программным обеспечением.
114
115 Он использует быстрый сильный аутентифицируемый по парольной фразе
116 несбалансированный протокол согласования ключей с двусторонней
117 аутентификацией сторон (PAKE DH A-EKE). Зашифрованный, аутентифицируемый
118 транспортный протокол передачи данных, скрывающий длины сообщений и их
119 временные характеристики. Свойство совершенной прямой секретности.
120 Устойчивость к: внесетевым (offline) атакам по словарю, атакам
121 повторного воспроизведения (replay), компрометации клиентских парольных
122 фраз на стороне сервера. Встроенные функции сердцебиения (heartbeat),
123 пересогласования ключей, статистика реального времени. Возможность
124 работы поверх UDP, TCP и HTTP прокси. Совместимость с IPv4 и IPv6.
125 Поддержка GNU/Linux и FreeBSD.
126
127 ----------------8<-----------------8<-----------------8<----------------
128
129 Основные усовершенствования в этом релизе:
130
131 $(git cat-file -p $release | sed -n '6,/^.*BEGIN/p' | sed '$d')
132
133 ----------------8<-----------------8<-----------------8<----------------
134
135 Домашняя страница GoVPN: http://govpn.info -> http://www.cypherpunks.ru/govpn/
136 также доступна как скрытый сервис Tor: http://vabu56j2ep2rwv3b.onion/govpn/
137
138 Исходный код и его подпись для этой версии находится здесь:
139
140     http://www.cypherpunks.ru/govpn/download/govpn-${release}.tar.xz ($size KiB)
141     http://www.cypherpunks.ru/govpn/download/govpn-${release}.tar.xz.sig
142
143 SHA256 хэш: $hash
144 Идентификатор GPG ключа: 0xF2F59045FFE2F4A1 GoVPN release signing key
145 Отпечаток: D269 9B73 3C41 2068 D8DA  656E F2F5 9045 FFE2 F4A1
146
147 Пожалуйста все вопросы касающиеся использования GoVPN, отчёты об ошибках
148 и патчи отправляйте в govpn-devel почтовую рассылку:
149 https://lists.cypherpunks.ru/mailman/listinfo/govpn-devel/
150 EOF