* new package dependencies: coreultis-sort and a download util with SSL support * focus on speed (multicore-support) to handle quite big lists * include 38 pre-configured blocklist sources in a compressed json file (/etc/adblock/adblock.sources.gz) * dynamic SafeSearch support for google, bing, duckduckgo, yandex, youtube and pixabay (CNAME (bind) & IP (dnsmaq, unbound)) * DNS backend autodetection * Download Utility autodetection * Report Interface autodetection * Easy cron wrapper to set an adblock related auto-timer for automatic blocklist updates * raw domain/blocklist support (e.g. for dnscrypt support) * re-add restrictive Jaillist support * rework online doc * Complete LuCI rewrite (migrated to client side JS) Signed-off-by: Dirk Brenken <dev@brenken.org>
37 lines
1,016 B
Bash
Executable file
37 lines
1,016 B
Bash
Executable file
#!/bin/sh
|
|
# ubus monitor to trace dns backend events and conditionally restart adblock
|
|
# Copyright (c) 2015-2020 Dirk Brenken (dev@brenken.org)
|
|
# This is free software, licensed under the GNU General Public License v3.
|
|
|
|
LC_ALL=C
|
|
PATH="/usr/sbin:/usr/bin:/sbin:/bin"
|
|
|
|
if [ -r "/lib/functions.sh" ]
|
|
then
|
|
. "/lib/functions.sh"
|
|
adb_dns="$(uci_get adblock global adb_dns)"
|
|
fi
|
|
adb_ver="${1}"
|
|
adb_ubus="$(command -v ubus)"
|
|
adb_logger="$(command -v logger)"
|
|
|
|
f_log()
|
|
{
|
|
local class="${1}" log_msg="${2}"
|
|
|
|
if [ -x "${adb_logger}" ]
|
|
then
|
|
"${adb_logger}" -p "${class}" -t "adblock-${adb_ver}[${$}]" "${log_msg}"
|
|
else
|
|
printf "%s %s %s\\n" "${class}" "adblock-${adb_ver}[${$}]" "${log_msg}"
|
|
fi
|
|
}
|
|
|
|
if [ -x "${adb_ubus}" ] && [ -n "${adb_dns}" ]
|
|
then
|
|
f_log "info" "ubus/adblock monitor started"
|
|
"${adb_ubus}" -S -M r -m invoke monitor | \
|
|
{ grep -qE "\"method\":\"(set|signal)\",\"data\":\{\"name\":\"${adb_dns}\""; [ $? -eq 0 ] && /etc/init.d/adblock start; }
|
|
else
|
|
f_log "err" "can't start ubus/adblock monitor"
|
|
fi
|