Add preliminary support for static DNS settings.

This commit is contained in:
Frank Denis
2012-09-18 23:07:09 +02:00
parent 64a6e8612b
commit 7e3135fe86
2 changed files with 12 additions and 1 deletions
@@ -17,6 +17,7 @@ FALLBACK_FILE="${CONTROL_DIR}/fallback"
HANDLERS_LOCK_FILE="/var/run/dnscrypt-handlers.lock"
DOMAINS_EXCEPTIONS_FILE="${CONTROL_DIR}/domains-exceptions"
DNSCRYPT_PROXY_PLUGINS_FILE="${CONTROL_DIR}/plugins"
STATIC_RESOLVERS_FILE="${CONTROL_DIR}/static-resolvers"
INTERFACE_UNBOUND="127.0.0.53"
INTERFACE_UNBOUND_MASK="24"
@@ -4,12 +4,22 @@
servers='empty'
if [ -r "$STATIC_RESOLVERS_FILE" ]; then
servers=''
while read server; do
case "$server" in
[0-9a-fA-F:.]*) servers="${servers} ${server}" ;;
esac
done < "$STATIC_RESOLVERS_FILE"
[ -z "$servers" ] && servers='empty'
fi
[ -e "$INSECURE_OPENDNS_FILE" ] && servers='208.67.220.220'
[ -e "$FAMILYSHIELD_FILE" ] && servers='208.67.220.123'
exec networksetup -listallnetworkservices 2>/dev/null | \
fgrep -v '*' | while read x ; do
networksetup -setdnsservers "$x" "$servers"
networksetup -setdnsservers "$x" $servers
done
dscacheutil -flushcache 2> /dev/null
killall -HUP mDNSResponder 2> /dev/null