diff --git a/Makefile b/Makefile
index 4f8f538..68401a5 100644
--- a/Makefile
+++ b/Makefile
@@ -128,7 +128,7 @@ ${HTML_OUT}: pub/%.html: dat/%.md template.html
@echo "HTML $*"
@mkdir -p $$(dirname "$@")
@cat "$<" |\
- perl -pe 's{\[dllink ([^ \]]+)\]}{$$1pgp-sha1-md5}' |\
+ ./dllink.pl |\
pandoc -f markdown -t html5 --template template.html \
--metadata path1=$$(echo "$*" | sed 's/\/.*//') \
--metadata path2=$$(echo "$*" | sed 's/\//-/' | sed 's/\/.*//') \
diff --git a/dat/ncdc.md b/dat/ncdc.md
index 1ce0b15..4cdde19 100644
--- a/dat/ncdc.md
+++ b/dat/ncdc.md
@@ -6,7 +6,7 @@ interface.
## Get ncdc!
Latest version
-: 1.21 ([dllink ncdc-1.21.tar.gz]
+: 1.21 ([ncdc-1.21.tar.gz](/download/ncdc-1.21.tar.gz)
\- [changes](https://dev.yorhel.nl/ncdc/changes))
Convenient static binaries for Linux:
diff --git a/dat/ncdu.md b/dat/ncdu.md
index 6bcbc15..103dda1 100644
--- a/dat/ncdu.md
+++ b/dat/ncdu.md
@@ -9,7 +9,7 @@ POSIX-like environment with ncurses installed.
## Download
Latest version
-: 1.14 ([dllink ncdu-1.14.tar.gz] - [changes](/ncdu/changes))
+: 1.14 ([ncdu-1.14.tar.gz](/download/ncdu-1.14.tar.gz) - [changes](/ncdu/changes))
I also have convenient static binaries for Linux
[i486](/download/ncdu-linux-i486-1.14.tar.gz) and
diff --git a/dat/tuwf.md b/dat/tuwf.md
index 3f0dfb5..1622fe2 100644
--- a/dat/tuwf.md
+++ b/dat/tuwf.md
@@ -23,7 +23,7 @@ information and details.
## Download
-**Latest packaged version:** 1.2 ([dllink TUWF-1.2.tar.gz]
+**Latest packaged version:** 1.2 ([TUWF-1.2.tar.gz](/download/TUWF-1.2.tar.gz)
\- [CPAN mirror](https://metacpan.org/release/TUWF))
TUWF is also available on a git repository at
diff --git a/dllink.pl b/dllink.pl
new file mode 100755
index 0000000..43774b7
--- /dev/null
+++ b/dllink.pl
@@ -0,0 +1,36 @@
+#!/usr/bin/perl -p
+
+# This script adds an information icon to any link into /download/* - if there
+# is more information to display than just the file name and size.
+
+use autodie;
+
+sub slurp { local $/=undef; open F, '<', shift; }
+sub fullsize { scalar reverse join ".", unpack "(A3)*", reverse shift }
+sub size { $s=shift; $s > 1<<20 ? sprintf '%.1f MiB', $s/(1<<20) : sprintf '%.1f KiB', $s/1024 }
+
+sub file {
+ ($code, $lbl, $fn) = @_;
+ my @info;
+ push @info, sprintf 'PGP: %1$s.asc', $fn if -e "$fn.asc";
+ push @info, sprintf 'MD5: %s', (slurp "$fn.md5") =~ /^([^ ]+)/ if -e "$fn.md5";
+ push @info, sprintf 'SHA1: %s', (slurp "$fn.sha1") =~ /^([^ ]+)/ if -e "$fn.sha1";
+ push @info, sprintf 'SHA-256: %s', (slurp "$fn.sha256") =~ /^([^ ]+)/ if -e "$fn.sha256";
+ return $code if !@info;
+ unshift @info, sprintf 'Size: %s (%s bytes)', size(-s $fn), fullsize(-s $fn);
+ unshift @info, sprintf 'File: %1$s', $fn;
+
+ $id = sprintf 'fileinfo_%d', rand 1<<32;
+ qq{}
+ . qq{}
+ . qq{}
+ . qq{}
+ . join('
', @info)
+ . qq{}
+ . $code
+ . qq{ }
+ .qq{}
+}
+
+BEGIN { chdir 'pub/download' }
+s{\[([^\]]+)\]\(/download/([^\) ]+)\)}{file $&,$1,$2}eg;
diff --git a/mkchangelog.pl b/mkchangelog.pl
index 2956487..2ec4666 100755
--- a/mkchangelog.pl
+++ b/mkchangelog.pl
@@ -1,6 +1,7 @@
#!/usr/bin/perl
($project) = (shift =~ /^([^ \/]+)/);
+$project = uc $project if $project eq 'tuwf';
$title = shift;
print "---\ntitle: $title\npage-type: changelog\n...\n";
@@ -9,7 +10,8 @@ for (split /\n\n/, join '', <>) {
s/^([0-9]+\.[0-9]+(?:\.[0-9]+)?)\s+-\s+([0-9]{4}-[0-9]{2}-[0-9]{2})//;
print "\n- **$1** - $2";
$dl = "$project-$1.tar.gz";
- print " - [dllink $dl]" if -f "pub/download/$dl";
+ $dl = "$project-linux-amd64-$1.tar.gz" if !-f "pub/download/$dl";
+ print " - [$dl](/download/$dl)" if -f "pub/download/$dl";
print "\n";
for (split /\r?\n\s+-\s+/) {
diff --git a/pub/download/TUWF-0.1.tar.gz.sha256 b/pub/download/TUWF-0.1.tar.gz.sha256
new file mode 100644
index 0000000..6548f1b
--- /dev/null
+++ b/pub/download/TUWF-0.1.tar.gz.sha256
@@ -0,0 +1 @@
+290da5b46241a462b94b8f2fe384fd59ad39193f8a0c8da4fb6d0b75ad8e9d6f TUWF-0.1.tar.gz
diff --git a/pub/download/TUWF-0.2.tar.gz.sha256 b/pub/download/TUWF-0.2.tar.gz.sha256
new file mode 100644
index 0000000..dfba0aa
--- /dev/null
+++ b/pub/download/TUWF-0.2.tar.gz.sha256
@@ -0,0 +1 @@
+996f740f2756ece0682a4bbc878d19804ca990e9f6a976873d2639e0a78e26ab TUWF-0.2.tar.gz
diff --git a/pub/download/TUWF-1.0.tar.gz.sha256 b/pub/download/TUWF-1.0.tar.gz.sha256
new file mode 100644
index 0000000..38f9c74
--- /dev/null
+++ b/pub/download/TUWF-1.0.tar.gz.sha256
@@ -0,0 +1 @@
+344324512783ce8fce17477940be8f7999774f8f39c06d1aabae949ae85b9000 TUWF-1.0.tar.gz
diff --git a/pub/download/TUWF-1.1.tar.gz.sha256 b/pub/download/TUWF-1.1.tar.gz.sha256
new file mode 100644
index 0000000..5df0166
--- /dev/null
+++ b/pub/download/TUWF-1.1.tar.gz.sha256
@@ -0,0 +1 @@
+117fe1cbe1c7bbdba131f5fd5afd0b4dd3564f8c85377d2151a2973022f83baf TUWF-1.1.tar.gz
diff --git a/pub/download/TUWF-1.2.tar.gz.sha256 b/pub/download/TUWF-1.2.tar.gz.sha256
new file mode 100644
index 0000000..5c21db9
--- /dev/null
+++ b/pub/download/TUWF-1.2.tar.gz.sha256
@@ -0,0 +1 @@
+5031aa3e4339c441cf301239f057826184e5304f5c3fbf46b8c03e8adf190606 TUWF-1.2.tar.gz
diff --git a/pub/download/ncdc-0.1.tar.gz.sha256 b/pub/download/ncdc-0.1.tar.gz.sha256
new file mode 100644
index 0000000..d4c340d
--- /dev/null
+++ b/pub/download/ncdc-0.1.tar.gz.sha256
@@ -0,0 +1 @@
+6e68392ab1d791dfee480c09ab0fb40a2624d2743d6874077392b5c876ced64b ncdc-0.1.tar.gz
diff --git a/pub/download/ncdc-0.2.tar.gz.sha256 b/pub/download/ncdc-0.2.tar.gz.sha256
new file mode 100644
index 0000000..0a83e17
--- /dev/null
+++ b/pub/download/ncdc-0.2.tar.gz.sha256
@@ -0,0 +1 @@
+eebb8d6b1b2b593e3b34c2ed5e9b63820bf6f40d7f0f80a951bf97064e7b4eed ncdc-0.2.tar.gz
diff --git a/pub/download/ncdc-0.3.tar.gz.sha256 b/pub/download/ncdc-0.3.tar.gz.sha256
new file mode 100644
index 0000000..562ee71
--- /dev/null
+++ b/pub/download/ncdc-0.3.tar.gz.sha256
@@ -0,0 +1 @@
+ee301fcd98a2fa02a1f2ec87bb758f549326e7bff49566c6dc0bc5dadde3c803 ncdc-0.3.tar.gz
diff --git a/pub/download/ncdc-0.4.tar.gz.sha256 b/pub/download/ncdc-0.4.tar.gz.sha256
new file mode 100644
index 0000000..ac9fa79
--- /dev/null
+++ b/pub/download/ncdc-0.4.tar.gz.sha256
@@ -0,0 +1 @@
+b865b1579b3f5f5a85ff58a90f5135819e0229d996dbde0d074f744343cedbc5 ncdc-0.4.tar.gz
diff --git a/pub/download/ncdc-0.5.tar.gz.sha256 b/pub/download/ncdc-0.5.tar.gz.sha256
new file mode 100644
index 0000000..82d7c5b
--- /dev/null
+++ b/pub/download/ncdc-0.5.tar.gz.sha256
@@ -0,0 +1 @@
+0d74dffc615e46312696868010ccce9415a55d774daa7b6b0e3c9831230ec359 ncdc-0.5.tar.gz
diff --git a/pub/download/ncdc-0.6.tar.gz.sha256 b/pub/download/ncdc-0.6.tar.gz.sha256
new file mode 100644
index 0000000..d5cef57
--- /dev/null
+++ b/pub/download/ncdc-0.6.tar.gz.sha256
@@ -0,0 +1 @@
+0a270a0dd55fbe763d8353e51688bc561fae4246115397e37004216a3f9dc6ba ncdc-0.6.tar.gz
diff --git a/pub/download/ncdc-0.7.tar.gz.sha256 b/pub/download/ncdc-0.7.tar.gz.sha256
new file mode 100644
index 0000000..e14051e
--- /dev/null
+++ b/pub/download/ncdc-0.7.tar.gz.sha256
@@ -0,0 +1 @@
+adbee2246989f9bad292a155cdd3ac619384c5f1c9ac9fafe62c49fface9c951 ncdc-0.7.tar.gz
diff --git a/pub/download/ncdc-0.8.tar.gz.sha256 b/pub/download/ncdc-0.8.tar.gz.sha256
new file mode 100644
index 0000000..12c759b
--- /dev/null
+++ b/pub/download/ncdc-0.8.tar.gz.sha256
@@ -0,0 +1 @@
+816985889350227a7157dc503a7653196cfe8609961b826fdc3220182d04a8d0 ncdc-0.8.tar.gz
diff --git a/pub/download/ncdc-0.9.tar.gz.sha256 b/pub/download/ncdc-0.9.tar.gz.sha256
new file mode 100644
index 0000000..49be519
--- /dev/null
+++ b/pub/download/ncdc-0.9.tar.gz.sha256
@@ -0,0 +1 @@
+315bfca00ab4f5d4dada365c11d4a828aaefb87b78a2568a50cd3087f2599039 ncdc-0.9.tar.gz
diff --git a/pub/download/ncdc-1.0.tar.gz.sha256 b/pub/download/ncdc-1.0.tar.gz.sha256
new file mode 100644
index 0000000..db7152b
--- /dev/null
+++ b/pub/download/ncdc-1.0.tar.gz.sha256
@@ -0,0 +1 @@
+fbf622824904623b90f5a749f2101a7f77e654a5d1ca9c0fc274e691bc31774a ncdc-1.0.tar.gz
diff --git a/pub/download/ncdc-1.1.tar.gz.sha256 b/pub/download/ncdc-1.1.tar.gz.sha256
new file mode 100644
index 0000000..f2a5640
--- /dev/null
+++ b/pub/download/ncdc-1.1.tar.gz.sha256
@@ -0,0 +1 @@
+2b7cfe261d522321477f7397e08f81549075c32d2a7f62f24953546074ccf6f1 ncdc-1.1.tar.gz
diff --git a/pub/download/ncdc-1.10.tar.gz.sha256 b/pub/download/ncdc-1.10.tar.gz.sha256
new file mode 100644
index 0000000..f31eade
--- /dev/null
+++ b/pub/download/ncdc-1.10.tar.gz.sha256
@@ -0,0 +1 @@
+f170b2e58b644815a822b17df1abdaa857c99c74f476a869649ade012ce81090 ncdc-1.10.tar.gz
diff --git a/pub/download/ncdc-1.11.tar.gz.sha256 b/pub/download/ncdc-1.11.tar.gz.sha256
new file mode 100644
index 0000000..d695dcf
--- /dev/null
+++ b/pub/download/ncdc-1.11.tar.gz.sha256
@@ -0,0 +1 @@
+db62f4bde22e2ea01382249773c790935357ac06a639e7a666966941aecbc78d ncdc-1.11.tar.gz
diff --git a/pub/download/ncdc-1.12.tar.gz.sha256 b/pub/download/ncdc-1.12.tar.gz.sha256
new file mode 100644
index 0000000..ca40fe3
--- /dev/null
+++ b/pub/download/ncdc-1.12.tar.gz.sha256
@@ -0,0 +1 @@
+2613710695e0a1083e67f5a2653f64d5c3a3487e28daf927f7713ec97172f5c4 ncdc-1.12.tar.gz
diff --git a/pub/download/ncdc-1.13.tar.gz.sha256 b/pub/download/ncdc-1.13.tar.gz.sha256
new file mode 100644
index 0000000..485b2c3
--- /dev/null
+++ b/pub/download/ncdc-1.13.tar.gz.sha256
@@ -0,0 +1 @@
+780141b0374e34373e5587d9de43f9e15aa94a7a06a1207e5d55e97d36f201c0 ncdc-1.13.tar.gz
diff --git a/pub/download/ncdc-1.14.tar.gz.sha256 b/pub/download/ncdc-1.14.tar.gz.sha256
new file mode 100644
index 0000000..9a5d1c6
--- /dev/null
+++ b/pub/download/ncdc-1.14.tar.gz.sha256
@@ -0,0 +1 @@
+050f692cf59e7251cc6593f35545e907c72254d4582ba2c82f3d8ff8fd082deb ncdc-1.14.tar.gz
diff --git a/pub/download/ncdc-1.15.tar.gz.sha256 b/pub/download/ncdc-1.15.tar.gz.sha256
new file mode 100644
index 0000000..581f3d1
--- /dev/null
+++ b/pub/download/ncdc-1.15.tar.gz.sha256
@@ -0,0 +1 @@
+88367691d5ab36bcd40ecab0f2ebfa592634752359ef7d813adb4b757f2d5b8c ncdc-1.15.tar.gz
diff --git a/pub/download/ncdc-1.16.1.tar.gz.sha256 b/pub/download/ncdc-1.16.1.tar.gz.sha256
new file mode 100644
index 0000000..d18f3b7
--- /dev/null
+++ b/pub/download/ncdc-1.16.1.tar.gz.sha256
@@ -0,0 +1 @@
+3d06c0c41605865ff321492a8a07122c4ca6eef7a014069245fecda51ef7b73b ncdc-1.16.1.tar.gz
diff --git a/pub/download/ncdc-1.16.tar.gz.sha256 b/pub/download/ncdc-1.16.tar.gz.sha256
new file mode 100644
index 0000000..bd6bf60
--- /dev/null
+++ b/pub/download/ncdc-1.16.tar.gz.sha256
@@ -0,0 +1 @@
+b72042fbdf1396964666ea61be348f2592c3cb63f8c42aec06b8c0a24495e201 ncdc-1.16.tar.gz
diff --git a/pub/download/ncdc-1.17.tar.gz.sha256 b/pub/download/ncdc-1.17.tar.gz.sha256
new file mode 100644
index 0000000..d47ad4a
--- /dev/null
+++ b/pub/download/ncdc-1.17.tar.gz.sha256
@@ -0,0 +1 @@
+7c4e1d004a8a87cc2647b4a116298a4c05f38ee0656873f3666b33a769cdec41 ncdc-1.17.tar.gz
diff --git a/pub/download/ncdc-1.18.1.tar.gz.sha256 b/pub/download/ncdc-1.18.1.tar.gz.sha256
new file mode 100644
index 0000000..3e42d23
--- /dev/null
+++ b/pub/download/ncdc-1.18.1.tar.gz.sha256
@@ -0,0 +1 @@
+cc257731cd2ccc55831b8606694c379d0d8c441d250b8003785bec3d58fa8685 ncdc-1.18.1.tar.gz
diff --git a/pub/download/ncdc-1.18.tar.gz.sha256 b/pub/download/ncdc-1.18.tar.gz.sha256
new file mode 100644
index 0000000..e7a2881
--- /dev/null
+++ b/pub/download/ncdc-1.18.tar.gz.sha256
@@ -0,0 +1 @@
+9746732c076c6a0610d060ccb1f7b5306163e022da711c8363ed3653bdbec0af ncdc-1.18.tar.gz
diff --git a/pub/download/ncdc-1.19.1.tar.gz.sha256 b/pub/download/ncdc-1.19.1.tar.gz.sha256
new file mode 100644
index 0000000..417c695
--- /dev/null
+++ b/pub/download/ncdc-1.19.1.tar.gz.sha256
@@ -0,0 +1 @@
+a6b23381434a47f7134d9ebdf5658fd06768f9b5de498c43e0fa00d1c7229d47 ncdc-1.19.1.tar.gz
diff --git a/pub/download/ncdc-1.19.tar.gz.sha256 b/pub/download/ncdc-1.19.tar.gz.sha256
new file mode 100644
index 0000000..a3d89a5
--- /dev/null
+++ b/pub/download/ncdc-1.19.tar.gz.sha256
@@ -0,0 +1 @@
+c24130b8bb735f936b1090d4e5f4413c08548a45a2640193386c26dc1dc7fbf1 ncdc-1.19.tar.gz
diff --git a/pub/download/ncdc-1.2.tar.gz.sha256 b/pub/download/ncdc-1.2.tar.gz.sha256
new file mode 100644
index 0000000..6533b18
--- /dev/null
+++ b/pub/download/ncdc-1.2.tar.gz.sha256
@@ -0,0 +1 @@
+60f1ca70352bb1c0a7b87a297c2b5d4e7a8c73f35bfcb51e8c8fb7b67619bf7c ncdc-1.2.tar.gz
diff --git a/pub/download/ncdc-1.20.tar.gz.sha256 b/pub/download/ncdc-1.20.tar.gz.sha256
new file mode 100644
index 0000000..09a0ed9
--- /dev/null
+++ b/pub/download/ncdc-1.20.tar.gz.sha256
@@ -0,0 +1 @@
+8a998857df6289b6bd44287fc06f705b662098189f2a8fe95b1a5fbc703b9631 ncdc-1.20.tar.gz
diff --git a/pub/download/ncdc-1.21.tar.gz.sha256 b/pub/download/ncdc-1.21.tar.gz.sha256
new file mode 100644
index 0000000..5cd0ad2
--- /dev/null
+++ b/pub/download/ncdc-1.21.tar.gz.sha256
@@ -0,0 +1 @@
+22904f93a553e45b84a3e72dc6209e11194087c3244fd08c6489bacdee991982 ncdc-1.21.tar.gz
diff --git a/pub/download/ncdc-1.3.tar.gz.sha256 b/pub/download/ncdc-1.3.tar.gz.sha256
new file mode 100644
index 0000000..8a0d04d
--- /dev/null
+++ b/pub/download/ncdc-1.3.tar.gz.sha256
@@ -0,0 +1 @@
+dacd28ab9ac049b09b5e18f153af53633f4c6f4f0e083e91b9e9d1725c911a47 ncdc-1.3.tar.gz
diff --git a/pub/download/ncdc-1.4.tar.gz.sha256 b/pub/download/ncdc-1.4.tar.gz.sha256
new file mode 100644
index 0000000..ca58702
--- /dev/null
+++ b/pub/download/ncdc-1.4.tar.gz.sha256
@@ -0,0 +1 @@
+1dd590a0ea1da2c4ddc739b6ed5c98eeba5c8c50d7f4d7b499760555743862f1 ncdc-1.4.tar.gz
diff --git a/pub/download/ncdc-1.5.tar.gz.sha256 b/pub/download/ncdc-1.5.tar.gz.sha256
new file mode 100644
index 0000000..dc2a113
--- /dev/null
+++ b/pub/download/ncdc-1.5.tar.gz.sha256
@@ -0,0 +1 @@
+d6bd0e6a9e4852a4bbf4249954d65863b1f9dcc0064eb9923f3a1e95e9c1fd03 ncdc-1.5.tar.gz
diff --git a/pub/download/ncdc-1.6.tar.gz.sha256 b/pub/download/ncdc-1.6.tar.gz.sha256
new file mode 100644
index 0000000..0b5ea0e
--- /dev/null
+++ b/pub/download/ncdc-1.6.tar.gz.sha256
@@ -0,0 +1 @@
+13d898455c5892364ff0769be76cc5fb188a801b08ba3a646e0ecf217db6ddfc ncdc-1.6.tar.gz
diff --git a/pub/download/ncdc-1.7.tar.gz.sha256 b/pub/download/ncdc-1.7.tar.gz.sha256
new file mode 100644
index 0000000..a5c094d
--- /dev/null
+++ b/pub/download/ncdc-1.7.tar.gz.sha256
@@ -0,0 +1 @@
+5198a88d797bcd246e9d33080b9e07ce747fd14e5146902175055676b6d8145f ncdc-1.7.tar.gz
diff --git a/pub/download/ncdc-1.8.tar.gz.sha256 b/pub/download/ncdc-1.8.tar.gz.sha256
new file mode 100644
index 0000000..982d6ea
--- /dev/null
+++ b/pub/download/ncdc-1.8.tar.gz.sha256
@@ -0,0 +1 @@
+361c0e0c20a81ecaa66a68bf82fc792395219d2d03ed18f75db3ca2133549def ncdc-1.8.tar.gz
diff --git a/pub/download/ncdc-1.9.tar.gz.sha256 b/pub/download/ncdc-1.9.tar.gz.sha256
new file mode 100644
index 0000000..1354944
--- /dev/null
+++ b/pub/download/ncdc-1.9.tar.gz.sha256
@@ -0,0 +1 @@
+705800111f69a7144ada3b651896db1b73e520806e4f48c40f4f0b5c4f4605b5 ncdc-1.9.tar.gz
diff --git a/pub/download/ncdc-linux-arm-1.21.tar.gz.md5 b/pub/download/ncdc-linux-arm-1.21.tar.gz.md5
new file mode 100644
index 0000000..488e711
--- /dev/null
+++ b/pub/download/ncdc-linux-arm-1.21.tar.gz.md5
@@ -0,0 +1 @@
+ac9b651771ef4fc9a3e1ece691b3d9b8 ncdc-linux-arm-1.21.tar.gz
diff --git a/pub/download/ncdc-linux-arm-1.21.tar.gz.sha1 b/pub/download/ncdc-linux-arm-1.21.tar.gz.sha1
new file mode 100644
index 0000000..6401652
--- /dev/null
+++ b/pub/download/ncdc-linux-arm-1.21.tar.gz.sha1
@@ -0,0 +1 @@
+30b2f8f2b9ffe2ed9aaa2bd0a03efe82985fd03d ncdc-linux-arm-1.21.tar.gz
diff --git a/pub/download/ncdc-linux-arm-1.21.tar.gz.sha256 b/pub/download/ncdc-linux-arm-1.21.tar.gz.sha256
new file mode 100644
index 0000000..c7a09c6
--- /dev/null
+++ b/pub/download/ncdc-linux-arm-1.21.tar.gz.sha256
@@ -0,0 +1 @@
+d587f1c5cea373256f42042aca7518f2662eeaf373944374ab26980f97c35460 ncdc-linux-arm-1.21.tar.gz
diff --git a/pub/download/ncdc-linux-i486-1.21.tar.gz.md5 b/pub/download/ncdc-linux-i486-1.21.tar.gz.md5
new file mode 100644
index 0000000..e1a584a
--- /dev/null
+++ b/pub/download/ncdc-linux-i486-1.21.tar.gz.md5
@@ -0,0 +1 @@
+6312ffeb49c8d10a8706d9c7252c4a2f ncdc-linux-i486-1.21.tar.gz
diff --git a/pub/download/ncdc-linux-i486-1.21.tar.gz.sha1 b/pub/download/ncdc-linux-i486-1.21.tar.gz.sha1
new file mode 100644
index 0000000..c82c309
--- /dev/null
+++ b/pub/download/ncdc-linux-i486-1.21.tar.gz.sha1
@@ -0,0 +1 @@
+a1e434dbdf7ae92bf8f01390f88c48a4ad38a2f3 ncdc-linux-i486-1.21.tar.gz
diff --git a/pub/download/ncdc-linux-i486-1.21.tar.gz.sha256 b/pub/download/ncdc-linux-i486-1.21.tar.gz.sha256
new file mode 100644
index 0000000..8453d82
--- /dev/null
+++ b/pub/download/ncdc-linux-i486-1.21.tar.gz.sha256
@@ -0,0 +1 @@
+ccfae402c5a673da3a5acd284835153cc1a663cc15c2db6dabf95552b75331bc ncdc-linux-i486-1.21.tar.gz
diff --git a/pub/download/ncdc-linux-x86_64-1.21.tar.gz.md5 b/pub/download/ncdc-linux-x86_64-1.21.tar.gz.md5
new file mode 100644
index 0000000..03513f1
--- /dev/null
+++ b/pub/download/ncdc-linux-x86_64-1.21.tar.gz.md5
@@ -0,0 +1 @@
+2076be55ac35f5d804f8b2ec78e7b427 ncdc-linux-x86_64-1.21.tar.gz
diff --git a/pub/download/ncdc-linux-x86_64-1.21.tar.gz.sha1 b/pub/download/ncdc-linux-x86_64-1.21.tar.gz.sha1
new file mode 100644
index 0000000..1bb7cb7
--- /dev/null
+++ b/pub/download/ncdc-linux-x86_64-1.21.tar.gz.sha1
@@ -0,0 +1 @@
+9694647386519608ea4c6b8fbdf2cbef645c7c1f ncdc-linux-x86_64-1.21.tar.gz
diff --git a/pub/download/ncdc-linux-x86_64-1.21.tar.gz.sha256 b/pub/download/ncdc-linux-x86_64-1.21.tar.gz.sha256
new file mode 100644
index 0000000..beca0d2
--- /dev/null
+++ b/pub/download/ncdc-linux-x86_64-1.21.tar.gz.sha256
@@ -0,0 +1 @@
+7c92c228b8dbff5ad1dd7798b11b59a98980ed73eb8670adc1241c615c1299f6 ncdc-linux-x86_64-1.21.tar.gz
diff --git a/pub/download/ncdu-0.1.tar.gz.sha256 b/pub/download/ncdu-0.1.tar.gz.sha256
new file mode 100644
index 0000000..fcfe31b
--- /dev/null
+++ b/pub/download/ncdu-0.1.tar.gz.sha256
@@ -0,0 +1 @@
+fc38325312ce105c5290a80707539823d864377e5f8a99a1630baaea767eda46 ncdu-0.1.tar.gz
diff --git a/pub/download/ncdu-0.2.tar.gz.sha256 b/pub/download/ncdu-0.2.tar.gz.sha256
new file mode 100644
index 0000000..51dd6ef
--- /dev/null
+++ b/pub/download/ncdu-0.2.tar.gz.sha256
@@ -0,0 +1 @@
+4a18e0edec5694ffb3ef956dda50564b25ac6de1ca013bba400143121a8906b4 ncdu-0.2.tar.gz
diff --git a/pub/download/ncdu-0.3.tar.gz.sha256 b/pub/download/ncdu-0.3.tar.gz.sha256
new file mode 100644
index 0000000..7061761
--- /dev/null
+++ b/pub/download/ncdu-0.3.tar.gz.sha256
@@ -0,0 +1 @@
+c13498ef9e81ad5919c1385debe6fd8370b3b8ec3dd15d32d8c6eb5d77f8d1a0 ncdu-0.3.tar.gz
diff --git a/pub/download/ncdu-1.0.tar.gz.sha256 b/pub/download/ncdu-1.0.tar.gz.sha256
new file mode 100644
index 0000000..de3c5c0
--- /dev/null
+++ b/pub/download/ncdu-1.0.tar.gz.sha256
@@ -0,0 +1 @@
+0bd0323b2415a5479afe624498fd21196d4063395c7b6223d0ac081756050a73 ncdu-1.0.tar.gz
diff --git a/pub/download/ncdu-1.1.tar.gz.sha256 b/pub/download/ncdu-1.1.tar.gz.sha256
new file mode 100644
index 0000000..5028518
--- /dev/null
+++ b/pub/download/ncdu-1.1.tar.gz.sha256
@@ -0,0 +1 @@
+cbd7c6a6372920aa63579e9ba6c07d41b1c22030bd031d3c236349e01e3f5aed ncdu-1.1.tar.gz
diff --git a/pub/download/ncdu-1.10.tar.gz.sha256 b/pub/download/ncdu-1.10.tar.gz.sha256
new file mode 100644
index 0000000..fb3bdbd
--- /dev/null
+++ b/pub/download/ncdu-1.10.tar.gz.sha256
@@ -0,0 +1 @@
+f5994a4848dbbca480d39729b021f057700f14ef72c0d739bbd82d862f2f0c67 ncdu-1.10.tar.gz
diff --git a/pub/download/ncdu-1.11.tar.gz.sha256 b/pub/download/ncdu-1.11.tar.gz.sha256
new file mode 100644
index 0000000..323ec0b
--- /dev/null
+++ b/pub/download/ncdu-1.11.tar.gz.sha256
@@ -0,0 +1 @@
+d0aea772e47463c281007f279a9041252155a2b2349b18adb9055075e141bb7b ncdu-1.11.tar.gz
diff --git a/pub/download/ncdu-1.12.tar.gz.sha256 b/pub/download/ncdu-1.12.tar.gz.sha256
new file mode 100644
index 0000000..a82188f
--- /dev/null
+++ b/pub/download/ncdu-1.12.tar.gz.sha256
@@ -0,0 +1 @@
+820e4e4747a2a2ec7a2e9f06d2f5a353516362c22496a10a9834f871b877499a ncdu-1.12.tar.gz
diff --git a/pub/download/ncdu-1.13.tar.gz.sha256 b/pub/download/ncdu-1.13.tar.gz.sha256
new file mode 100644
index 0000000..9d9304d
--- /dev/null
+++ b/pub/download/ncdu-1.13.tar.gz.sha256
@@ -0,0 +1 @@
+f4d9285c38292c2de05e444d0ba271cbfe1a705eee37c2b23ea7c448ab37255a ncdu-1.13.tar.gz
diff --git a/pub/download/ncdu-1.14.tar.gz.sha256 b/pub/download/ncdu-1.14.tar.gz.sha256
new file mode 100644
index 0000000..133f82e
--- /dev/null
+++ b/pub/download/ncdu-1.14.tar.gz.sha256
@@ -0,0 +1 @@
+c694783aab21e27e64baad314b7c1ff34541bfa219fe9645ef6780f1c5558c44 ncdu-1.14.tar.gz
diff --git a/pub/download/ncdu-1.2.tar.gz.sha256 b/pub/download/ncdu-1.2.tar.gz.sha256
new file mode 100644
index 0000000..ae3e43c
--- /dev/null
+++ b/pub/download/ncdu-1.2.tar.gz.sha256
@@ -0,0 +1 @@
+10a9f50fcdd662196058f1e5f4e4300a33130b722e1552c0f1b513a07efd386d ncdu-1.2.tar.gz
diff --git a/pub/download/ncdu-1.3.tar.gz.sha256 b/pub/download/ncdu-1.3.tar.gz.sha256
new file mode 100644
index 0000000..fab9514
--- /dev/null
+++ b/pub/download/ncdu-1.3.tar.gz.sha256
@@ -0,0 +1 @@
+f556a4b07c07bb66eabb5f2a20b3c52ea22020a68f2b5302d03e7b93b0ffee54 ncdu-1.3.tar.gz
diff --git a/pub/download/ncdu-1.4.tar.gz.sha256 b/pub/download/ncdu-1.4.tar.gz.sha256
new file mode 100644
index 0000000..86fa3d6
--- /dev/null
+++ b/pub/download/ncdu-1.4.tar.gz.sha256
@@ -0,0 +1 @@
+cb1bdd4835d3e80854f19722e0bf1458097d966a9f10da8f88c873ca94a23616 ncdu-1.4.tar.gz
diff --git a/pub/download/ncdu-1.5.tar.gz.sha256 b/pub/download/ncdu-1.5.tar.gz.sha256
new file mode 100644
index 0000000..1e0e9ac
--- /dev/null
+++ b/pub/download/ncdu-1.5.tar.gz.sha256
@@ -0,0 +1 @@
+f63292b80d0eae4968624eade660bb42c3180890d7ca887a5470f3d75bae8e08 ncdu-1.5.tar.gz
diff --git a/pub/download/ncdu-1.6.tar.gz.sha256 b/pub/download/ncdu-1.6.tar.gz.sha256
new file mode 100644
index 0000000..5aa9fb1
--- /dev/null
+++ b/pub/download/ncdu-1.6.tar.gz.sha256
@@ -0,0 +1 @@
+0922916eab6371adb2f7a567bf4477c0a738910e799dbdf477f30d138eff470c ncdu-1.6.tar.gz
diff --git a/pub/download/ncdu-1.7.tar.gz.sha256 b/pub/download/ncdu-1.7.tar.gz.sha256
new file mode 100644
index 0000000..67de53c
--- /dev/null
+++ b/pub/download/ncdu-1.7.tar.gz.sha256
@@ -0,0 +1 @@
+70dfe10b4c0843050ee17ab27b7ad4d65714682f117079b85d779f83431fb333 ncdu-1.7.tar.gz
diff --git a/pub/download/ncdu-1.8.tar.gz.sha256 b/pub/download/ncdu-1.8.tar.gz.sha256
new file mode 100644
index 0000000..5f70e32
--- /dev/null
+++ b/pub/download/ncdu-1.8.tar.gz.sha256
@@ -0,0 +1 @@
+42aaf0418c05e725b39b220166a9c604a9c54c0fbf7692c9c119b36d0ed5d099 ncdu-1.8.tar.gz
diff --git a/pub/download/ncdu-1.9.tar.gz.sha256 b/pub/download/ncdu-1.9.tar.gz.sha256
new file mode 100644
index 0000000..da89996
--- /dev/null
+++ b/pub/download/ncdu-1.9.tar.gz.sha256
@@ -0,0 +1 @@
+ea7349544a9da77764293d84e52862110ab49ee29b949158bc4bab908d3dd3a5 ncdu-1.9.tar.gz
diff --git a/pub/download/ncdu-linux-arm-1.14.tar.gz.asc b/pub/download/ncdu-linux-arm-1.14.tar.gz.asc
new file mode 100644
index 0000000..69e7fec
--- /dev/null
+++ b/pub/download/ncdu-linux-arm-1.14.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAlyaZOgACgkQYjlMaYwn
+OfoDIQ//daKYwsv2fcCb/+kWzHu+WjVSkUQP7B2y2jsrlFKATjIC8LtUTZV7GNFf
+aHC5/4XpmhqlWQiq5tTaDKp9tkDmaz1/BTa7yW9hXZixU/NiJkqO7fAVcMdHuUan
+gLmtitnyt0wCcvKfYbSWsUEVat/o7rADEscN01O5qw4kwgjxgGM+t5slDtmY4tsj
+zPMWs2/VZzSM6gs5xZFqnv2/CrISzLUGUD0TRhJaZBxZ7dVKxUYD+W/P2fsZ3Ld7
+CY9KyfyEpT/F4FpC2g2M1W5kTeCwFIuBcIptteW1KVwJ2RtVNAfDx5x/xeQ+ugxh
+1fxt6SPyRSIrHrZ4gKeG9WK1tiscjHN1ZDFaRS5AYrLPABEDqsOOrPZ4+TevqDcZ
+m8F1xyaChTo1zv9CdxywwRMRS+yUoJvqwhwmza/7fSFwU4Onn9FbyMgot7928dov
+pudOKGHSIR39AedmZ8MDrLFSbNQwuOeLmG4a5eMfc2lcvdS0OvZIr2pNFxx3aA53
+FwzJHjtc2EyFx+K9vOTkz3lKeNtWCjKuuntfS84zG2K4chvwANubeIVk6bUc9QFu
+13i2K4Jo1WOtfsq1X8crrc6czNL9KCvKoyS4SQhr7HGlBB3qLjeeOu4QOUJA5Ivs
+5S4UDzmloOOHcNugSBc6AUz/hOLiUk2A6v2FEuz7KsBblhuEEUw=
+=W1He
+-----END PGP SIGNATURE-----
diff --git a/pub/download/ncdu-linux-arm-1.14.tar.gz.md5 b/pub/download/ncdu-linux-arm-1.14.tar.gz.md5
new file mode 100644
index 0000000..7cf6b4f
--- /dev/null
+++ b/pub/download/ncdu-linux-arm-1.14.tar.gz.md5
@@ -0,0 +1 @@
+46fb5fe8de7ba4c5b69634114843fef8 ncdu-linux-arm-1.14.tar.gz
diff --git a/pub/download/ncdu-linux-arm-1.14.tar.gz.sha1 b/pub/download/ncdu-linux-arm-1.14.tar.gz.sha1
new file mode 100644
index 0000000..d1fade5
--- /dev/null
+++ b/pub/download/ncdu-linux-arm-1.14.tar.gz.sha1
@@ -0,0 +1 @@
+a37043ae1a4b1b06c9df8a56a3a65061e4be4f0c ncdu-linux-arm-1.14.tar.gz
diff --git a/pub/download/ncdu-linux-arm-1.14.tar.gz.sha256 b/pub/download/ncdu-linux-arm-1.14.tar.gz.sha256
new file mode 100644
index 0000000..1ba861e
--- /dev/null
+++ b/pub/download/ncdu-linux-arm-1.14.tar.gz.sha256
@@ -0,0 +1 @@
+b1c42ae5a18a9f68acdb82eacd82a8b0003b34860559c9746229d7132b6f6dd5 ncdu-linux-arm-1.14.tar.gz
diff --git a/pub/download/ncdu-linux-i486-1.14.tar.gz.asc b/pub/download/ncdu-linux-i486-1.14.tar.gz.asc
new file mode 100644
index 0000000..cd97e9b
--- /dev/null
+++ b/pub/download/ncdu-linux-i486-1.14.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAlyaZPEACgkQYjlMaYwn
+OfqdhA//Vw4Tebt1cMs8q5O7shOtycu3kAzalQpi6eJwoTab5+Z4xsSY9NyH1Mau
+In7P0IOe9UxiyyivcZ6VrIs5VbGA7RCWpU4Jdwvxyno88PEZbDzAKvcZTjcDTHod
+FKUMwGGZC8yjOC8dOskJV7bmIYbfg9ON6/oTJKlseJJYMD52g4crKtJndbqIPd1W
+u6wAMp6kt/Bp3FxU0pcEfwovyoqdKGyLprPIFvEvunqhuqMTaSfb/1YhHthlekm7
+qRW2HtETXPpCeS6n24QoBfrL9EWw15iT3B//W2W1FYHQen07YCrN6uX29+ATMDkp
+dZ0o6uAZ0aMbA7H59PVoPKGJygZ90vH5m9fB2BkQ2sNS1EOt+QhoBM5x7d4Gasjn
+48gv++O2FUErN5lp4CS6qk4l+GV2ZvWUpKr+Cn/l8tbCIoqxBfkVNroFPnzM/lXv
+XFDpQXe4vu8n4B2/zMBt9bXpl2BtGQfRAuBEF5NkL3+vZSeDDKN0Z7mLY7dZ8YGV
+noqUN28qvEnCZEoaIPjN/8pssFV+7MRGm1o2QWZvTOsVfT81Ed6dj/NPXvv7BzB8
+Ty7gE2Pr9cO35A9as9B4zfv8AdPeTq9n8YTDFZzPOFWJM7Ri6teKczz+PsAh0QzM
+ifeW7/BoggnFYTMcm8w38uLa32Q9kNncmxm2JBAngMs8EaiWB5U=
+=s72g
+-----END PGP SIGNATURE-----
diff --git a/pub/download/ncdu-linux-i486-1.14.tar.gz.md5 b/pub/download/ncdu-linux-i486-1.14.tar.gz.md5
new file mode 100644
index 0000000..3896672
--- /dev/null
+++ b/pub/download/ncdu-linux-i486-1.14.tar.gz.md5
@@ -0,0 +1 @@
+adcdc01ec3fde7d5c0d7bbe7b24c8cad ncdu-linux-i486-1.14.tar.gz
diff --git a/pub/download/ncdu-linux-i486-1.14.tar.gz.sha1 b/pub/download/ncdu-linux-i486-1.14.tar.gz.sha1
new file mode 100644
index 0000000..68a819d
--- /dev/null
+++ b/pub/download/ncdu-linux-i486-1.14.tar.gz.sha1
@@ -0,0 +1 @@
+fb932b8f479c18baa16456d018417808d1297df3 ncdu-linux-i486-1.14.tar.gz
diff --git a/pub/download/ncdu-linux-i486-1.14.tar.gz.sha256 b/pub/download/ncdu-linux-i486-1.14.tar.gz.sha256
new file mode 100644
index 0000000..37efeb9
--- /dev/null
+++ b/pub/download/ncdu-linux-i486-1.14.tar.gz.sha256
@@ -0,0 +1 @@
+76926d78a33e331575b93e10585c0cad4f18bdedfc649780aa35a7157b8ba109 ncdu-linux-i486-1.14.tar.gz
diff --git a/pub/download/nginx-confgen-1.0.tar.gz.asc b/pub/download/nginx-confgen-1.0.tar.gz.asc
new file mode 100644
index 0000000..e425545
--- /dev/null
+++ b/pub/download/nginx-confgen-1.0.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAlyaZmIACgkQYjlMaYwn
+OfpdfQ//fe4+6udwSUtYz2JcWPX2+2gN4h+GEkMkntubnbyV9acntuYFkPk+oRq+
+pInkC7I0OwQhSs4hD4WS+g7kA4WusC6eESuXi15x963zsNrgqxlvXH5h1reoOm8r
+jHRd3La4NU2Wk1sm+FOXdyNK9e5Ewb5aiDYTn/QMhgzfnIsHzEj0OFUM52N459Nv
+HqKhMWya1JOg/Egrd6LgbUsuIqbtb/JAQzt5ICDnmAWRba/PxYxhRasaLwEA4W6Z
+tc6GxALAI4Jy/KMozLHkSDiNuKlBWghyEFpS6dh1u8a+IU4m9lgSeQTvlzshfLM4
+eIAghlE9BK+uaSW4AhHqzqVDnPKPEM5vn94H0ntLqTfgU0XxpCFwB6DCDHol/Dj3
+BGWWiUjR6cZRpEBDAoiXgGaxdBebupMedTW1pl1K1XLXWWivcvj0IP2oNSha9Vdl
+qxJKYomxUK3YIivfFdJkNpT3N7jNlMX0Crj0RYz6jzovpBP2Y1TqrEDu2XAfer/z
+uzyg1CdzZ8rM/KltunO7T54F5WhiAKwDcOvqadReohSRYe1FzEAZIPNOMqrxMiHt
+iyNGF1iXdftsXr6d4FqSFPHzHTd1jacEBobGdwZaEbT3MKcmtKCJ9yxJXE3EPOYf
+bkl0Qtazc8xd8xpnI6m0zFKuwpVMS2BtUE4vHSMmYufS7kIk7CQ=
+=InHn
+-----END PGP SIGNATURE-----
diff --git a/pub/download/nginx-confgen-1.0.tar.gz.md5 b/pub/download/nginx-confgen-1.0.tar.gz.md5
new file mode 100644
index 0000000..a9dc591
--- /dev/null
+++ b/pub/download/nginx-confgen-1.0.tar.gz.md5
@@ -0,0 +1 @@
+119008862bfea708e0241db698238bcb nginx-confgen-1.0.tar.gz
diff --git a/pub/download/nginx-confgen-1.0.tar.gz.sha1 b/pub/download/nginx-confgen-1.0.tar.gz.sha1
new file mode 100644
index 0000000..4f21645
--- /dev/null
+++ b/pub/download/nginx-confgen-1.0.tar.gz.sha1
@@ -0,0 +1 @@
+488b3fdbfa6b42050b24adc02952bafa51c588d1 nginx-confgen-1.0.tar.gz
diff --git a/pub/download/nginx-confgen-1.0.tar.gz.sha256 b/pub/download/nginx-confgen-1.0.tar.gz.sha256
new file mode 100644
index 0000000..84f7bd7
--- /dev/null
+++ b/pub/download/nginx-confgen-1.0.tar.gz.sha256
@@ -0,0 +1 @@
+a4b18fa27785eaf13abc052e4051885cd88757107ebc476d19684d21f4a0a58a nginx-confgen-1.0.tar.gz
diff --git a/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.asc b/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.asc
new file mode 100644
index 0000000..b8d2fb3
--- /dev/null
+++ b/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAlyaZm8ACgkQYjlMaYwn
+OfpwthAArtbJNRALyhpTpc1b/Mq97PJnjyp9Pe+Lpqawl3B7ZHJZU9USwxmmtVhO
+EkkkVNf9bY4eIQyVd6h3Y/lG81qvSRIhekepnXqG0SWJoWWc5vYc/iUrKs4p0wpq
+/cKLtvv5j1bOY+SAlT5fTi7E67hQPdEgN4ZHxActG3+DRrbqPvlHlSdUUNC/SIxb
+vRD0nGxVuCL1kqoG8NmlrlkORb52JASVzVopKRD43s4kTYoyMea6bcE0JkC/qTC9
+mO8TDY5crBXc22ZiBqurS9cWY1LpMfGtmMgxrGwzm5NiIuvi3+BPvFddO7RyQ2K0
+ZOj83mGKkTLpjk2F5xdc4NJhiZSYcfeIEyecbBkqwBc0w80lmRi6Gz4Gn0deNuF1
+3Sp9ensKskwtetNZxWcaQLXrIkSjOy1+leWxA8V2HOmX9HL/aPlwAwXPieHuYFCq
+vC1PBnD4TA7ilVlyJ6b/pZVl1m5A6yBGUer5K9nxdys3F97UtySbun7R7RwgYwzV
+S0Cm9+JC4PrBto/sbUlmMm1wAFQViqr1ccrEZiyPHkWGt+koi5yRZ6yVyo6X6SOY
+Y+QawNB/hE1aWN0fg5z0/ZE+ouGs45iZzs4WOJKoT+86oGmi1TLlLJAzD4Ote+q9
+VsWFI9Bm6t1vBaKirJKpVX26Cw9wMrg3Yw8DItyujfmaJYaIqes=
+=VjAX
+-----END PGP SIGNATURE-----
diff --git a/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.md5 b/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.md5
new file mode 100644
index 0000000..4ade496
--- /dev/null
+++ b/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.md5
@@ -0,0 +1 @@
+83e56fc1fcc96d8413f8ed1f97401c3f nginx-confgen-linux-amd64-1.1.tar.gz
diff --git a/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.sha1 b/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.sha1
new file mode 100644
index 0000000..70b22fd
--- /dev/null
+++ b/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.sha1
@@ -0,0 +1 @@
+bfa951de3de2914a88bbe3f7d136d42bb62e3b97 nginx-confgen-linux-amd64-1.1.tar.gz
diff --git a/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.sha256 b/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.sha256
new file mode 100644
index 0000000..d3e80eb
--- /dev/null
+++ b/pub/download/nginx-confgen-linux-amd64-1.1.tar.gz.sha256
@@ -0,0 +1 @@
+423fa6c646c488779e5e40e6b9f8a389882225f6746f1d0b26755de4367ac3cc nginx-confgen-linux-amd64-1.1.tar.gz
diff --git a/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.asc b/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.asc
new file mode 100644
index 0000000..f2d9fa2
--- /dev/null
+++ b/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAlyaZokACgkQYjlMaYwn
+OfqYdBAAwiPK5Y8wuXX1niK553M7fC8pPWhjIzkJ/m1uQSsjg+7u4+qaa2/qw38r
+wyPtfUO8kYOAx1A0aaMK5EZz08Dh9IMjW8n6imQ8oiDglWWXNWqoU2zmNvXYhp3U
+S06C7+U0MwJj3KBOkYeviIZ5n0DJZQQXZvIPsjT3VeJcPK/5120u89ixMww/sYzd
+483l58Frno7wOu7BZuCLj2qep87Djz4FBcuWLN/+Z8bRLS6IBcY/yRRQi7k0dvcn
+MEq7x34T/BW5yz+oCFlq4JkkQXaNHcfMc56pwCQZspUjctYQpR6wrPNUEOPHh5/9
+18IPCOXJxM8MLZHsZiVoEjoBBnLQ1gfaQe7zgIMv/nxL+A/uFmfJR0e+TXJUoKk1
+JWyaqucWkJjGU/RWYSF838wAo+ZhPSLpxbjyFNgEHSNnuqhfZyB5onCt0QnP9o7U
+RXq/xmxY9jNy90Sgd7alKs/0xVu80BGki/a2B77Mj1bqFH7zZdC3IKj51lm5hBvl
+kbS+1VUvz9EtDl7/kKDRzn3RrSSY52MR08R4MK7wmBQ30Ta2jMGQNJdmqubPwNde
+tCrb86LmOohq0NZt6VTsJ/DoWicTdU3QhHI2XMqkZ6hVGsAi97nYZiQ16RFl69QO
+KvybpcRo3TR4eWtXmpjIQ4VmOPhsBmybhdAIcape8Rktd3nHXZM=
+=W2US
+-----END PGP SIGNATURE-----
diff --git a/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.md5 b/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.md5
new file mode 100644
index 0000000..9f84b25
--- /dev/null
+++ b/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.md5
@@ -0,0 +1 @@
+39fb5903843ee51cffdb07e3badcd0bb nginx-confgen-linux-amd64-1.2.tar.gz
diff --git a/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.sha1 b/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.sha1
new file mode 100644
index 0000000..d2e9e40
--- /dev/null
+++ b/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.sha1
@@ -0,0 +1 @@
+b54353a50fe254f55d6005dca4aefc25cb7ea8ac nginx-confgen-linux-amd64-1.2.tar.gz
diff --git a/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.sha256 b/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.sha256
new file mode 100644
index 0000000..18d1dae
--- /dev/null
+++ b/pub/download/nginx-confgen-linux-amd64-1.2.tar.gz.sha256
@@ -0,0 +1 @@
+cf1907b6b564baee5a0cba87113d1ff278da9f8a1d7aaced97b41e57eff08e4c nginx-confgen-linux-amd64-1.2.tar.gz
diff --git a/pub/img/info.svg b/pub/img/info.svg
new file mode 100644
index 0000000..46c448a
--- /dev/null
+++ b/pub/img/info.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/pub/style.css b/pub/style.css
index b487f0a..432623f 100644
--- a/pub/style.css
+++ b/pub/style.css
@@ -70,6 +70,16 @@ main .sig, main .sig a { font-size: 9px; color: #333; text-decoration: none }
.page-changelog > ul > li { margin-bottom: 1.3em }
.page-changelog li li { margin-left: 1em }
+.fileinfo { position: relative }
+.fileinfo input { display: none }
+.fileinfo label { cursor: pointer }
+.fileinfo label img { height: 12px }
+.fileinfo span label { position: absolute; right: 0; top: 0; padding: 5px }
+.fileinfo span { position: absolute; top: 25px; left: -80px; background: #eee; border: 1px dashed #000; padding: 15px; display: none; white-space: nowrap; z-index: 1 }
+.fileinfo span, .fileinfo span * { font-size: 12px }
+.fileinfo span em { display: inline-block; width: 70px; font-style: normal }
+.fileinfo input:checked ~ span { display: block }
+
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */