Files
dnscrypt-osxclient/DNSCrypt-Preference-Pane/DNSCrypt/extra/usr/scripts/check-hijacking.sh
T

35 lines
675 B
Bash
Executable File

#! /bin/sh
. ./common.inc
try_resolution() {
exec alarmer 5 dig +tries=2 +time=3 +short resolver1.opendns.com \
| egrep '^208[.]67[.]' > /dev/null 2>&1
}
try_http_query() {
exec alarmer 5 curl -m 5 http://www.opendns.com 2>/dev/null | \
fgrep -ic OpenDNS > /dev/null 2>&1
}
try_everything() {
try_resolution &
resolution_pid=$!
try_http_query &
http_query_pid=$!
wait $resolution_pid
resolution_ret=$?
if [ $resolution_ret != 0 ]; then
return 1
fi
wait $http_query_pid
http_query_ret=$?
[ $resolution_ret = 0 -a $http_query_ret = 0 ]
}
try_everything_with_retries() {
try_everything || try_everything
}
try_everything_with_retries