mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 15:38:40 +01:00
@@ -6,7 +6,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=adblock
|
PKG_NAME:=adblock
|
||||||
PKG_VERSION:=2.3.2
|
PKG_VERSION:=2.4.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_LICENSE:=GPL-3.0+
|
PKG_LICENSE:=GPL-3.0+
|
||||||
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
|
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
|
|||||||
* automatically selects uclient-fetch or wget as download utility (other tools like curl or aria2c are supported as well)
|
* automatically selects uclient-fetch or wget as download utility (other tools like curl or aria2c are supported as well)
|
||||||
* automatically supports a wide range of router modes, even AP modes are supported
|
* automatically supports a wide range of router modes, even AP modes are supported
|
||||||
* full IPv4 and IPv6 support
|
* full IPv4 and IPv6 support
|
||||||
|
* supports tld compression (top level domain compression), this feature removes thousands of needless host entries from the block lists and lowers the memory footprint for the dns backends
|
||||||
* each block list source will be updated and processed separately
|
* each block list source will be updated and processed separately
|
||||||
* block list source parsing by fast & flexible regex rulesets
|
* block list source parsing by fast & flexible regex rulesets
|
||||||
* overall duplicate removal in separate block lists
|
* overall duplicate removal in separate block lists
|
||||||
@@ -120,6 +121,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
|
|||||||
* adb\_iface => restrict the procd interface trigger to a (list of) certain wan interface(s) or disable it at all (default: not set, disabled)
|
* adb\_iface => restrict the procd interface trigger to a (list of) certain wan interface(s) or disable it at all (default: not set, disabled)
|
||||||
* adb\_fetch => full path to a different download utility, see example below (default: not set, use wget)
|
* adb\_fetch => full path to a different download utility, see example below (default: not set, use wget)
|
||||||
* adb\_fetchparm => options for the download utility, see example below (default: not set, use wget options)
|
* adb\_fetchparm => options for the download utility, see example below (default: not set, use wget options)
|
||||||
|
* adb\_tldcomp => enable/disable tld compression (default: '1', enabled)
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
@@ -136,19 +138,19 @@ If you use manual configuration for unbound, then just include the following lin
|
|||||||
<pre><code>
|
<pre><code>
|
||||||
wget (default):
|
wget (default):
|
||||||
option adb_fetch="/usr/bin/wget"
|
option adb_fetch="/usr/bin/wget"
|
||||||
option adb_fetchparm="--no-config --quiet --tries=1 --no-cache --no-cookies --max-redirect=0 --timeout=5 --no-check-certificate -O"
|
option adb_fetchparm="--no-config --quiet --no-cache --no-cookies --max-redirect=0 --timeout=10 --no-check-certificate -O"
|
||||||
|
|
||||||
aria2c:
|
aria2c:
|
||||||
option adb_fetch '/usr/bin/aria2c'
|
option adb_fetch '/usr/bin/aria2c'
|
||||||
option adb_fetchparm '-q --max-tries=1 --timeout=5 --allow-overwrite=true --auto-file-renaming=false --check-certificate=false -o'
|
option adb_fetchparm '-q --timeout=10 --allow-overwrite=true --auto-file-renaming=false --check-certificate=false -o'
|
||||||
|
|
||||||
uclient-fetch:
|
uclient-fetch:
|
||||||
option adb_fetch '/bin/uclient-fetch'
|
option adb_fetch '/bin/uclient-fetch'
|
||||||
option adb_fetchparm '-q --timeout=5 --no-check-certificate -O'
|
option adb_fetchparm '-q --timeout=10 --no-check-certificate -O'
|
||||||
|
|
||||||
curl:
|
curl:
|
||||||
option adb_fetch '/usr/bin/curl'
|
option adb_fetch '/usr/bin/curl'
|
||||||
option adb_fetchparm '-s --retry 1 --connect-timeout 5 --insecure -o'
|
option adb_fetchparm '-s --connect-timeout 10 --insecure -o'
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
**receive adblock statistics via ubus:**
|
**receive adblock statistics via ubus:**
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ start_service()
|
|||||||
if [ $(/etc/init.d/adblock enabled; printf ${?}) -eq 0 ]
|
if [ $(/etc/init.d/adblock enabled; printf ${?}) -eq 0 ]
|
||||||
then
|
then
|
||||||
procd_open_instance "adblock"
|
procd_open_instance "adblock"
|
||||||
procd_set_param env adb_procd="true"
|
|
||||||
procd_set_param command "${adb_script}" "${@}"
|
procd_set_param command "${adb_script}" "${@}"
|
||||||
procd_set_param stdout 1
|
procd_set_param stdout 1
|
||||||
procd_set_param stderr 1
|
procd_set_param stderr 1
|
||||||
@@ -52,7 +51,6 @@ reload_service()
|
|||||||
|
|
||||||
stop_service()
|
stop_service()
|
||||||
{
|
{
|
||||||
export adb_procd="true"
|
|
||||||
rc_procd "${adb_script}" stop
|
rc_procd "${adb_script}" stop
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -73,7 +71,6 @@ resume()
|
|||||||
|
|
||||||
query()
|
query()
|
||||||
{
|
{
|
||||||
export adb_procd="true"
|
|
||||||
rc_procd "${adb_script}" query "${1}"
|
rc_procd "${adb_script}" query "${1}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,8 +78,6 @@ service_triggers()
|
|||||||
{
|
{
|
||||||
local iface="$(uci -q get adblock.global.adb_iface)"
|
local iface="$(uci -q get adblock.global.adb_iface)"
|
||||||
|
|
||||||
procd_open_trigger
|
|
||||||
procd_add_config_trigger "config.change" "adblock" /etc/init.d/adblock start
|
|
||||||
if [ -z "${iface}" ]
|
if [ -z "${iface}" ]
|
||||||
then
|
then
|
||||||
procd_add_raw_trigger "interface.*.up" 1000 /etc/init.d/adblock start
|
procd_add_raw_trigger "interface.*.up" 1000 /etc/init.d/adblock start
|
||||||
@@ -92,5 +87,5 @@ service_triggers()
|
|||||||
procd_add_interface_trigger "interface.*.up" "${name}" /etc/init.d/adblock start
|
procd_add_interface_trigger "interface.*.up" "${name}" /etc/init.d/adblock start
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
procd_close_trigger
|
procd_add_config_trigger "config.change" "adblock" /etc/init.d/adblock start
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,10 +10,11 @@
|
|||||||
#
|
#
|
||||||
LC_ALL=C
|
LC_ALL=C
|
||||||
PATH="/usr/sbin:/usr/bin:/sbin:/bin"
|
PATH="/usr/sbin:/usr/bin:/sbin:/bin"
|
||||||
adb_ver="2.3.2"
|
adb_ver="2.4.0"
|
||||||
adb_enabled=1
|
adb_enabled=1
|
||||||
adb_debug=0
|
adb_debug=0
|
||||||
adb_backup=0
|
adb_backup=0
|
||||||
|
adb_tldcomp=1
|
||||||
adb_backupdir="/mnt"
|
adb_backupdir="/mnt"
|
||||||
adb_whitelist="/etc/adblock/adblock.whitelist"
|
adb_whitelist="/etc/adblock/adblock.whitelist"
|
||||||
adb_whitelist_rset="\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\"^\"\$1\"\\\|[.]\"\$1)}"
|
adb_whitelist_rset="\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\"^\"\$1\"\\\|[.]\"\$1)}"
|
||||||
@@ -324,7 +325,11 @@ f_log()
|
|||||||
then
|
then
|
||||||
logger -t "adblock-[${adb_ver}] ${class}" "Please check the online documentation 'https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md'"
|
logger -t "adblock-[${adb_ver}] ${class}" "Please check the online documentation 'https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md'"
|
||||||
f_rmtemp
|
f_rmtemp
|
||||||
|
if [ "$(ls -dA "${adb_dnsdir}/${adb_dnsprefix}"* >/dev/null 2>&1)" ]
|
||||||
|
then
|
||||||
f_rmdns
|
f_rmdns
|
||||||
|
f_dnsrestart
|
||||||
|
fi
|
||||||
exit 255
|
exit 255
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -389,13 +394,20 @@ f_main()
|
|||||||
adb_rc=${?}
|
adb_rc=${?}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# check download result and prepare domain output (incl. list backup/restore)
|
# check download result and prepare domain output (incl. tld compression, list backup & restore)
|
||||||
#
|
#
|
||||||
if [ ${adb_rc} -eq 0 ] && [ -s "${adb_tmpload}" ]
|
if [ ${adb_rc} -eq 0 ] && [ -s "${adb_tmpload}" ]
|
||||||
then
|
then
|
||||||
awk "${src_rset}" "${adb_tmpload}" > "${adb_tmpfile}"
|
awk "${src_rset}" "${adb_tmpload}" > "${adb_tmpfile}"
|
||||||
if [ -s "${adb_tmpfile}" ]
|
if [ -s "${adb_tmpfile}" ]
|
||||||
then
|
then
|
||||||
|
if [ ${adb_tldcomp} -eq 1 ]
|
||||||
|
then
|
||||||
|
awk -F "." '{for(f=NF;f > 1;f--) printf "%s.", $f;print $1}' "${adb_tmpfile}" | sort -u > "${adb_tmpload}"
|
||||||
|
awk '{if(NR==1){tld=$NF};while(getline){if($NF !~ tld"\\."){print tld;tld=$NF}}print tld}' "${adb_tmpload}" > "${adb_tmpfile}"
|
||||||
|
awk -F "." '{for(f=NF;f > 1;f--) printf "%s.", $f;print $1}' "${adb_tmpfile}" > "${adb_tmpload}"
|
||||||
|
mv -f "${adb_tmpload}" "${adb_tmpfile}"
|
||||||
|
fi
|
||||||
f_list backup
|
f_list backup
|
||||||
else
|
else
|
||||||
f_list restore
|
f_list restore
|
||||||
@@ -410,9 +422,9 @@ f_main()
|
|||||||
then
|
then
|
||||||
if [ -s "${adb_tmpdir}/tmp.whitelist" ]
|
if [ -s "${adb_tmpdir}/tmp.whitelist" ]
|
||||||
then
|
then
|
||||||
grep -vf "${adb_tmpdir}/tmp.whitelist" "${adb_tmpfile}" | sort -u | eval "${adb_dnsformat}" > "${adb_dnsfile}"
|
grep -vf "${adb_tmpdir}/tmp.whitelist" "${adb_tmpfile}" | eval "${adb_dnsformat}" > "${adb_dnsfile}"
|
||||||
else
|
else
|
||||||
sort -u "${adb_tmpfile}" | eval "${adb_dnsformat}" > "${adb_dnsfile}"
|
cat "${adb_tmpfile}" | eval "${adb_dnsformat}" > "${adb_dnsfile}"
|
||||||
fi
|
fi
|
||||||
adb_rc=${?}
|
adb_rc=${?}
|
||||||
if [ ${adb_rc} -ne 0 ]
|
if [ ${adb_rc} -ne 0 ]
|
||||||
@@ -472,10 +484,8 @@ f_main()
|
|||||||
|
|
||||||
# handle different adblock actions
|
# handle different adblock actions
|
||||||
#
|
#
|
||||||
if [ "${adb_procd}" = "true" ]
|
f_envload
|
||||||
then
|
case "${1}" in
|
||||||
f_envload
|
|
||||||
case "${1}" in
|
|
||||||
stop)
|
stop)
|
||||||
f_rmtemp
|
f_rmtemp
|
||||||
f_rmdns
|
f_rmdns
|
||||||
@@ -500,6 +510,5 @@ then
|
|||||||
f_envcheck
|
f_envcheck
|
||||||
f_main
|
f_main
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
Reference in New Issue
Block a user