mirror of
https://github.com/openwrt/packages.git
synced 2026-05-31 06:51:51 +08:00
adblock: update 4.5.5-3
- added 4 missing hagezi categories - added 2 missing ipfire dbl categories - fixed 2 stevenblack categories - minor code improvements and fixes Signed-off-by: Dirk Brenken <dev@brenken.org>
This commit is contained in:
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=adblock
|
||||
PKG_VERSION:=4.5.5
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
PKG_LICENSE:=GPL-3.0-or-later
|
||||
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ hag;tracker.apple;wildcard/native.apple-onlydomains.txt
|
||||
hag;tracker.huawei;wildcard/native.huawei-onlydomains.txt
|
||||
hag;tracker.lgwebos;wildcard/native.lgwebos-onlydomains.txt
|
||||
hag;tracker.oppo-realme;wildcard/native.oppo-realme-onlydomains.txt
|
||||
hag;tracker.roku;wildcard/native.roku-onlydomains.txt
|
||||
hag;tracker.samsung;wildcard/native.samsung-onlydomains.txt
|
||||
hag;tracker.tiktok;wildcard/native.tiktok-onlydomains.txt
|
||||
hag;tracker.tiktok.extended;wildcard/native.tiktok.extended-onlydomains.txt
|
||||
@@ -36,6 +37,9 @@ hag;popupads;wildcard/popupads-onlydomains.txt
|
||||
hag;urlshortener;wildcard/urlshortener-onlydomains.txt
|
||||
hag;abusetlds;wildcard/spam-tlds-onlydomains.txt
|
||||
hag;social;wildcard/social-onlydomains.txt
|
||||
hag;dga-7days;domains/dga7.txt
|
||||
hag;dga-14days;domains/dga14.txt
|
||||
hag;dga-30days;domains/dga30.txt
|
||||
hag;nrd-7days;domains/nrd7.txt
|
||||
hag;nrd-14days;domains/nrd14-8.txt
|
||||
hag;nrd-21days;domains/nrd21-15.txt
|
||||
@@ -52,14 +56,16 @@ ipf;malware;malware/domains.txt
|
||||
ipf;phishing;phishing/domains.txt
|
||||
ipf;piracy;piracy/domains.txt
|
||||
ipf;porn;porn/domains.txt
|
||||
ipf;shopping;shopping/domains.txt
|
||||
ipf;smart-tv;smart-tv/domains.txt
|
||||
ipf;social;social/domains.txt
|
||||
ipf;streaming;streaming/domains.txt
|
||||
ipf;violence;violence/domains.txt
|
||||
stb;standard;hosts
|
||||
stb;standard-fakenews;alternates/fakenews/hosts
|
||||
stb;standard-fakenews-gambling;alternates/fakenews-gambling/hosts
|
||||
stb;standard-fakenews-gambling-porn;alternates/fakenews-gambling-porn/hosts
|
||||
stb;standard-fakenews-gambling-porn-social;alternates/fakenews-porn-social/hosts
|
||||
stb;standard-fakenews-gambling-porn-social;alternates/fakenews-gambling-porn-social/hosts
|
||||
stb;standard-fakenews-gambling-social;alternates/fakenews-gambling-social/hosts
|
||||
stb;standard-fakenews-porn;alternates/fakenews-porn/hosts
|
||||
stb;standard-fakenews-porn-social;alternates/fakenews-porn-social/hosts
|
||||
@@ -74,7 +80,7 @@ stb;standard-social;alternates/social/hosts
|
||||
stb;fakenews;alternates/fakenews-only/hosts
|
||||
stb;fakenews-gambling;alternates/fakenews-gambling-only/hosts
|
||||
stb;fakenews-gambling-porn;alternates/fakenews-gambling-porn-only/hosts
|
||||
stb;fakenews-gambling-porn-social;alternates/fakenews-porn-social-only/hosts
|
||||
stb;fakenews-gambling-porn-social;alternates/fakenews-gambling-porn-social-only/hosts
|
||||
stb;fakenews-gambling-social;alternates/fakenews-gambling-social-only/hosts
|
||||
stb;fakenews-porn;alternates/fakenews-porn-only/hosts
|
||||
stb;fakenews-porn-social;alternates/fakenews-porn-social-only/hosts
|
||||
|
||||
@@ -87,12 +87,12 @@ f_cmd() {
|
||||
local cmd pri_cmd="${1}" sec_cmd="${2}"
|
||||
|
||||
cmd="$(command -v "${pri_cmd}" 2>/dev/null)"
|
||||
if [ ! -x "${cmd}" ]; then
|
||||
if [ -z "${cmd}" ]; then
|
||||
if [ -n "${sec_cmd}" ]; then
|
||||
[ "${sec_cmd}" = "optional" ] && return
|
||||
cmd="$(command -v "${sec_cmd}" 2>/dev/null)"
|
||||
fi
|
||||
if [ -x "${cmd}" ]; then
|
||||
if [ -n "${cmd}" ]; then
|
||||
printf '%s' "${cmd}"
|
||||
else
|
||||
f_log "emerg" "command '${pri_cmd:-"-"}'/'${sec_cmd:-"-"}' not found"
|
||||
@@ -116,7 +116,7 @@ f_load() {
|
||||
adb_errorlog="/dev/null"
|
||||
fi
|
||||
|
||||
# fetch installed packages amd system information
|
||||
# fetch installed packages and system information
|
||||
#
|
||||
adb_packages="$("${adb_ubuscmd}" -S call rpc-sys packagelist '{ "all": true }' 2>>"${adb_errorlog}")"
|
||||
adb_bver="$(printf '%s' "${adb_packages}" | "${adb_jsoncmd}" -ql1 -e '@.packages.adblock')"
|
||||
@@ -179,7 +179,7 @@ f_load() {
|
||||
)
|
||||
sleep 1
|
||||
bg_pid="$("${adb_pgrepcmd}" -nf "${adb_reportdir}/adb_report.pcap")"
|
||||
f_log "info" "tcpdump backgound process started for interface: ${adb_repiface}, port: ${adb_repport}, dir: ${adb_reportdir}, pid: ${bg_pid}"
|
||||
f_log "info" "tcpdump background process started for interface: ${adb_repiface}, port: ${adb_repport}, dir: ${adb_reportdir}, pid: ${bg_pid}"
|
||||
else
|
||||
f_log "info" "please set the reporting interface 'adb_repiface' and reporting directory 'adb_reportdir' manually"
|
||||
fi
|
||||
@@ -251,7 +251,7 @@ f_conf() {
|
||||
# domain validation
|
||||
#
|
||||
f_chkdom() {
|
||||
local type prefix column separator check
|
||||
local type prefix column separator
|
||||
|
||||
case "${1}" in
|
||||
"feed" | "local")
|
||||
@@ -277,8 +277,7 @@ f_chkdom() {
|
||||
;;
|
||||
esac
|
||||
|
||||
check="${adb_lookupdomain//./\\.}"
|
||||
"${adb_awkcmd}" -v type="${type}" -v pre="${prefix}" -v col="${column}" -v chk="${check}" -F "${separator}" '
|
||||
"${adb_awkcmd}" -v type="${type}" -v pre="${prefix}" -v col="${column}" -v chk="${adb_lookupdomain}" -F "${separator}" '
|
||||
{
|
||||
domain = $col
|
||||
# remove carriage returns and trim the input
|
||||
@@ -288,7 +287,7 @@ f_chkdom() {
|
||||
# check optional search prefix
|
||||
if (pre != "" && index($0, pre) != 1) next
|
||||
# skip empty lines, comments and special domains
|
||||
if (domain == "" || domain ~ ("^(#|localhost|loopback|" chk ")")) next
|
||||
if (domain == "" || domain ~ /^(#|localhost|loopback)/ || index(domain, chk) == 1) next
|
||||
# no domain with trailing dot
|
||||
if (substr(domain, length(domain), 1) == ".") next
|
||||
# check total length (253 characters)
|
||||
@@ -342,7 +341,7 @@ f_dns() {
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -x "$(command -v "${dns}")" ]; then
|
||||
if command -v "${dns}" >/dev/null 2>&1; then
|
||||
adb_dns="${dns}"
|
||||
uci_set adblock global adb_dns "${dns}"
|
||||
f_uci "adblock"
|
||||
@@ -352,7 +351,7 @@ f_dns() {
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "${adb_dns}" != "raw" ] && [ ! -x "$(command -v "${adb_dns}")" ]; then
|
||||
if [ "${adb_dns}" != "raw" ] && ! command -v "${adb_dns}" >/dev/null 2>&1; then
|
||||
f_log "err" "dns backend not found, please set 'adb_dns' manually"
|
||||
fi
|
||||
|
||||
@@ -391,7 +390,7 @@ f_dns() {
|
||||
}
|
||||
;;
|
||||
"unbound")
|
||||
adb_dnscachecmd="$(command -v unbound-control)"
|
||||
adb_dnscachecmd="$(f_cmd unbound-control optional)"
|
||||
adb_dnsinstance=""
|
||||
adb_dnsuser="unbound"
|
||||
adb_dnsdir="${adb_dnsdir:-"/var/lib/unbound"}"
|
||||
@@ -415,7 +414,7 @@ f_dns() {
|
||||
}
|
||||
;;
|
||||
"named")
|
||||
adb_dnscachecmd="$(command -v rndc)"
|
||||
adb_dnscachecmd="$(f_cmd rndc optional)"
|
||||
adb_dnsinstance=""
|
||||
adb_dnsuser="bind"
|
||||
adb_dnsdir="${adb_dnsdir:-"/var/lib/bind"}"
|
||||
@@ -539,8 +538,8 @@ f_dns() {
|
||||
f_fetch() {
|
||||
local fetch fetch_list insecure update="0"
|
||||
|
||||
adb_fetchcmd="$(command -v "${adb_fetchcmd}")"
|
||||
if [ ! -x "${adb_fetchcmd}" ]; then
|
||||
adb_fetchcmd="$(command -v "${adb_fetchcmd}" 2>/dev/null)"
|
||||
if [ -z "${adb_fetchcmd}" ]; then
|
||||
fetch_list="curl wget-ssl libustream-openssl libustream-wolfssl libustream-mbedtls"
|
||||
for fetch in ${fetch_list}; do
|
||||
case "${adb_packages}" in *"\"${fetch}\""*)
|
||||
@@ -552,9 +551,9 @@ f_fetch() {
|
||||
fetch="uclient-fetch"
|
||||
;;
|
||||
esac
|
||||
if [ -x "$(command -v "${fetch}")" ]; then
|
||||
adb_fetchcmd="$(command -v "${fetch}" 2>/dev/null)"
|
||||
if [ -n "${adb_fetchcmd}" ]; then
|
||||
update="1"
|
||||
adb_fetchcmd="$(command -v "${fetch}")"
|
||||
uci_set adblock global adb_fetchcmd "${fetch}"
|
||||
f_uci "adblock"
|
||||
break
|
||||
@@ -564,7 +563,7 @@ f_fetch() {
|
||||
done
|
||||
fi
|
||||
|
||||
[ ! -x "${adb_fetchcmd}" ] && f_log "err" "download utility with SSL support not found, please set 'adb_fetchcmd' manually"
|
||||
[ -z "${adb_fetchcmd}" ] && f_log "err" "download utility with SSL support not found, please set 'adb_fetchcmd' manually"
|
||||
|
||||
case "${adb_fetchcmd##*/}" in
|
||||
"curl")
|
||||
@@ -849,9 +848,16 @@ f_etag() {
|
||||
|
||||
# compare http code and etag id with stored values, update etag file and return code accordingly
|
||||
#
|
||||
etag_cnt="$("${adb_grepcmd}" -c "^${feed} " "${adb_backupdir}/adblock.etag")"
|
||||
etag_cnt="$("${adb_awkcmd}" -v f="${feed}" '$1 == f { n++ } END { print n+0 }' "${adb_backupdir}/adblock.etag")"
|
||||
if [ "${http_code}" = "200" ] && [ "${etag_cnt}" = "${feed_cnt}" ] && [ -n "${etag_id}" ] &&
|
||||
"${adb_grepcmd}" -q "^${feed} ${feed_suffix}[[:space:]]\+${etag_id}\$" "${adb_backupdir}/adblock.etag"; then
|
||||
"${adb_awkcmd}" -v f="${feed}" -v s="${feed_suffix}" -v e="${etag_id}" '
|
||||
BEGIN { rc = 1; p = f " " s }
|
||||
index($0, p) == 1 {
|
||||
rest = substr($0, length(p) + 1)
|
||||
sub(/^[[:space:]]+/, "", rest)
|
||||
if (rest == e) { rc = 0; exit }
|
||||
}
|
||||
END { exit rc }' "${adb_backupdir}/adblock.etag"; then
|
||||
out_rc="0"
|
||||
elif [ -n "${etag_id}" ]; then
|
||||
|
||||
@@ -859,11 +865,16 @@ f_etag() {
|
||||
# otherwise only remove the entry with the matching feed suffix (feed url) to allow multiple sources for the same feed
|
||||
#
|
||||
if [ "${feed_cnt}" -lt "${etag_cnt}" ]; then
|
||||
"${adb_sedcmd}" -i "/^${feed} /d" "${adb_backupdir}/adblock.etag"
|
||||
"${adb_awkcmd}" -v f="${feed}" '$1 != f' \
|
||||
"${adb_backupdir}/adblock.etag" >"${adb_backupdir}/adblock.etag.new"
|
||||
else
|
||||
"${adb_sedcmd}" -i "/^${feed} ${feed_suffix//\//\\/}/d" "${adb_backupdir}/adblock.etag"
|
||||
"${adb_awkcmd}" -v f="${feed}" -v s="${feed_suffix}" '
|
||||
BEGIN { p = f " " s }
|
||||
index($0, p) != 1' \
|
||||
"${adb_backupdir}/adblock.etag" >"${adb_backupdir}/adblock.etag.new"
|
||||
fi
|
||||
printf '%-80s%s\n' "${feed} ${feed_suffix}" "${etag_id}" >>"${adb_backupdir}/adblock.etag"
|
||||
"${adb_mvcmd}" -f "${adb_backupdir}/adblock.etag.new" "${adb_backupdir}/adblock.etag"
|
||||
printf '%s\t%s\n' "${feed} ${feed_suffix}" "${etag_id}" >>"${adb_backupdir}/adblock.etag"
|
||||
out_rc="2"
|
||||
fi
|
||||
|
||||
@@ -1227,14 +1238,22 @@ f_list() {
|
||||
"boot" | "start" | "restart" | "resume") ;;
|
||||
|
||||
*)
|
||||
[ -n "${src_name}" ] && [ "${out_rc}" != "0" ] && adb_feed="${adb_feed/${src_name}/}"
|
||||
if [ -n "${src_name}" ] && [ "${out_rc}" != "0" ]; then
|
||||
adb_feed=" ${adb_feed} "
|
||||
adb_feed="${adb_feed// ${src_name} / }"
|
||||
adb_feed="${adb_feed# }"
|
||||
adb_feed="${adb_feed% }"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"remove")
|
||||
"${adb_rmcmd}" "${adb_backupdir}/adb_list.${src_name}.gz" 2>>"${adb_errorlog}"
|
||||
out_rc="${?}"
|
||||
adb_feed="${adb_feed/${src_name}/}"
|
||||
adb_feed=" ${adb_feed} "
|
||||
adb_feed="${adb_feed// ${src_name} / }"
|
||||
adb_feed="${adb_feed# }"
|
||||
adb_feed="${adb_feed% }"
|
||||
;;
|
||||
"merge")
|
||||
src_name=""
|
||||
@@ -1806,7 +1825,10 @@ f_main() {
|
||||
# check if feed is defined in configuration, if not remove it from feed list and continue with next one
|
||||
#
|
||||
if ! json_select "${src_name}" >/dev/null 2>&1; then
|
||||
adb_feed="${adb_feed/${src_name}/}"
|
||||
adb_feed=" ${adb_feed} "
|
||||
adb_feed="${adb_feed// ${src_name} / }"
|
||||
adb_feed="${adb_feed# }"
|
||||
adb_feed="${adb_feed% }"
|
||||
continue
|
||||
fi
|
||||
|
||||
@@ -1960,10 +1982,10 @@ f_main() {
|
||||
src_rc="${?}"
|
||||
if [ "${src_rc}" = "0" ] && [ -s "${src_tmparchive}" ]; then
|
||||
src_suffix="${adb_src_suffix_utcapitole:-"domains"}"
|
||||
src_list="$(tar -tzf "${src_tmparchive}" 2>>"${adb_errorlog}")"
|
||||
for src_item in ${src_cat}; do
|
||||
src_entries="${src_entries} $(printf '%s' "${src_list}" | "${adb_grepcmd}" -E "${src_item}/${src_suffix}$")"
|
||||
done
|
||||
src_entries="$(tar -tzf "${src_tmparchive}" 2>>"${adb_errorlog}" | "${adb_awkcmd}" \
|
||||
-v cats="${src_cat}" -v sfx="${src_suffix}" '
|
||||
BEGIN { n = split(cats, c, " ") }
|
||||
{ for (i = 1; i <= n; i++) if ($0 ~ "(^|/)" c[i] "/" sfx "$") print }')"
|
||||
if [ -n "${src_entries}" ]; then
|
||||
tar -xOzf "${src_tmparchive}" ${src_entries} 2>>"${adb_errorlog}" >"${src_tmpload}"
|
||||
src_rc="${?}"
|
||||
@@ -2093,9 +2115,6 @@ f_report() {
|
||||
}
|
||||
next
|
||||
}
|
||||
END {
|
||||
# no fallback
|
||||
}
|
||||
' >"${report_raw}.${cnt}"
|
||||
) &
|
||||
[ "${cnt}" -gt "${adb_cores}" ] && wait -n
|
||||
|
||||
Reference in New Issue
Block a user