adblock: update 4.4.4-2
authorDirk Brenken <[email protected]>
Mon, 24 Nov 2025 20:42:24 +0000 (21:42 +0100)
committerDirk Brenken <[email protected]>
Mon, 24 Nov 2025 20:42:43 +0000 (21:42 +0100)
* fix domain regex
* fix typo in f_query function
* remove backups during stop action or in disabled state

Signed-off-by: Dirk Brenken <[email protected]>
net/adblock/Makefile
net/adblock/files/adblock.feeds
net/adblock/files/adblock.sh

index 906b491fe9e17e511d17b4f422b6cdb680437318..328ebcba2266bf87496046ef8d7106d6eedb6f46 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adblock
 PKG_VERSION:=4.4.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Dirk Brenken <[email protected]>
 
index 3deb63541e8f724b088988be892863a7a2c042c8..61eab61d6cb0a1e53f1b0d3a6bbc55951809c2cd 100644 (file)
 {
        "1hosts": {
                "url": "https://raw.githubusercontent.com/badmojr/1Hosts/master/",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "VAR",
                "descr": "compilation"
        },
        "adguard": {
                "url": "https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt",
-               "rule": "BEGIN{FS=\"[|^]\"}/^\\|\\|([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}\\^(\\$third-party)?$/{print tolower($3)}",
+               "rule": "BEGIN{FS=\"[|^]\"}/^\\|\\|([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}\\^(\\$third-party)?$/{print tolower($3)}",
                "size": "L",
                "descr": "general"
        },
        "adguard_tracking": {
                "url": "https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_trackers_justdomains.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "L",
                "descr": "tracking"
        },
        "android_tracking": {
                "url": "https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/android-tracking.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "S",
                "descr": "tracking"
        },
        "andryou": {
                "url": "https://gitlab.com/andryou/block/raw/master/kouhai-compressed-domains",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "L",
                "descr": "compilation"
        },
        "anti_ad": {
                "url": "https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-domains.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "L",
                "descr": "compilation"
        },
        "anudeep": {
                "url": "https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt",
-               "rule": "/^(0\\.0\\.0\\.0 ([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($2)}",
+               "rule": "/^(0\\.0\\.0\\.0 ([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($2)}",
                "size": "M",
                "descr": "compilation"
        },
        "bitcoin": {
                "url": "https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt",
-               "rule": "/^(0\\.0\\.0\\.0 ([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($2)}",
+               "rule": "/^(0\\.0\\.0\\.0 ([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($2)}",
                "size": "S",
                "descr": "mining"
        },
        "certpl": {
                "url": "https://hole.cert.pl/domains/v2/domains.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "L",
                "descr": "phishing"
        },
        "cpbl": {
                "url": "https://raw.githubusercontent.com/bongochong/CombinedPrivacyBlockLists/master/NoFormatting/cpbl-ctld.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "XL",
                "descr": "compilation"
        },
        "disconnect": {
                "url": "https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "S",
                "descr": "general"
        },
        "divested": {
                "url": "https://divested.dev/hosts-domains-wildcards",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "XXL",
                "descr": "compilation"
        },
        "doh_blocklist": {
                "url": "https://raw.githubusercontent.com/dibdot/DoH-IP-blocklists/master/doh-domains_overall.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "S",
                "descr": "doh_server"
        },
        "firetv_tracking": {
                "url": "https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/AmazonFireTV.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "S",
                "descr": "tracking"
        },
        "games_tracking": {
                "url": "https://raw.githubusercontent.com/KodoPengin/GameIndustry-hosts-Template/master/Main-Template/hosts",
-               "rule": "/^(0\\.0\\.0\\.0 ([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($2)}",
+               "rule": "/^(0\\.0\\.0\\.0 ([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($2)}",
                "size": "S",
                "descr": "tracking"
        },
        "hblock": {
                "url": "https://hblock.molinero.dev/hosts_domains.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "XL",
                "descr": "compilation"
        },
        "hagezi": {
                "url": "https://raw.githubusercontent.com/hagezi/dns-blocklists/main/",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "VAR",
                "descr": "compilation"
        },
        "oisd_big": {
                "url": "https://big.oisd.nl/domainswild2",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "XXL",
                "descr": "general"
        },
        "oisd_nsfw": {
                "url": "https://nsfw.oisd.nl/domainswild2",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "XXL",
                "descr": "porn"
        },
        "oisd_nsfw_small": {
                "url": "https://nsfw-small.oisd.nl/domainswild2",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "M",
                "descr": "porn"
        },
        "oisd_small": {
                "url": "https://small.oisd.nl/domainswild2",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "L",
                "descr": "general"
        },
        "phishing_army": {
                "url": "https://phishing.army/download/phishing_army_blocklist_extended.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "S",
                "descr": "phishing"
        },
        "smarttv_tracking": {
                "url": "https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "S",
                "descr": "tracking"
        },
        "spam404": {
                "url": "https://raw.githubusercontent.com/Dawsey21/Lists/master/main-blacklist.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "S",
                "descr": "general"
        },
        "stevenblack": {
                "url": "https://raw.githubusercontent.com/StevenBlack/hosts/master/",
-               "rule": "/^(0\\.0\\.0\\.0 ([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($2)}",
+               "rule": "/^(0\\.0\\.0\\.0 ([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($2)}",
                "size": "VAR",
                "descr": "compilation"
        },
        "stopforumspam": {
                "url": "https://www.stopforumspam.com/downloads/toxic_domains_whole.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "S",
                "descr": "spam"
        },
        "utcapitole": {
                "url": "https://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "VAR",
                "descr": "general"
        },
        "wally3k": {
                "url": "https://v.firebog.net/hosts/static/w3kbl.txt",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "S",
                "descr": "compilation"
        },
        "whocares": {
                "url": "https://someonewhocares.org/hosts/hosts",
-               "rule": "/^(127\\.0\\.0\\.1 ([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($2)}",
+               "rule": "/^(127\\.0\\.0\\.1 ([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($2)}",
                "size": "M",
                "descr": "general"
        },
        "winspy": {
                "url": "https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt",
-               "rule": "/^(0\\.0\\.0\\.0 ([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($2)}",
+               "rule": "/^(0\\.0\\.0\\.0 ([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($2)}",
                "size": "S",
                "descr": "win_telemetry"
        },
        "yoyo": {
                "url": "https://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext",
-               "rule": "/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower($1)}",
+               "rule": "/^(([[:alnum:]_-]{1,63}\\.)+[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower($1)}",
                "size": "S",
                "descr": "general"
        }
index 04c2b6b834663e63155163e759517e9b9d50d1d3..df7bc8cab98bbeb0de5a2f0dc14a41e444ba6dfe 100755 (executable)
@@ -444,6 +444,9 @@ f_rmdns() {
        printf "%b" "${adb_dnsheader}" >"${adb_finaldir}/${adb_dnsfile}"
        f_dnsup
        f_rmtemp
+       if [ "${adb_action}" = "stop" ] || [ "${adb_enabled}" = "0" ]; then
+               "${adb_findcmd}" "${adb_backupdir}" -maxdepth 1 -type f -name '*.gz' -exec rm -f {} +
+       fi
 }
 
 # commit uci changes
@@ -700,7 +703,7 @@ f_list() {
                        ;;
                "blocklist" | "allowlist")
                        src_name="${mode}"
-                       rset="/^(([[:alnum:]_-]{1,63}\\.)*[[:alpha:]][[:alnum:]-]{2,63}([[:space:]]|$))/{print tolower(\$1)}"
+                       rset="/^(([[:alnum:]_-]{1,63}\.)*[[:alpha:]][[:alnum:]-]{1,62}([[:space:]]|$))/{print tolower(\$1)}"
                        case "${src_name}" in
                                "blocklist")
                                        if [ -f "${adb_blocklist}" ]; then
@@ -1022,7 +1025,7 @@ f_query() {
                                suffix="${file##*.}"
                                if [ "${suffix}" = "gz" ]; then
                                        "${adb_zcatcmd}" "${file}" 2>/dev/null |
-                                               { [ "${adb_tld}" = "1" ] && "${adb_awkcmd}" 'BEGIN{FS="."}{for(f=NF;f>1;f--)printf "%s.",$f;print $1}' || :"${adb_catcmd}"; } |
+                                               { [ "${adb_tld}" = "1" ] && "${adb_awkcmd}" 'BEGIN{FS="."}{for(f=NF;f>1;f--)printf "%s.",$f;print $1}' || "${adb_catcmd}"; } |
                                                "${adb_awkcmd}" -v f="${file##*/}" "BEGIN{rc=1};/^($search|.*\\.${search})$/{i++;if(i<=3){printf \"  + %-30s%s\n\",f,\$1;rc=0}else if(i==4){printf \"  + %-30s%s\n\",f,\"[...]\"}};END{exit rc}"
                                        rc="${?}"
                                else