Commit 7a7d2ea4 authored by Francesco Colista's avatar Francesco Colista

testing/dnscrypt-proxy: review of setup script. Substituded html with csv, minor improvements.

parent 924ee3e4
......@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <francesco.colista@gmail.com>
pkgname=dnscrypt-proxy
pkgver=1.4.0
pkgrel=1
pkgrel=2
pkgdesc="A tool for securing communications between a client and a DNS resolver"
url="http://dnscrypt.org/"
arch="all"
......@@ -10,7 +10,7 @@ license="custom"
depends="libsodium"
depends_dev="libtool automake autoconf libsodium-dev"
makedepends="$depends_dev"
install="$pkgname.post-install $pkgname.pre-install"
install="$pkgname.pre-install"
pkgusers=dnscrypt
pkggroups=dnscrypt
subpackages="$pkgname-doc $pkgname-setup"
......
#!/bin/sh
NORMAL="\033[1;0m"
STRONG="\033[1;1m"
GREEN="\033[1;32m"
print_strong() {
local prompt="${STRONG}$1 ${GREEN}$2${NORMAL}"
printf "${prompt} %s\n"
}
print_strong "\nTo configure alternative DNS Resolvers & DNS caching please run:" "\n\n/sbin/setup-dnscrypt\n"
exit 0
......@@ -215,65 +215,38 @@ fi
##### Download DNS Resolver details ################################################################
starttag='<thead>'
endtag='<\/table>'
url='https://github.com/jedisct1/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv'
url='https://raw.githubusercontent.com/jedisct1/dnscrypt-proxy/master/dnscrypt-resolvers.csv'
output='/tmp/dnscrypt.list'
IFS="|"
echo -e "Retrieving current list of free DNS Resolvers\n"
curl -k --compressed -o $output -s $url; sed -i -n "/$starttag/,/$endtag/p" $output
wget -q --no-check-certificate $url -O $output
# remove leading & trailing whitespace
sed -i 's/^[ \t]*//;s/[ \t]*$//' $output
deletetags='<thead>|<tr id=|<td class=|<span id=|<tbody>|<th>|<\/tr>|<\/thead>|<\/tbody>|<\/table>'
# remove rows without data (& the headers in <th>)
for tags in $deletetags
do
sed -i '/'$tags'/d' $output
done
#remove stray </td>
sed -i "s/^<\/td>//g" $output
# delete empty lines
sed -i '/^$/d' $output
# change rows to columns
awk 'ORS=NR%14?" ":"\n"' $output > $output.table
# replace closing tags with pipe
sed -i 's/<\/td>/|/g' $output.table
sed -i 's/<\/th>/|/g' $output.table
# remove remaining html tags
sed -i 's/<[^>]\+>//g' $output.table
# number rows
awk '{ print FNR "|" $0 }' $output.table > $output; rm $output.table
# tidy up after AWK
sed -i "s/&#39;/'/g" $output
# remove whitespace after pipe
sed -i 's/| */|/g' $output
totalservers=$(awk 'END{print NR}' $output)
totalservers=$(cat $output | tail +2 | wc -l)
if [ $totalservers = 0 ]; then
die "Could not contact $url"
fi
clear
#clear
# colour table ##################################################################################
colourheading=$(awk 'BEGIN { format = "%-3s%-40s%-18s%-10s%-10s%-10s%-25s\n"
colourheading=$(awk 'BEGIN { format = "%-8s%-40s%-18s%-10s%-10s%-10s%-25s\n"
printf format, "#", "Name", "Location", "DNSSEC", "No Logs", "Namecoin", "Resolver Address" }')
colourline=$(awk 'BEGIN { format = "%-3s%-40s%-18s%-10s%-10s%-10s%-25s\n"
colourline=$(awk 'BEGIN { format = "%-8s%-40s%-18s%-10s%-10s%-10s%-25s\n"
printf format, "---", "----------------------------------------", "------------------", "----------",\
"----------", "----------", "------------------------------------------" }')
print_green "$colourheading"
print_green "$colourline"
awk 'BEGIN { format = "%-3s%-40s%-18s%-10s%-10s%-10s%-25s\n" }
{ printf format,$1,$3,$5,$9,$10,$11,$12 }' FS=\| $output
sed -i -e "s/..$//g" $output
tmpfile=$(mktemp)
cat $output | awk 'BEGIN{FS=""}{gsub(/,\ /,"\ "); print}'|tail +2 > $tmpfile
awk -F"\," 'BEGIN {format="%-8s%-40s%-18s%-10s%-10s%-10s%-25s\n"}{ printf format, "\["NR"\]",$1,$4,$8,$9,$10,$11}' $tmpfile
print_green "$colourline"
print_question "Please choose a DNS Resolver for dnscrypt-proxy to query:" "[1 - $totalservers]"
......@@ -285,9 +258,12 @@ do
read DNS
echo "DNS: $DNS"
# Sanitize input to an integer
export DNS_CLEAN="`echo "${DNS}" | tr -cd '[:[0-9]:]'`"
echo "DNS_CLEAN: $DNS_CLEAN"
if [ $DNS_CLEAN -gt 0 2>/dev/null ] && [ $DNS_CLEAN -le $totalservers 2>/dev/null ]; then
break
else
......@@ -297,9 +273,9 @@ fi
done
RESOLVER=$(sed -n "$DNS_CLEAN"p $output | awk -F'|' '{ print $12 }')
PROVIDER=$(sed -n "$DNS_CLEAN"p $output | awk -F'|' '{ print $13 }')
PUBKEY=$(sed -n "$DNS_CLEAN"p $output | awk -F'|' '{ print $14 }')
RESOLVER=$(cat $tmpfile | tr -d "\"" | tr "," ";" | sed -n "$DNS_CLEAN"p |awk -F';' '{print $11}')
PROVIDER=$(cat $tmpfile | tr -d "\"" | tr "," ";" | sed -n "$DNS_CLEAN"p |awk -F';' '{print $12}')
PUBKEY=$(cat $tmpfile | tr -d "\"" | tr "," ";" | sed -n "$DNS_CLEAN"p |awk -F';' '{print $13}')
######## END Changes ###########################################################################
......@@ -383,8 +359,3 @@ fi
restart_services
exit 0
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment