Stuart Cardall: 1 testing/dnscrypt-proxy: small bugfix setup-dnscrypt 2 files changed, 52 insertions(+), 19 deletions(-)
Il 2014-09-18 08:58 IT Developer ha scritto:
Hi Francesco, Sorry I didn't realise (I'm still running uclibc) - ignore this patch. I think dnscrypt needs to be rebuilt against the current version of libsodium - trying to install dnscrypt in musl complains of "libsodium.so.4 missing".
Francesco <francesco@bsod.eu>Actually, the missing library is not related to the patch. Let me know if you need help. -- :: Francesco :: Twit.....http://twitter.com/fcolista Jabber...francesco@jabber.org E-Mail...francesco@bsod.eu AboutMe..http://about.me/fcolista --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---
Stuart. On 09/18/2014 06:13 AM, Francesco wrote:
Copy & paste the following snippet into your terminal to import this patchset into git:
curl -s https://lists.alpinelinux.org/~alpine/devel/patches/847/mbox | git am -3Learn more about email & git
Minor change to /sbin/setup-dnscrypt to account for new github tags --- testing/dnscrypt-proxy/APKBUILD | 2 +- testing/dnscrypt-proxy/dnscrypt-proxy.setup | 69 +++++++++++++++++++++-------- 2 files changed, 52 insertions(+), 19 deletions(-) diff --git a/testing/dnscrypt-proxy/APKBUILD b/testing/dnscrypt-proxy/APKBUILD index 4ae7f41..eb362aa 100644 --- a/testing/dnscrypt-proxy/APKBUILD +++ b/testing/dnscrypt-proxy/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Francesco Colista <francesco.colista@gmail.com> pkgname=dnscrypt-proxy pkgver=1.4.0 -pkgrel=4 +pkgrel=5 pkgdesc="A tool for securing communications between a client and a DNS resolver" url="http://dnscrypt.org/" arch="all" diff --git a/testing/dnscrypt-proxy/dnscrypt-proxy.setup b/testing/dnscrypt-proxy/dnscrypt-proxy.setup index 92aafe1..eea49fa 100644 --- a/testing/dnscrypt-proxy/dnscrypt-proxy.setup +++ b/testing/dnscrypt-proxy/dnscrypt-proxy.setup @@ -215,38 +215,69 @@ fi ##### Download DNS Resolver details ################################################################ -url='https://raw.githubusercontent.com/jedisct1/dnscrypt-proxy/master/dnscrypt-resolvers.csv' +starttag='<thead>' +endtag='<\/table>' +url='https://github.com/jedisct1/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv' output='/tmp/dnscrypt.list' +IFS="|"
Francesco <francesco@bsod.eu>Hi Stuart. Why do you want still want to parse the html when you can have a clean CSV file? Basically you are reverting what I did in: http://git.alpinelinux.org/cgit/aports/commit/?id=7a7d2ea42d92ed9cc0bafd1ddcc00153a9ed6954 What kind of problems have you encountered in running that setup? Thanks! -- :: Francesco :: Twit.....http://twitter.com/fcolista Jabber...francesco@jabber.org E-Mail...francesco@bsod.eu AboutMe..http://about.me/fcolista --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---
echo -e "Retrieving current list of free DNS Resolvers\n" -wget -q --no-check-certificate $url -O $output +curl -k --compressed -o $output -s $url; sed -i -n "/$starttag/,/$endtag/p" $output -totalservers=$(cat $output | tail +2 | wc -l) +# remove leading & trailing whitespace +sed -i 's/^[ \t]*//;s/[ \t]*$//' $output + +deletetags='<thead>|<tr id=|<td 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 +#remove stray <td> under MUSL C +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/'/'/g" $output +# remove whitespace after pipe +sed -i 's/| */|/g' $output +# fix <td> on MUSL + + +totalservers=$(awk 'END{print NR}' $output) if [ $totalservers = 0 ]; then die "Could not contact $url" fi -#clear +clear # colour table ################################################################################## -colourheading=$(awk 'BEGIN { format = "%-8s%-40s%-18s%-10s%-10s%-10s%-25s\n" +colourheading=$(awk 'BEGIN { format = "%-3s%-40s%-18s%-10s%-10s%-10s%-25s\n" printf format, "#", "Name", "Location", "DNSSEC", "No Logs", "Namecoin", "Resolver Address" }') -colourline=$(awk 'BEGIN { format = "%-8s%-40s%-18s%-10s%-10s%-10s%-25s\n" +colourline=$(awk 'BEGIN { format = "%-3s%-40s%-18s%-10s%-10s%-10s%-25s\n" printf format, "---", "----------------------------------------", "------------------", "----------",\ "----------", "----------", "------------------------------------------" }') print_green "$colourheading" print_green "$colourline" -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 +awk 'BEGIN { format = "%-3s%-40s%-18s%-10s%-10s%-10s%-25s\n" } + { printf format,$1,$3,$5,$9,$10,$11,$12 }' FS=\| $output print_green "$colourline" print_question "Please choose a DNS Resolver for dnscrypt-proxy to query:" "[1 - $totalservers]" @@ -258,12 +289,9 @@ 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 @@ -273,9 +301,9 @@ fi done -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}') +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 }') ######## END Changes ########################################################################### @@ -359,3 +387,8 @@ fi restart_services exit 0 + + + + + -- 2.1.0 --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---
Francesco <francesco@bsod.eu>Il 2014-09-18 05:53 Stuart Cardall ha scritto: