Load two (optional) config files: domains-exceptions and plugins.

This commit is contained in:
Frank Denis
2012-09-16 21:57:08 +02:00
parent 3fc0e7520f
commit 64a6e8612b
4 changed files with 20 additions and 1 deletions
@@ -15,6 +15,8 @@ FAMILYSHIELD_FILE="${CONTROL_DIR}/familyshield"
INSECURE_OPENDNS_FILE="${CONTROL_DIR}/insecure-opendns"
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"
INTERFACE_UNBOUND="127.0.0.53"
INTERFACE_UNBOUND_MASK="24"
@@ -4,6 +4,9 @@ RESOLVER_DIR='/etc/resolver'
. ./common.inc
[ -r "$DOMAINS_EXCEPTIONS_FILE" ] &&
DOMAINS_EXCEPTIONS="$(cat "$DOMAINS_EXCEPTIONS_FILE") $DOMAINS_EXCEPTIONS"
get_gw() {
route -n get default | while read line; do
case "$line" in
@@ -4,6 +4,9 @@ RESOLVER_DIR='/etc/resolver'
. ./common.inc
[ -r "$DOMAINS_EXCEPTIONS_FILE" ] &&
DOMAINS_EXCEPTIONS="$(cat "$DOMAINS_EXCEPTIONS_FILE") $DOMAINS_EXCEPTIONS"
for domain in $DOMAINS_EXCEPTIONS; do
rm -f "${RESOLVER_DIR}/${domain}"
done
@@ -19,6 +19,10 @@ mkdir -p -- "$DESCRIPTIONS_DIR" || exit 1
PID_DIR="${PROBES_BASE_DIR}/pids" || exit 1
mkdir -p -- "$PID_DIR" || exit 1
DNSCRYPT_PROXY_PLUGINS=""
[ -r "$DNSCRYPT_PROXY_PLUGINS_FILE" ] &&
DNSCRYPT_PROXY_PLUGINS="$(cat "$DNSCRYPT_PROXY_PLUGINS_FILE")"
try_resolver() {
local priority="$1"
shift
@@ -105,9 +109,16 @@ for pid in $wait_pids; do
done
[ x"$best_file" = "x" ] && exit 1
plugins_args=''
for plugin in $DNSCRYPT_PROXY_PLUGINS; do
plugin_args="${plugin_args} --plugin=${plugin}"
done
best_args=$(cat "${RES_DIR}/${best_file}")
dnscrypt-proxy $best_args --local-address="${INTERFACE_PROXY}" \
--pidfile="$PROXY_PID_FILE" --user=daemon --daemonize
--pidfile="$PROXY_PID_FILE" --user=daemon --daemonize $plugin_args
if [ $? != 0 ]; then
[ -r "$PROXY_PID_FILE" ] && kill $(cat -- "$PROXY_PID_FILE")
sleep 1