Merge pull request #11758 from dibdot/adblock

adblock: release 4.0.2
This commit is contained in:
Dirk Brenken 2020-04-03 21:34:35 +02:00 committed by GitHub
commit e66fadce7b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 89 additions and 64 deletions

View file

@ -6,8 +6,8 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=adblock PKG_NAME:=adblock
PKG_VERSION:=4.0.1 PKG_VERSION:=4.0.2
PKG_RELEASE:=2 PKG_RELEASE:=1
PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org> PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>

View file

@ -11,6 +11,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
| adaway | x | S | mobile | [Link](https://github.com/AdAway/adaway.github.io) | | adaway | x | S | mobile | [Link](https://github.com/AdAway/adaway.github.io) |
| adguard | x | L | general | [Link](https://adguard.com) | | adguard | x | L | general | [Link](https://adguard.com) |
| andryou | | L | compilation | [Link](https://gitlab.com/andryou/block/-/blob/master/readme.md) | | andryou | | L | compilation | [Link](https://gitlab.com/andryou/block/-/blob/master/readme.md) |
| anudeep | | M | compilation | [Link](https://github.com/anudeepND/blacklist) |
| bitcoin | | S | mining | [Link](https://github.com/hoshsadiq/adblock-nocoin-list) | | bitcoin | | S | mining | [Link](https://github.com/hoshsadiq/adblock-nocoin-list) |
| disconnect | x | S | general | [Link](https://disconnect.me) | | disconnect | x | S | general | [Link](https://disconnect.me) |
| dshield | | XL | general | [Link](https://dshield.org) | | dshield | | XL | general | [Link](https://dshield.org) |
@ -18,7 +19,6 @@ A lot of people already use adblocker plugins within their desktop browsers, but
| energized_blu | | XL | compilation | [Link](https://github.com/EnergizedProtection/block) | | energized_blu | | XL | compilation | [Link](https://github.com/EnergizedProtection/block) |
| energized_porn | | XXL | compilation+porn | [Link](https://github.com/EnergizedProtection/block) | | energized_porn | | XXL | compilation+porn | [Link](https://github.com/EnergizedProtection/block) |
| energized_unified | | XXL | compilation | [Link](https://github.com/EnergizedProtection/block) | | energized_unified | | XXL | compilation | [Link](https://github.com/EnergizedProtection/block) |
| hphosts | | M | general | [Link](https://hosts-file.net) |
| malwaredomains | | M | malware | [Link](https://malwaredomains.com) | | malwaredomains | | M | malware | [Link](https://malwaredomains.com) |
| malwarelist | | S | malware | [Link](https://www.malwaredomainlist.com) | | malwarelist | | S | malware | [Link](https://www.malwaredomainlist.com) |
| notracking | | XL | tracking | [Link](https://github.com/notracking/hosts-blocklists) | | notracking | | XL | tracking | [Link](https://github.com/notracking/hosts-blocklists) |
@ -39,17 +39,19 @@ A lot of people already use adblocker plugins within their desktop browsers, but
| smarttv | | S | smarttv | [Link](https://github.com/Perflyst/PiHoleBlocklist) | | smarttv | | S | smarttv | [Link](https://github.com/Perflyst/PiHoleBlocklist) |
| spam404 | | S | general | [Link](https://github.com/Dawsey21) | | spam404 | | S | general | [Link](https://github.com/Dawsey21) |
| stevenblack | | L | compilation | [Link](https://github.com/StevenBlack/hosts) | | stevenblack | | L | compilation | [Link](https://github.com/StevenBlack/hosts) |
| stopforumspam | | S | spam | [Link](https://www.stopforumspam.com) |
| sysctl | | M | general | [Link](http://sysctl.org/cameleon) | | sysctl | | M | general | [Link](http://sysctl.org/cameleon) |
| utcapitole | | L | general | [Link](https://dsi.ut-capitole.fr/blacklists/index_en.php) | | utcapitole | | L | general | [Link](https://dsi.ut-capitole.fr/blacklists/index_en.php) |
| utcapitole_porn | | XXL | general+porn | [Link](https://dsi.ut-capitole.fr/blacklists/index_en.php) | | utcapitole_porn | | XXL | general+porn | [Link](https://dsi.ut-capitole.fr/blacklists/index_en.php) |
| whocares | | M | general | [Link](https://someonewhocares.org) | | whocares | | M | general | [Link](https://someonewhocares.org) |
| winhelp | | S | general | [Link](http://winhelp2002.mvps.org) | | winhelp | | S | general | [Link](http://winhelp2002.mvps.org) |
| winspy | | S | win_telemetry | [Link](https://github.com/crazy-max/WindowsSpyBlocker) | | winspy | | S | win_telemetry | [Link](https://github.com/crazy-max/WindowsSpyBlocker) |
| youtube | | M | youtube | [Link](https://github.com/kboghdady/youTube_ads_4_pi-hole) |
| yoyo | x | S | general | [Link](http://pgl.yoyo.org/adservers) | | yoyo | x | S | general | [Link](http://pgl.yoyo.org/adservers) |
* List of supported and fully pre-configured adblock sources, already active sources are pre-selected. * List of supported and fully pre-configured adblock sources, already active sources are pre-selected.
<b><em>To avoid OOM errors, please do not select too many lists!</em></b> <b><em>To avoid OOM errors, please do not select too many lists!</em></b>
List size recommendations as follows: List size information with the respective domain ranges as follows:
<b>S</b> (-10k), <b>M</b> (10k-30k) and <b>L</b> (30k-80k) should work for 128 MByte devices, <b>S</b> (-10k), <b>M</b> (10k-30k) and <b>L</b> (30k-80k) should work for 128 MByte devices,
<b>XL</b> (80k-200k) should work for 256-512 MByte devices, <b>XL</b> (80k-200k) should work for 256-512 MByte devices,
<b>XXL</b> (200k-) needs more RAM and Multicore support, e.g. x86 or raspberry devices. <b>XXL</b> (200k-) needs more RAM and Multicore support, e.g. x86 or raspberry devices.
@ -91,6 +93,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
* A download utility with SSL support: 'wget', 'uclient-fetch' with one of the 'libustream-*' ssl libraries, 'aria2c' or 'curl' is required * A download utility with SSL support: 'wget', 'uclient-fetch' with one of the 'libustream-*' ssl libraries, 'aria2c' or 'curl' is required
* Optional E-Mail notification support: for E-Mail notifications you need to install the additional 'msmtp' package * Optional E-Mail notification support: for E-Mail notifications you need to install the additional 'msmtp' package
* Optional DNS Query Report support: for DNS reporting you need to install the additional package 'tcpdump-mini' or 'tcpdump' * Optional DNS Query Report support: for DNS reporting you need to install the additional package 'tcpdump-mini' or 'tcpdump'
* Optional support for gnu awk as alternative to the busybox default, install the additional package 'gawk'
## Installation & Usage ## Installation & Usage
* Update your local opkg repository (_opkg update_) * Update your local opkg repository (_opkg update_)
@ -101,7 +104,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
## Adblock CLI Options ## Adblock CLI Options
* All important adblock functions are accessible via CLI as well. * All important adblock functions are accessible via CLI as well.
Please note: The 'status' command in 19.07.x and TurrisOS is only available via 'status_service' <b>Please note:</b> The 'status' command in 19.07.x and TurrisOS is only available via 'status_service'
<pre><code> <pre><code>
/etc/init.d/adblock /etc/init.d/adblock
Syntax: /etc/init.d/adblock [command] Syntax: /etc/init.d/adblock [command]
@ -127,11 +130,13 @@ Available commands:
* Usually the auto pre-configured adblock setup works quite well and no manual overrides are needed * Usually the auto pre-configured adblock setup works quite well and no manual overrides are needed
| Option | Default | Description/Valid Values | | Option | Default | Description/Valid Values |
| :---------------- | :------------------------ | :--------------------------------------------------------------------------------------------- | | :---------------- | :--------------------------------- | :--------------------------------------------------------------------------------------------- |
| adb_enabled | 1, enabled | set to 0 to disable the adblock service | | adb_enabled | 1, enabled | set to 0 to disable the adblock service |
| adb_srcarc | -, /etc/adblock/adblock.sources.gz | full path to the used adblock source archive |
| adb_srcfile | -, /tmp/adb_sources.json | full path to the used adblock source file, which has a higher precedence than the archive file |
| adb_dns | -, auto-detected | 'dnsmasq', 'unbound', 'named', 'kresd' or 'raw' | | adb_dns | -, auto-detected | 'dnsmasq', 'unbound', 'named', 'kresd' or 'raw' |
| adb_fetchutil | -, auto-detected | 'uclient-fetch', 'wget', 'curl' or 'aria2c' | | adb_fetchutil | -, auto-detected | 'uclient-fetch', 'wget', 'curl' or 'aria2c' |
| adb_fetchparm | -, auto-detected | special config options for the selected download utility | | adb_fetchparm | -, auto-detected | config options for the selected download utility |
| adb_trigger | -, not set | trigger network interface or 'not set' to use a time-based startup | | adb_trigger | -, not set | trigger network interface or 'not set' to use a time-based startup |
| adb_triggerdelay | 2 | additional trigger delay in seconds before adblock processing begins | | adb_triggerdelay | 2 | additional trigger delay in seconds before adblock processing begins |
| adb_debug | 0, disabled | set to 1 to enable the debug output | | adb_debug | 0, disabled | set to 1 to enable the debug output |
@ -190,7 +195,7 @@ and at the end of the file add:
**Change the DNS backend to 'kresd':** **Change the DNS backend to 'kresd':**
Adblock deposits the final blocklist 'adb_list.overall' in '/etc/kresd', no further configuration needed. Adblock deposits the final blocklist 'adb_list.overall' in '/etc/kresd', no further configuration needed.
Please note: The knot-resolver (kresd) is only available on Turris devices and does not support the SafeSearch functionality yet. <b>Please note:</b> The knot-resolver (kresd) is only available on Turris devices and does not support the SafeSearch functionality yet.
**Enable E-Mail notification via 'msmtp':** **Enable E-Mail notification via 'msmtp':**
To use the email notification you have to install & configure the package 'msmtp'. To use the email notification you have to install & configure the package 'msmtp'.
@ -220,7 +225,7 @@ To get the status in the CLI, just call _/etc/init.d/adblock status_ or _/etc/in
/etc/init.d/adblock status_service /etc/init.d/adblock status_service
::: adblock runtime information ::: adblock runtime information
+ adblock_status : enabled + adblock_status : enabled
+ adblock_version : 4.0.0 + adblock_version : 4.0.2
+ blocked_domains : 52420 + blocked_domains : 52420
+ active_sources : adaway adguard andryou bitcoin disconnect winspy yoyo + active_sources : adaway adguard andryou bitcoin disconnect winspy yoyo
+ dns_backend : kresd, /etc/kresd + dns_backend : kresd, /etc/kresd
@ -228,10 +233,10 @@ To get the status in the CLI, just call _/etc/init.d/adblock status_ or _/etc/in
+ run_ifaces : trigger: trm_wwan, report: br-lan + run_ifaces : trigger: trm_wwan, report: br-lan
+ run_directories : base: /tmp, backup: /tmp, report: /tmp, jail: /tmp + run_directories : base: /tmp, backup: /tmp, report: /tmp, jail: /tmp
+ run_flags : backup: 1, reset: 0, flush: 0, force: 1, search: 0, report: 1, mail: 0, jail: 0 + run_flags : backup: 1, reset: 0, flush: 0, force: 1, search: 0, report: 1, mail: 0, jail: 0
+ last_run : start, 0m 17s, 496/198/218, 27.03.2020 08:55:14 + last_run : start, 0m 17s, 496/198/218, 03.04.2020 08:55:14
+ system : CZ.NIC Turris Mox Board, TurrisOS 5.1.0 81264ebb51991aa2d17489852854e3b5ec3f514d + system : CZ.NIC Turris Mox Board, TurrisOS 5.1.0 81264ebb51991aa2d17489852854e3b5ec3f514d
</code></pre> </code></pre>
The 'last\_run' line includes the used start type, the duration of the last run, the memory footprint after DNS backend loading (total/free/available) and the date/time of the last run. The 'last\_run' line includes the used start type, the run duration, the memory footprint after DNS backend loading (total/free/available) and the date/time of the last run.
**Edit, add new adblock sources:** **Edit, add new adblock sources:**
The adblock blocklist sources are stored in an external, compressed JSON file '/etc/adblock/adblock.sources.gz'. The adblock blocklist sources are stored in an external, compressed JSON file '/etc/adblock/adblock.sources.gz'.
@ -268,6 +273,8 @@ A valid JSON source object contains the following required information, e.g.:
[...] [...]
</code></pre> </code></pre>
Add an unique object name, make the required changes to 'url', 'rule', 'size' and 'descurl' and finally compress the changed JSON file _gzip /etc/adblock/adblock.sources.gz_ to use the new source object in adblock. Add an unique object name, make the required changes to 'url', 'rule', 'size' and 'descurl' and finally compress the changed JSON file _gzip /etc/adblock/adblock.sources.gz_ to use the new source object in adblock.
<b>Please note:</b> if you're going to add new sources on your own, please make a copy of the default file and work with that copy further on, cause the default will be overwritten with every adblock update. To reference your copy set the option 'adb\_srcarc' which points by default to '/etc/adblock/adblock.sources.gz'
<b>Please note:</b> when adblock starts, it looks for the uncompressed 'adb\_srcfile', only if this file is not found the archive 'adb\_srcarc' is unpacked once and then the uncompressed file is used
## Support ## Support
Please join the adblock discussion in this [forum thread](https://forum.openwrt.org/t/adblock-support-thread/507) or contact me by mail <dev@brenken.org> Please join the adblock discussion in this [forum thread](https://forum.openwrt.org/t/adblock-support-thread/507) or contact me by mail <dev@brenken.org>

View file

@ -119,12 +119,15 @@ list()
src_archive="$(uci_get adblock global adb_srcarc "/etc/adblock/adblock.sources.gz")" src_archive="$(uci_get adblock global adb_srcarc "/etc/adblock/adblock.sources.gz")"
src_file="$(uci_get adblock global adb_srcfile "/tmp/adb_sources.json")" src_file="$(uci_get adblock global adb_srcfile "/tmp/adb_sources.json")"
src_enabled="$(uci -q show adblock.global.adb_sources)" src_enabled="$(uci -q show adblock.global.adb_sources)"
if [ ! -r "${src_file}" ]
then
if [ -r "${src_archive}" ] if [ -r "${src_archive}" ]
then then
zcat "${src_archive}" > "${src_file}" zcat "${src_archive}" > "${src_file}"
else else
printf "%s\\n" "::: adblock source archive '${src_archive}' not found" printf "%s\\n" "::: adblock source archive '${src_archive}' not found"
fi fi
fi
if [ -r "${src_file}" ] if [ -r "${src_file}" ]
then then
src_enabled="${src_enabled#*=}" src_enabled="${src_enabled#*=}"

View file

@ -11,7 +11,7 @@
export LC_ALL=C export LC_ALL=C
export PATH="/usr/sbin:/usr/bin:/sbin:/bin" export PATH="/usr/sbin:/usr/bin:/sbin:/bin"
set -o pipefail set -o pipefail
adb_ver="4.0.1" adb_ver="4.0.2"
adb_enabled=0 adb_enabled=0
adb_debug=0 adb_debug=0
adb_forcedns=0 adb_forcedns=0
@ -39,9 +39,9 @@ adb_blacklist="/etc/adblock/adblock.blacklist"
adb_whitelist="/etc/adblock/adblock.whitelist" adb_whitelist="/etc/adblock/adblock.whitelist"
adb_ubusservice="/etc/adblock/adblock.monitor" adb_ubusservice="/etc/adblock/adblock.monitor"
adb_mailservice="/etc/adblock/adblock.mail" adb_mailservice="/etc/adblock/adblock.mail"
adb_srcarc="/etc/adblock/adblock.sources.gz"
adb_dnsfile="${adb_dnsprefix}.overall" adb_dnsfile="${adb_dnsprefix}.overall"
adb_dnsjail="${adb_dnsprefix}.jail" adb_dnsjail="${adb_dnsprefix}.jail"
adb_srcarc="/etc/adblock/adblock.sources.gz"
adb_srcfile="${adb_tmpbase}/adb_sources.json" adb_srcfile="${adb_tmpbase}/adb_sources.json"
adb_rtfile="${adb_tmpbase}/adb_runtime.json" adb_rtfile="${adb_tmpbase}/adb_runtime.json"
adb_loggercmd="$(command -v logger)" adb_loggercmd="$(command -v logger)"
@ -635,7 +635,7 @@ f_dnsup()
"/etc/init.d/${adb_dns}" restart >/dev/null 2>&1 "/etc/init.d/${adb_dns}" restart >/dev/null 2>&1
restart_rc="${?}" restart_rc="${?}"
fi fi
if [ "${restart_rc}" -eq 0 ] if [ "${restart_rc}" = "0" ]
then then
while [ "${cnt}" -le "${adb_dnstimeout}" ] while [ "${cnt}" -le "${adb_dnstimeout}" ]
do do
@ -655,6 +655,7 @@ f_dnsup()
fi fi
else else
sleep ${adb_dnstimeout} sleep ${adb_dnstimeout}
cnt=${adb_dnstimeout}
out_rc=0 out_rc=0
break break
fi fi

View file

@ -20,6 +20,13 @@
"focus": "compilation", "focus": "compilation",
"descurl": "https://gitlab.com/andryou/block/-/blob/master/readme.md" "descurl": "https://gitlab.com/andryou/block/-/blob/master/readme.md"
}, },
"anudeep": {
"url": "https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt",
"rule": "/^0\\.0\\.0\\.0[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
"size": "M",
"focus": "compilation",
"descurl": "https://github.com/anudeepND/blacklist"
},
"bitcoin": { "bitcoin": {
"url": "https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt", "url": "https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt",
"rule": "/^0\\.0\\.0\\.0[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}", "rule": "/^0\\.0\\.0\\.0[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
@ -69,13 +76,6 @@
"focus": "compilation", "focus": "compilation",
"descurl": "https://github.com/EnergizedProtection/block" "descurl": "https://github.com/EnergizedProtection/block"
}, },
"hphosts": {
"url": "https://hosts-file.net/ad_servers.txt",
"rule": "/^127\\.0\\.0\\.1[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
"size": "M",
"focus": "general",
"descurl": "https://hosts-file.net"
},
"malwaredomains": { "malwaredomains": {
"url": "http://mirror.espoch.edu.ec/malwaredomains/justdomains", "url": "http://mirror.espoch.edu.ec/malwaredomains/justdomains",
"rule": "/^([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}", "rule": "/^([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
@ -222,6 +222,13 @@
"focus": "compilation", "focus": "compilation",
"descurl": "https://github.com/StevenBlack/hosts" "descurl": "https://github.com/StevenBlack/hosts"
}, },
"stopforumspam": {
"url": "https://www.stopforumspam.com/downloads/toxic_domains_whole.txt",
"rule": "/^[[:space:]]*([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
"size": "S",
"focus": "spam",
"descurl": "https://www.stopforumspam.com"
},
"sysctl": { "sysctl": {
"url": "http://sysctl.org/cameleon/hosts", "url": "http://sysctl.org/cameleon/hosts",
"rule": "/^127\\.0\\.0\\.1[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}", "rule": "/^127\\.0\\.0\\.1[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
@ -270,6 +277,13 @@
"focus": "win_telemetry", "focus": "win_telemetry",
"descurl": "https://github.com/crazy-max/WindowsSpyBlocker" "descurl": "https://github.com/crazy-max/WindowsSpyBlocker"
}, },
"youtube": {
"url": "https://raw.githubusercontent.com/kboghdady/youTube_ads_4_pi-hole/master/black.list",
"rule": "/^([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
"size": "M",
"focus": "youtube",
"descurl": "https://github.com/kboghdady/youTube_ads_4_pi-hole"
},
"yoyo": { "yoyo": {
"url": "https://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext", "url": "https://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext",
"rule": "/^([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}", "rule": "/^([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",