mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 15:38:40 +01:00
[17.01] adblock: release 3.4.3
* bump adblock version in stable tree Signed-off-by: Dirk Brenken <dev@brenken.org>
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2015-2017 Dirk Brenken (dev@brenken.org)
|
# Copyright (c) 2015-2018 Dirk Brenken (dev@brenken.org)
|
||||||
# This is free software, licensed under the GNU General Public License v3.
|
# This is free software, licensed under the GNU General Public License v3.
|
||||||
#
|
#
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=adblock
|
PKG_NAME:=adblock
|
||||||
PKG_VERSION:=2.6.2
|
PKG_VERSION:=3.4.3
|
||||||
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>
|
||||||
@@ -16,12 +16,13 @@ include $(INCLUDE_DIR)/package.mk
|
|||||||
define Package/adblock
|
define Package/adblock
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=Powerful adblock script to block ad/abuse domains
|
TITLE:=Powerful adblock script to block ad/abuse domains by using DNS
|
||||||
|
DEPENDS:=+jshn +jsonfilter
|
||||||
PKGARCH:=all
|
PKGARCH:=all
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/adblock/description
|
define Package/adblock/description
|
||||||
Powerful adblock script to block ad/abuse domains via dnsmasq or unbound dns backend.
|
Powerful adblock script to block ad/abuse domains via dnsmasq, unbound, named, kresd or dnscrypt-proxy.
|
||||||
The script supports many domain blacklist sites plus manual black- and whitelist overrides.
|
The script supports many domain blacklist sites plus manual black- and whitelist overrides.
|
||||||
Please see https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md for further information.
|
Please see https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md for further information.
|
||||||
|
|
||||||
@@ -53,6 +54,7 @@ define Package/adblock/install
|
|||||||
$(INSTALL_CONF) ./files/adblock.conf $(1)/etc/config/adblock
|
$(INSTALL_CONF) ./files/adblock.conf $(1)/etc/config/adblock
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/etc/adblock
|
$(INSTALL_DIR) $(1)/etc/adblock
|
||||||
|
$(INSTALL_CONF) ./files/adblock.notify $(1)/etc/adblock/
|
||||||
$(INSTALL_CONF) ./files/adblock.blacklist $(1)/etc/adblock/
|
$(INSTALL_CONF) ./files/adblock.blacklist $(1)/etc/adblock/
|
||||||
$(INSTALL_CONF) ./files/adblock.whitelist $(1)/etc/adblock/
|
$(INSTALL_CONF) ./files/adblock.whitelist $(1)/etc/adblock/
|
||||||
endef
|
endef
|
||||||
|
|||||||
+137
-93
@@ -9,6 +9,8 @@ A lot of people already use adblocker plugins within their desktop browsers, but
|
|||||||
* => infrequent updates, approx. 400 entries (enabled by default)
|
* => infrequent updates, approx. 400 entries (enabled by default)
|
||||||
* [adguard](https://adguard.com)
|
* [adguard](https://adguard.com)
|
||||||
* => numerous updates on the same day, approx. 12.000 entries
|
* => numerous updates on the same day, approx. 12.000 entries
|
||||||
|
* [bitcoin](https://github.com/hoshsadiq/adblock-nocoin-list)
|
||||||
|
* => infrequent updates, approx. 15 entries
|
||||||
* [blacklist]()
|
* [blacklist]()
|
||||||
* => static local blacklist, located by default in '/etc/adblock/adblock.blacklist'
|
* => static local blacklist, located by default in '/etc/adblock/adblock.blacklist'
|
||||||
* [disconnect](https://disconnect.me)
|
* [disconnect](https://disconnect.me)
|
||||||
@@ -25,20 +27,22 @@ A lot of people already use adblocker plugins within their desktop browsers, but
|
|||||||
* => daily updates, approx. 1.500 entries
|
* => daily updates, approx. 1.500 entries
|
||||||
* [openphish](https://openphish.com)
|
* [openphish](https://openphish.com)
|
||||||
* => numerous updates on the same day, approx. 1.800 entries
|
* => numerous updates on the same day, approx. 1.800 entries
|
||||||
* [palevo tracker](https://palevotracker.abuse.ch)
|
|
||||||
* => daily updates, approx. 15 entries
|
|
||||||
* [ransomware tracker](https://ransomwaretracker.abuse.ch)
|
* [ransomware tracker](https://ransomwaretracker.abuse.ch)
|
||||||
* => daily updates, approx. 150 entries
|
* => daily updates, approx. 150 entries
|
||||||
* [reg_cn](https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt)
|
* [reg_cn](https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt)
|
||||||
* => regional blocklist for China, daily updates, approx. 1.600 entries
|
* => regional blocklist for China, daily updates, approx. 1.600 entries
|
||||||
|
* [reg_de](https://easylist-downloads.adblockplus.org/easylistgermany+easylist.txt)
|
||||||
|
* => regional blocklist for Germany, daily updates, approx. 9.200 entries
|
||||||
|
* [reg_id](https://easylist-downloads.adblockplus.org/abpindo+easylist.txt)
|
||||||
|
* => regional blocklist for Indonesia, daily updates, approx. 800 entries
|
||||||
|
* [reg_nl](https://easylist-downloads.adblockplus.org/easylistdutch+easylist.txt)
|
||||||
|
* => regional blocklist for the Netherlands, weekly updates, approx. 1300 entries
|
||||||
* [reg_pl](http://adblocklist.org)
|
* [reg_pl](http://adblocklist.org)
|
||||||
* => regional blocklist for Poland, daily updates, approx. 50 entries
|
* => regional blocklist for Poland, daily updates, approx. 50 entries
|
||||||
* [reg_ro](https://easylist-downloads.adblockplus.org/rolist+easylist.txt)
|
* [reg_ro](https://easylist-downloads.adblockplus.org/rolist+easylist.txt)
|
||||||
* => regional blocklist for Romania, weekly updates, approx. 600 entries
|
* => regional blocklist for Romania, weekly updates, approx. 600 entries
|
||||||
* [reg_ru](https://code.google.com/p/ruadlist)
|
* [reg_ru](https://code.google.com/p/ruadlist)
|
||||||
* => regional blocklist for Russia, weekly updates, approx. 2.000 entries
|
* => regional blocklist for Russia, weekly updates, approx. 2.000 entries
|
||||||
* [securemecca](http://www.securemecca.com)
|
|
||||||
* => infrequent updates, approx. 25.000 entries
|
|
||||||
* [shallalist](http://www.shallalist.de) (categories "adv" "costtraps" "spyware" "tracker" "warez" enabled by default)
|
* [shallalist](http://www.shallalist.de) (categories "adv" "costtraps" "spyware" "tracker" "warez" enabled by default)
|
||||||
* => daily updates, approx. 32.000 entries (a short description of all shallalist categories can be found [online](http://www.shallalist.de/categories.html))
|
* => daily updates, approx. 32.000 entries (a short description of all shallalist categories can be found [online](http://www.shallalist.de/categories.html))
|
||||||
* [spam404](http://www.spam404.com)
|
* [spam404](http://www.spam404.com)
|
||||||
@@ -57,26 +61,31 @@ A lot of people already use adblocker plugins within their desktop browsers, but
|
|||||||
* => daily updates, approx. 440 entries
|
* => daily updates, approx. 440 entries
|
||||||
* zero-conf like automatic installation & setup, usually no manual changes needed
|
* zero-conf like automatic installation & setup, usually no manual changes needed
|
||||||
* simple but yet powerful adblock engine: adblock does not use error prone external iptables rulesets, http pixel server instances and things like that
|
* simple but yet powerful adblock engine: adblock does not use error prone external iptables rulesets, http pixel server instances and things like that
|
||||||
* automatically selects dnsmasq or unbound as dns backend
|
* supports five different dns backends / blocklist formats: dnsmasq, unbound, named (bind), kresd and dnscrypt-proxy
|
||||||
* automatically selects uclient-fetch or wget as download utility (other tools like curl or aria2c are supported as well)
|
* supports six different download utilities: uclient-fetch, wget, curl, aria2c, wget-nossl, busybox-wget
|
||||||
* support http only mode (without installed ssl library) for all non-SSL blocklist sources
|
* provides 'http only' mode without installed ssl library for all non-SSL blocklist sources
|
||||||
* automatically supports a wide range of router modes, even AP modes are supported
|
* 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
|
* provides top level domain compression ('tld compression'), this feature removes thousands of needless host entries from the blocklist and lowers the memory footprint for the dns backends
|
||||||
* each block list source will be updated and processed separately
|
|
||||||
* blocklist source parsing by fast & flexible regex rulesets
|
* blocklist source parsing by fast & flexible regex rulesets
|
||||||
* overall duplicate removal in separate block lists
|
* overall duplicate removal in central blocklist 'adb_list.overall'
|
||||||
* additional whitelist for manual overrides, located by default in /etc/adblock/adblock.whitelist
|
* additional whitelist for manual overrides, located by default in /etc/adblock/adblock.whitelist
|
||||||
* quality checks during blocklist update to ensure a reliable dns backend service
|
* quality checks during blocklist update to ensure a reliable dns backend service
|
||||||
* minimal status & error logging to syslog, enable debug logging to receive more output
|
* minimal status & error logging to syslog, enable debug logging to receive more output
|
||||||
* procd based init system support (start/stop/restart/reload/suspend/resume/query/status)
|
* procd based init system support (start/stop/restart/reload/suspend/resume/query/status)
|
||||||
* procd based hotplug support, the adblock start will be solely triggered by network interface triggers
|
* procd network interface trigger support or classic time based startup
|
||||||
|
* keep the dns cache intact after adblock processing (currently supported by unbound and named)
|
||||||
|
* conditional dns backend restarts by old/new blocklist comparison with sha256sum (default) or md5sum
|
||||||
* suspend & resume adblock actions temporarily without blocklist reloading
|
* suspend & resume adblock actions temporarily without blocklist reloading
|
||||||
* runtime information available via LuCI & via 'status' init command
|
* output comprehensive runtime information via LuCI or via 'status' init command
|
||||||
* query function to quickly identify blocked (sub-)domains, e.g. for whitelisting
|
* query function to quickly identify blocked (sub-)domains, e.g. for whitelisting
|
||||||
|
* strong LuCI support
|
||||||
* optional: force dns requests to local resolver
|
* optional: force dns requests to local resolver
|
||||||
* optional: force overall sort / duplicate removal for low memory devices (handle with care!)
|
* optional: force overall sort / duplicate removal for low memory devices (handle with care!)
|
||||||
* optional: automatic block list backup & restore, backups will be (de-)compressed and restored on the fly in case of any runtime error
|
* optional: automatic blocklist backup & restore, they will be used in case of download errors or during startup in backup mode
|
||||||
|
* optional: 'backup mode' to re-use blocklist backups during startup, get fresh lists only via reload or restart action
|
||||||
|
* optional: 'whitelist mode' to block access to all domains except those explicitly listed in the whitelist file
|
||||||
|
* optional: send notification emails in case of a processing error or if the overall domain count is ≤ 0
|
||||||
* optional: add new adblock sources on your own via uci config
|
* optional: add new adblock sources on your own via uci config
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
@@ -84,16 +93,16 @@ A lot of people already use adblocker plugins within their desktop browsers, but
|
|||||||
* a usual setup with an enabled dns backend at minimum - dump AP modes without a working dns backend are _not_ supported
|
* a usual setup with an enabled dns backend at minimum - dump AP modes without a working dns backend are _not_ supported
|
||||||
* a download utility:
|
* a download utility:
|
||||||
* to support all blocklist sources a full version (with ssl support) of 'wget', 'uclient-fetch' with one of the 'libustream-*' ssl libraries, 'aria2c' or 'curl' is required
|
* to support all blocklist sources a full version (with ssl support) of 'wget', 'uclient-fetch' with one of the 'libustream-*' ssl libraries, 'aria2c' or 'curl' is required
|
||||||
* for limited devices with real memory constraints, adblock provides also a plain http option and supports wget-nossl and uclient-fetch (without libustream-ssl), too
|
* for limited devices with real memory constraints, adblock provides also a 'http only' option and supports wget-nossl and uclient-fetch (without libustream-ssl) as well
|
||||||
* for more configuration options see examples below
|
* for more configuration options see examples below
|
||||||
|
|
||||||
## LEDE trunk Installation & Usage
|
## Installation & Usage
|
||||||
* install 'adblock' (_opkg install adblock_) and that's it - the adblock start will be automatically triggered by procd interface trigger
|
* install 'adblock' (_opkg install adblock_)
|
||||||
|
* at minimum configure the appropriate dns backend ('dnsmasq' by default) and enable the adblock service in _/etc/config/adblock_
|
||||||
* control the adblock service manually with _/etc/init.d/adblock_ start/stop/restart/reload/suspend/resume/status or use the LuCI frontend
|
* control the adblock service manually with _/etc/init.d/adblock_ start/stop/restart/reload/suspend/resume/status or use the LuCI frontend
|
||||||
* enable/disable your favored block list sources in _/etc/config/adblock_ - 'adaway', 'disconnect' and 'yoyo' are enabled by default
|
|
||||||
|
|
||||||
## LuCI adblock companion package
|
## LuCI adblock companion package
|
||||||
* for easy management of the various block list sources and all other adblock options you can also use a nice & efficient LuCI frontend
|
* for easy management of the various blocklist sources and all other adblock options you should use the provided LuCI frontend
|
||||||
* install 'luci-app-adblock' (_opkg install luci-app-adblock_)
|
* install 'luci-app-adblock' (_opkg install luci-app-adblock_)
|
||||||
* the application is located in LuCI under 'Services' menu
|
* the application is located in LuCI under 'Services' menu
|
||||||
|
|
||||||
@@ -104,71 +113,116 @@ A lot of people already use adblocker plugins within their desktop browsers, but
|
|||||||
* **add white- / blacklist entries:** add domain white- or blacklist entries to always-allow or -deny certain (sub) domains, by default both lists are empty and located in _/etc/adblock_. Please add one domain per line - ip addresses, wildcards & regex are _not_ allowed (see example below)
|
* **add white- / blacklist entries:** add domain white- or blacklist entries to always-allow or -deny certain (sub) domains, by default both lists are empty and located in _/etc/adblock_. Please add one domain per line - ip addresses, wildcards & regex are _not_ allowed (see example below)
|
||||||
* **backup & restore blocklists:** enable this feature, to restore automatically the latest compressed backup of your blocklists in case of any processing error (e.g. a single blocklist source is not available during update). Please use an (external) solid partition and _not_ your volatile router temp directory for this
|
* **backup & restore blocklists:** enable this feature, to restore automatically the latest compressed backup of your blocklists in case of any processing error (e.g. a single blocklist source is not available during update). Please use an (external) solid partition and _not_ your volatile router temp directory for this
|
||||||
* **scheduled list updates:** for a scheduled call of the adblock service add an appropriate crontab entry (see example below)
|
* **scheduled list updates:** for a scheduled call of the adblock service add an appropriate crontab entry (see example below)
|
||||||
* **restrict procd interface trigger:** restrict the procd interface trigger to a (list of) certain interface(s) (default: wan). To disable it at all, remove all entries
|
* **change startup behaviour:** by default the startup will be triggered by the 'wan' procd interface trigger. Choose 'none' to disable automatic startups, 'timed' to use a classic timeout (default 30 sec.) or select another trigger interface.
|
||||||
* **suspend & resume adblocking:** to quickly switch the adblock service 'on' or 'off', simply use _/etc/init.d/adblock [suspend|resume]_
|
* **suspend & resume adblocking:** to quickly switch the adblock service 'on' or 'off', simply use _/etc/init.d/adblock [suspend|resume]_
|
||||||
* **domain query:** to query the active block lists for a specific domain, please run _/etc/init.d/adblock query `<DOMAIN>`_ (see example below)
|
* **domain query:** to query the active blocklist for a specific domain, please run _/etc/init.d/adblock query `<DOMAIN>`_ (see example below)
|
||||||
* **add new list sources:** you could add new blocklist sources on your own via uci config, all you need is a source url and an awk one-liner (see example below)
|
* **add new list sources:** you could add new blocklist sources on your own via uci config, all you need is a source url and an awk one-liner (see example below)
|
||||||
* **disable active dns probing in windows 10:** to prevent a yellow exclamation mark on your internet connection icon (which wrongly means connected, but no internet), please change the following registry key/value from "1" to "0" _HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\EnableActiveProbing_
|
* **disable active dns probing in windows 10:** to prevent a yellow exclamation mark on your internet connection icon (which wrongly means connected, but no internet), please change the following registry key/value from "1" to "0" _HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\EnableActiveProbing_
|
||||||
|
|
||||||
## Further adblock config options
|
## Further adblock config options
|
||||||
* usually the pre-configured adblock setup works quite well and no manual config overrides are needed, all listed options apply to the 'global' config section:
|
* usually the pre-configured adblock setup works quite well and no manual overrides are needed
|
||||||
* adb\_enabled => main switch to enable/disable adblock service (default: '1', enabled)
|
* the following options apply to the 'global' config section:
|
||||||
|
* adb\_enabled => main switch to enable/disable adblock service (default: '0', disabled)
|
||||||
* adb\_debug => enable/disable adblock debug output (default: '0', disabled)
|
* adb\_debug => enable/disable adblock debug output (default: '0', disabled)
|
||||||
* adb\_iface => set the procd interface trigger to a (list of) lan / wan interface(s) (default: 'wan')
|
* adb\_fetchutil => name of the used download utility: 'uclient-fetch', 'wget', 'curl', 'aria2c', 'wget-nossl'. 'busybox' (default: 'uclient-fetch')
|
||||||
* adb\_fetch => full path to a different download utility, see example below (default: not set, use wget)
|
* adb\_fetchparm => special config options for the download utility (default: not set)
|
||||||
* adb\_fetchparm => options for the download utility, see example below (default: not set, use wget options)
|
* adb\_dns => select the dns backend for your environment: 'dnsmasq', 'unbound', 'named', 'kresd' or 'dnscrypt-proxy' (default: 'dnsmasq')
|
||||||
* adb\_triggerdelay => additional trigger delay in seconds before adblock processing starts (default: '2')
|
* adb\_dnsdir => target directory for the generated blocklist 'adb_list.overall' (default: not set, use dns backend default)
|
||||||
|
* adb\_trigger => set the startup trigger to a certain interface, to 'timed' or to 'none' (default: 'wan')
|
||||||
|
|
||||||
|
* the following options apply to the 'extra' config section:
|
||||||
|
* adb\_triggerdelay => additional trigger delay in seconds before adblock processing begins (default: '1')
|
||||||
* adb\_forcedns => force dns requests to local resolver (default: '0', disabled)
|
* adb\_forcedns => force dns requests to local resolver (default: '0', disabled)
|
||||||
* adb\_forcesrt => force overall sort on low memory devices with less than 64 MB RAM (default: '0', disabled)
|
* adb\_forcesrt => force overall sort on low memory devices with less than 64 MB RAM (default: '0', disabled)
|
||||||
|
* adb\_backup_mode => do not automatically update blocklists during startup, use backups instead (default: '0', disabled)
|
||||||
|
* adb\_whitelist_mode => block access to all domains except those explicitly listed in the whitelist file (default: '0', disabled)
|
||||||
|
* adb\_dnsflush => flush DNS cache after adblock processing, i.e. enable the old restart behavior (default: '0', disabled)
|
||||||
|
* adb\_notify => send notification emails in case of a processing error or if the overall domain count is ≤ 0 (default: '0', disabled)
|
||||||
|
* adb\_notifycnt => Raise minimum domain count email notification trigger (default: '0')
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
**change default dns backend to 'unbound':**
|
**change default dns backend to 'unbound':**
|
||||||
<pre><code>
|
|
||||||
Adblock detects the presence of an active unbound dns backend and the block lists will be automatically pulled in by unbound.
|
|
||||||
The adblock script deposits the sorted and filtered block lists in '/var/lib/unbound' where unbound can find them in its jail.
|
|
||||||
If you use manual configuration for unbound, then just include the following line in your 'server:' clause:
|
|
||||||
|
|
||||||
include: "/var/lib/unbound/adb_list.*"
|
Adblock deposits the final blocklist 'adb_list.overall' in '/var/lib/unbound' where unbound can find them in its jail.
|
||||||
|
To preserve the DNS cache after adblock processing you need to install 'unbound-control'.
|
||||||
|
|
||||||
|
**change default dns backend to 'named' (bind):**
|
||||||
|
|
||||||
|
Adblock deposits the final blocklist 'adb_list.overall' in '/var/lib/bind'.
|
||||||
|
To preserve the DNS cache after adblock processing you need to install & configure 'bind-rdnc'.
|
||||||
|
To use the blocklist please modify '/etc/bind/named.conf':
|
||||||
|
<pre><code>
|
||||||
|
in the 'options' namespace add:
|
||||||
|
response-policy { zone "rpz"; };
|
||||||
|
|
||||||
|
and at the end of the file add:
|
||||||
|
zone "rpz" {
|
||||||
|
type master;
|
||||||
|
file "/var/lib/bind/adb_list.overall";
|
||||||
|
allow-query { none; };
|
||||||
|
allow-transfer { none; };
|
||||||
|
};
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
**configuration for different download utilities:**
|
**change default dns backend to 'kresd':**
|
||||||
|
|
||||||
|
The knot-resolver (kresd) is only available on Turris Omnia devices.
|
||||||
|
Adblock deposits the final blocklist 'adb_list.overall' in '/etc/kresd', no further configuration needed.
|
||||||
|
|
||||||
|
**change default dns backend to 'dnscrypt-proxy':**
|
||||||
|
|
||||||
|
The required 'blacklist' option of dnscrypt-proxy is not enabled by default, because the package will be compiled without plugins support.
|
||||||
|
Take a custom LEDE build with plugins support to use this feature. Adblock deposits the final blocklist 'adb_list.overall' in '/tmp'.
|
||||||
|
To use the blocklist please modify '/etc/config/dnscrypt-proxy' per instance:
|
||||||
<pre><code>
|
<pre><code>
|
||||||
wget (default):
|
list blacklist 'domains:/tmp/adb_list.overall'
|
||||||
option adb_fetch="/usr/bin/wget"
|
|
||||||
option adb_fetchparm="--no-config --quiet --no-cache --no-cookies --max-redirect=0 --timeout=10 --no-check-certificate -O"
|
|
||||||
|
|
||||||
aria2c:
|
|
||||||
option adb_fetch '/usr/bin/aria2c'
|
|
||||||
option adb_fetchparm '-q --timeout=10 --allow-overwrite=true --auto-file-renaming=false --check-certificate=false -o'
|
|
||||||
|
|
||||||
uclient-fetch:
|
|
||||||
option adb_fetch '/bin/uclient-fetch'
|
|
||||||
option adb_fetchparm '-q --timeout=10 --no-check-certificate -O'
|
|
||||||
|
|
||||||
curl:
|
|
||||||
option adb_fetch '/usr/bin/curl'
|
|
||||||
option adb_fetchparm '-s --connect-timeout 10 --insecure -o'
|
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
|
**enable email notification via msmtp:**
|
||||||
|
|
||||||
|
To use the email notification you have to install & configure the package 'msmtp'.
|
||||||
|
Modify the file '/etc/msmtprc':
|
||||||
|
<pre><code>
|
||||||
|
[...]
|
||||||
|
defaults
|
||||||
|
auth on
|
||||||
|
tls on
|
||||||
|
tls_certcheck off
|
||||||
|
timeout 5
|
||||||
|
syslog LOG_MAIL
|
||||||
|
[...]
|
||||||
|
account adb_notify
|
||||||
|
host smtp.gmail.com
|
||||||
|
port 587
|
||||||
|
from dev.adblock@gmail.com
|
||||||
|
user dev.adblock
|
||||||
|
password xxx
|
||||||
|
</code></pre>
|
||||||
|
Edit the file '/etc/adblock/adblock.notify' and change at least the 'mail_receiver'.
|
||||||
|
Finally make this file executable via 'chmod' and test it directly. If no more errors come up you can comment 'mail_debug', too.
|
||||||
|
|
||||||
**receive adblock runtime information:**
|
**receive adblock runtime information:**
|
||||||
|
|
||||||
<pre><code>
|
<pre><code>
|
||||||
root@blackhole:~# /etc/init.d/adblock status
|
/etc/init.d/adblock status
|
||||||
::: adblock runtime information
|
::: adblock runtime information
|
||||||
status : active
|
+ adblock_status : enabled
|
||||||
adblock_version : 2.6.0
|
+ adblock_version : 3.4.0
|
||||||
blocked_domains : 113711
|
+ overall_domains : 5167 (normal/backup mode)
|
||||||
fetch_info : wget (built-in)
|
+ fetch_utility : wget (built-in)
|
||||||
dns_backend : dnsmasq
|
+ dns_backend : kresd (/etc/kresd)
|
||||||
last_rundate : 12.04.2017 13:08:26
|
+ last_rundate : 27.12.2017 20:52:35
|
||||||
system : LEDE Reboot SNAPSHOT r3900-399d5cf532
|
+ system_release : Turris Omnia, OpenWrt omnia 15.05/3.9.1
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
**cronjob for a regular block list update (/etc/crontabs/root):**
|
**cronjob for a regular block list update (/etc/crontabs/root):**
|
||||||
|
|
||||||
<pre><code>
|
<pre><code>
|
||||||
0 06 * * * /etc/init.d/adblock start
|
0 06 * * * /etc/init.d/adblock reload
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
**blacklist entry (/etc/adblock/adblock.blacklist):**
|
**blacklist entry (/etc/adblock/adblock.blacklist):**
|
||||||
|
|
||||||
<pre><code>
|
<pre><code>
|
||||||
ads.example.com
|
ads.example.com
|
||||||
|
|
||||||
@@ -183,10 +237,11 @@ This entry does not block:
|
|||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
**whitelist entry (/etc/adblock/adblock.whitelist):**
|
**whitelist entry (/etc/adblock/adblock.whitelist):**
|
||||||
|
|
||||||
<pre><code>
|
<pre><code>
|
||||||
here.com
|
here.com
|
||||||
|
|
||||||
This entry removes the following (sub)domains from the block lists:
|
This entry removes the following (sub)domains from the blocklist:
|
||||||
maps.here.com
|
maps.here.com
|
||||||
here.com
|
here.com
|
||||||
|
|
||||||
@@ -195,52 +250,41 @@ This entry does not remove:
|
|||||||
www.adwhere.com
|
www.adwhere.com
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
**query active block lists for a certain (sub-)domain, e.g. for whitelisting:**
|
**query the active blocklist for a certain (sub-)domain, e.g. for whitelisting:**
|
||||||
<pre><code>
|
|
||||||
/etc/init.d/adblock query example.www.doubleclick.net
|
|
||||||
::: distinct results for domain 'example.www.doubleclick.net'
|
|
||||||
no match
|
|
||||||
::: distinct results for domain 'www.doubleclick.net'
|
|
||||||
adb_list.sysctl : www.doubleclick.net
|
|
||||||
::: distinct results for domain 'doubleclick.net'
|
|
||||||
adb_list.adaway : ad-g.doubleclick.net
|
|
||||||
adb_list.securemecca : 1168945.fls.doubleclick.net
|
|
||||||
adb_list.sysctl : 1435575.fls.doubleclick.net
|
|
||||||
adb_list.whocares : 3ad.doubleclick.net
|
|
||||||
|
|
||||||
The query function checks against the submitted (sub-)domain and recurses automatically to the upper top level domain(s).
|
The query function checks against the submitted (sub-)domain and recurses automatically to the upper top level domain. For every (sub-)domain it returns the first ten relevant results.
|
||||||
For every domain it returns the overall count plus a distinct list of active block lists with the first relevant result.
|
<pre><code>
|
||||||
In the example above whitelist "www.doubleclick.net" to free the submitted domain.
|
/etc/init.d/adblock query www.example.google.com
|
||||||
|
::: max. ten results for domain 'www.example.google.com'
|
||||||
|
- no match
|
||||||
|
::: max. ten results for domain 'example.google.com'
|
||||||
|
- no match
|
||||||
|
::: max. ten results for domain 'google.com'
|
||||||
|
+ analytics.google.com
|
||||||
|
+ googleadapis.l.google.com
|
||||||
|
+ pagead.l.google.com
|
||||||
|
+ partnerad.l.google.com
|
||||||
|
+ ssl-google-analytics.l.google.com
|
||||||
|
+ video-stats.video.google.com
|
||||||
|
+ www-google-analytics.l.google.com
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
**add a new blocklist source:**
|
**add a new blocklist source:**
|
||||||
<pre><code>
|
|
||||||
1. the easy way ...
|
1. the easy way ...
|
||||||
example: https://easylist-downloads.adblockplus.org/rolist+easylist.txt
|
example: https://easylist-downloads.adblockplus.org/rolist+easylist.txt
|
||||||
adblock already supports an easylist source, called 'ruadlist'. To add the additional local easylist
|
Adblock already supports an easylist source, called 'reg_ru'. To add the additional local easylist as a new source, copy the existing config source section and change only
|
||||||
as a new source, copy the existing config source 'ruadlist' section and change only
|
|
||||||
the source name, the url and the description - that's all!
|
the source name, the url and the description - that's all!
|
||||||
|
<pre><code>
|
||||||
config source 'rolist'
|
config source 'reg_ro'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://easylist-downloads.adblockplus.org/rolist+easylist.txt'
|
option adb_src 'https://easylist-downloads.adblockplus.org/rolist+easylist.txt'
|
||||||
option adb_src_rset '{FS=\"[|^]\"} \$0 ~/^\|\|([A-Za-z0-9_-]+\.){1,}[A-Za-z]+\^$/{print tolower(\$3)}'
|
option adb_src_rset 'BEGIN{FS=\"[|^]\"}\$0~/^\|\|([[:alnum:]_-]+\.){1,}[[:alpha:]]+\^("\\\$third-party")?$/{print tolower(\$3)}'
|
||||||
option adb_src_desc 'focus on romanian ad related domains plus generic easylist additions, weekly updates, approx. 600 entries'
|
option adb_src_desc 'focus on romanian ads plus generic easylist additions, weekly updates, approx. 9.400 entries'
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
2. a bit harder ...
|
2. a bit harder ...
|
||||||
to add a really new source with different domain/host format you have to write a suitable
|
To add a really new source with different domain/host format you have to write a suitable awk one-liner on your own, so basic awk skills are needed. As a starting point check the already existing awk rulesets 'adb_src_rset' in the config file, probably you need only small changes for your individual list. Download the desired list and test your new awk string locally. The output result should be a sequential list with one domain/host per line - nothing more. If your awk one-liner works quite well, add a new source section to the adblock config file and test the new source.
|
||||||
awk one-liner on your own, so basic awk skills are needed. As a starting point check the already
|
|
||||||
existing awk strings (adb_src_rset) in adblock config, maybe you need only small changes for your individual list.
|
|
||||||
Download the desired list and test your new awk string locally with:
|
|
||||||
cat new.list | awk 'fs__individual search__search core__result'
|
|
||||||
'fs' => field separator (optional)
|
|
||||||
'individual search' => individual search part to filter out needless list information
|
|
||||||
'search core' => always '([A-Za-z0-9_-]+\.){1,}[A-Za-z]+', this is part of all list sources and should be unchanged
|
|
||||||
'result' => always '{print tolower(\$n)}', only the output column 'n' may vary
|
|
||||||
the output result should be a sequential list with one domain/host per line - nothing more.
|
|
||||||
|
|
||||||
If your awk one-liner works quite well, add a new source section in adblock config and test your new source
|
|
||||||
</code></pre>
|
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
Please join the adblock discussion in this [forum thread](https://forum.lede-project.org/t/adblock-2-x-support-thread/507) or contact me by mail <dev@brenken.org>
|
Please join the adblock discussion in this [forum thread](https://forum.lede-project.org/t/adblock-2-x-support-thread/507) or contact me by mail <dev@brenken.org>
|
||||||
|
|||||||
@@ -2,125 +2,136 @@
|
|||||||
# see 'https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md'
|
# see 'https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md'
|
||||||
|
|
||||||
config adblock 'global'
|
config adblock 'global'
|
||||||
option adb_enabled '1'
|
option adb_enabled '0'
|
||||||
|
option adb_dns 'dnsmasq'
|
||||||
|
option adb_fetchutil 'uclient-fetch'
|
||||||
|
option adb_trigger 'wan'
|
||||||
|
|
||||||
|
config adblock 'extra'
|
||||||
option adb_debug '0'
|
option adb_debug '0'
|
||||||
option adb_forcesrt '0'
|
option adb_forcesrt '0'
|
||||||
option adb_forcedns '0'
|
option adb_forcedns '0'
|
||||||
option adb_iface 'wan'
|
|
||||||
option adb_triggerdelay '2'
|
|
||||||
option adb_whitelist '/etc/adblock/adblock.whitelist'
|
|
||||||
option adb_whitelist_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\"^\"\$1\"\\\|[.]\"\$1)}'
|
|
||||||
option adb_backup '0'
|
option adb_backup '0'
|
||||||
option adb_backupdir '/mnt'
|
|
||||||
option adb_rtfile '/tmp/adb_runtime.json'
|
|
||||||
|
|
||||||
config source 'adaway'
|
config source 'adaway'
|
||||||
option enabled '1'
|
option enabled '1'
|
||||||
option adb_src 'https://adaway.org/hosts.txt'
|
option adb_src 'https://adaway.org/hosts.txt'
|
||||||
option adb_src_rset '\$0 ~/^127\.0\.0\.1[ \t]+([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$2)}'
|
option adb_src_rset '\$0~/^127\.0\.0\.1[[:space:]]+([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$2)}'
|
||||||
option adb_src_desc 'focus on mobile ads, infrequent updates, approx. 400 entries'
|
option adb_src_desc 'focus on mobile ads, infrequent updates, approx. 400 entries'
|
||||||
|
|
||||||
config source 'adguard'
|
config source 'adguard'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://raw.githubusercontent.com/AdguardTeam/AdguardDNS/master/Filters/filter.txt'
|
option adb_src 'https://filters.adtidy.org/windows/filters/15.txt'
|
||||||
option adb_src_rset '{FS=\"[|^]\"} \$0 ~/^\|\|([A-Za-z0-9_-]+\.){1,}[A-Za-z]+\^$/{print tolower(\$3)}'
|
option adb_src_rset 'BEGIN{FS=\"[/|^|\r]\"}\$0~/^\|\|([[:alnum:]_-]+\.){1,}[[:alpha:]]+([\/\^\r]|$)/{print tolower(\$3)}'
|
||||||
option adb_src_desc 'combined adguard dns filter list, approx. 12.000 entries'
|
option adb_src_desc 'combined adguard dns filter list, frequent updates, approx. 15.700 entries'
|
||||||
|
|
||||||
|
config source 'bitcoin'
|
||||||
|
option enabled '0'
|
||||||
|
option adb_src 'https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt'
|
||||||
|
option adb_src_rset '\$0~/^0\.0\.0\.0[[:space:]]+([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$2)}'
|
||||||
|
option adb_src_desc 'focus on malicious bitcoin mining sites, infrequent updates, approx. 20 entries'
|
||||||
|
|
||||||
config source 'blacklist'
|
config source 'blacklist'
|
||||||
option enabled '0'
|
option enabled '1'
|
||||||
option adb_src '/etc/adblock/adblock.blacklist'
|
option adb_src '/etc/adblock/adblock.blacklist'
|
||||||
option adb_src_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
|
option adb_src_rset '\$0~/^([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}'
|
||||||
option adb_src_desc 'static local domain blacklist (always deny these domains)'
|
option adb_src_desc 'static local domain blacklist, always deny these domains'
|
||||||
|
|
||||||
config source 'disconnect'
|
config source 'disconnect'
|
||||||
option enabled '1'
|
option enabled '1'
|
||||||
option adb_src 'https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt'
|
option adb_src 'https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt'
|
||||||
option adb_src_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
|
option adb_src_rset '\$0~/^([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}'
|
||||||
option adb_src_desc 'mozilla driven blocklist, numerous updates on the same day, approx. 6.500 entries'
|
option adb_src_desc 'mozilla driven blocklist, numerous updates on the same day, approx. 4.600 entries'
|
||||||
|
|
||||||
config source 'dshield'
|
config source 'dshield'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://www.dshield.org/feeds/suspiciousdomains_Low.txt'
|
option adb_src 'https://www.dshield.org/feeds/suspiciousdomains_Low.txt'
|
||||||
option adb_src_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
|
option adb_src_rset '\$0~/^([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}'
|
||||||
option adb_src_desc 'generic blocklist, daily updates, approx. 4.500 entries'
|
option adb_src_desc 'generic blocklist, daily updates, approx. 3.500 entries'
|
||||||
|
|
||||||
config source 'feodo'
|
config source 'feodo'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://feodotracker.abuse.ch/blocklist/?download=domainblocklist'
|
option adb_src 'https://feodotracker.abuse.ch/blocklist/?download=domainblocklist'
|
||||||
option adb_src_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
|
option adb_src_rset '\$0~/^([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}'
|
||||||
option adb_src_desc 'focus on feodo botnet, daily updates, approx. 0-10 entries'
|
option adb_src_desc 'focus on feodo botnet, daily updates, approx. 0-10 entries'
|
||||||
|
|
||||||
config source 'hphosts'
|
config source 'hphosts'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://hosts-file.net/ad_servers.txt'
|
option adb_src 'https://hosts-file.net/ad_servers.txt'
|
||||||
option adb_src_rset '\$0 ~/^127\.0\.0\.1[ \t]+([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$2)}'
|
option adb_src_rset '\$0~/^127\.0\.0\.1[[:space:]]+([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$2)}'
|
||||||
option adb_src_desc 'broad blocklist, monthly updates, approx. 50.000 entries'
|
option adb_src_desc 'broad blocklist, monthly updates, approx. 19.200 entries'
|
||||||
|
|
||||||
config source 'malware'
|
config source 'malware'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://mirror.cedia.org.ec/malwaredomains/justdomains'
|
option adb_src 'https://mirror.espoch.edu.ec/malwaredomains/justdomains'
|
||||||
option adb_src_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
|
option adb_src_rset '\$0~/^([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}'
|
||||||
option adb_src_desc 'broad blocklist, daily updates, approx. 16.000 entries'
|
option adb_src_desc 'broad blocklist, daily updates, approx. 18.300 entries'
|
||||||
|
|
||||||
config source 'malwarelist'
|
config source 'malwarelist'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'http://www.malwaredomainlist.com/hostslist/hosts.txt'
|
option adb_src 'http://www.malwaredomainlist.com/hostslist/hosts.txt'
|
||||||
option adb_src_rset '\$0 ~/^127\.0\.0\.1[ \t]+([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$2)}'
|
option adb_src_rset '\$0~/^127\.0\.0\.1[[:space:]]+([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$2)}'
|
||||||
option adb_src_desc 'focus on malware, daily updates, approx. 1.500 entries'
|
option adb_src_desc 'focus on malware, daily updates, approx. 1.200 entries'
|
||||||
|
|
||||||
config source 'openphish'
|
config source 'openphish'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://openphish.com/feed.txt'
|
option adb_src 'https://openphish.com/feed.txt'
|
||||||
option adb_src_rset '{FS=\"/\"} \$3 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$3)}'
|
option adb_src_rset 'BEGIN{FS=\"/\"}\$0~/^http[s]?:\/\/([[:alnum:]_-]+\.){1,}[[:alpha:]]+(\/|$)/{print tolower(\$3)}'
|
||||||
option adb_src_desc 'focus on phishing, numerous updates on the same day, approx. 1.800 entries'
|
option adb_src_desc 'focus on phishing, numerous updates on the same day, approx. 2.400 entries'
|
||||||
|
|
||||||
config source 'palevo'
|
|
||||||
option enabled '0'
|
|
||||||
option adb_src 'https://palevotracker.abuse.ch/blocklists.php?download=domainblocklist'
|
|
||||||
option adb_src_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
|
|
||||||
option adb_src_desc 'focus on palevo worm, daily updates, approx. 15 entries'
|
|
||||||
|
|
||||||
config source 'ransomware'
|
config source 'ransomware'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://ransomwaretracker.abuse.ch/downloads/RW_DOMBL.txt'
|
option adb_src 'https://ransomwaretracker.abuse.ch/downloads/RW_DOMBL.txt'
|
||||||
option adb_src_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
|
option adb_src_rset '\$0~/^([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|\r|$)/{print tolower(\$1)}'
|
||||||
option adb_src_desc 'focus on ransomware, numerous updates on the same day, approx. 130 entries'
|
option adb_src_desc 'focus on ransomware, numerous updates on the same day, approx. 1900 entries'
|
||||||
|
|
||||||
config source 'reg_cn'
|
config source 'reg_cn'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt'
|
option adb_src 'https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt'
|
||||||
option adb_src_rset '{FS=\"[|^]\"} \$0 ~/^\|\|([A-Za-z0-9_-]+\.){1,}[A-Za-z]+\^$/{print tolower(\$3)}'
|
option adb_src_rset 'BEGIN{FS=\"[|^]\"}\$0~/^\|\|([[:alnum:]_-]+\.){1,}[[:alpha:]]+\^("\\\$third-party")?$/{print tolower(\$3)}'
|
||||||
option adb_src_desc 'focus on chinese ads, daily updates, approx. 1.600 entries'
|
option adb_src_desc 'focus on chinese ads plus generic easylist additions, daily updates, approx. 11.700 entries'
|
||||||
|
|
||||||
|
config source 'reg_de'
|
||||||
|
option enabled '0'
|
||||||
|
option adb_src 'https://easylist-downloads.adblockplus.org/easylistgermany+easylist.txt'
|
||||||
|
option adb_src_rset 'BEGIN{FS=\"[|^]\"}\$0~/^\|\|([[:alnum:]_-]+\.){1,}[[:alpha:]]+\^("\\\$third-party")?$/{print tolower(\$3)}'
|
||||||
|
option adb_src_desc 'focus on german ads plus generic easylist additions, daily updates, approx. 9.200 entries'
|
||||||
|
|
||||||
|
config source 'reg_id'
|
||||||
|
option enabled '0'
|
||||||
|
option adb_src 'https://easylist-downloads.adblockplus.org/abpindo+easylist.txt'
|
||||||
|
option adb_src_rset 'BEGIN{FS=\"[|^]\"}\$0~/^\|\|([[:alnum:]_-]+\.){1,}[[:alpha:]]+\^("\\\$third-party")?$/{print tolower(\$3)}'
|
||||||
|
option adb_src_desc 'focus on indonesian ads plus generic easylist additions, weekly updates, approx. 9.600 entries'
|
||||||
|
|
||||||
|
config source 'reg_nl'
|
||||||
|
option enabled '0'
|
||||||
|
option adb_src 'https://easylist-downloads.adblockplus.org/easylistdutch+easylist.txt'
|
||||||
|
option adb_src_rset 'BEGIN{FS=\"[|^]\"}\$0~/^\|\|([[:alnum:]_-]+\.){1,}[[:alpha:]]+\^("\\\$third-party")?$/{print tolower(\$3)}'
|
||||||
|
option adb_src_desc 'focus on dutch ads plus generic easylist additions, weekly updates, approx. 9.400 entries'
|
||||||
|
|
||||||
config source 'reg_pl'
|
config source 'reg_pl'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'http://adblocklist.org/adblock-pxf-polish.txt'
|
option adb_src 'http://adblocklist.org/adblock-pxf-polish.txt'
|
||||||
option adb_src_rset '{FS=\"[|^]\"} \$0 ~/^\|\|([A-Za-z0-9_-]+\.){1,}[A-Za-z]+\^$/{print tolower(\$3)}'
|
option adb_src_rset 'BEGIN{FS=\"[|^]\"}\$0~/^\|\|([[:alnum:]_-]+\.){1,}[[:alpha:]]+\^("\\\$third-party")?$/{print tolower(\$3)}'
|
||||||
option adb_src_desc 'focus on polish ads, daily updates, approx. 50 entries'
|
option adb_src_desc 'focus on polish ads, daily updates, approx. 90 entries'
|
||||||
|
|
||||||
config source 'reg_ro'
|
config source 'reg_ro'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://easylist-downloads.adblockplus.org/rolist+easylist.txt'
|
option adb_src 'https://easylist-downloads.adblockplus.org/rolist+easylist.txt'
|
||||||
option adb_src_rset '{FS=\"[|^]\"} \$0 ~/^\|\|([A-Za-z0-9_-]+\.){1,}[A-Za-z]+\^$/{print tolower(\$3)}'
|
option adb_src_rset 'BEGIN{FS=\"[|^]\"}\$0~/^\|\|([[:alnum:]_-]+\.){1,}[[:alpha:]]+\^("\\\$third-party")?$/{print tolower(\$3)}'
|
||||||
option adb_src_desc 'focus on romanian ads plus generic easylist additions, weekly updates, approx. 600 entries'
|
option adb_src_desc 'focus on romanian ads plus generic easylist additions, weekly updates, approx. 9.400 entries'
|
||||||
|
|
||||||
config source 'reg_ru'
|
config source 'reg_ru'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://easylist-downloads.adblockplus.org/ruadlist+easylist.txt'
|
option adb_src 'https://easylist-downloads.adblockplus.org/ruadlist+easylist.txt'
|
||||||
option adb_src_rset '{FS=\"[|^]\"} \$0 ~/^\|\|([A-Za-z0-9_-]+\.){1,}[A-Za-z]+\^$/{print tolower(\$3)}'
|
option adb_src_rset 'BEGIN{FS=\"[|^]\"}\$0~/^\|\|([[:alnum:]_-]+\.){1,}[[:alpha:]]+\^("\\\$third-party")?$/{print tolower(\$3)}'
|
||||||
option adb_src_desc 'focus on russian ads plus generic easylist additions, weekly updates, approx. 2.000 entries'
|
option adb_src_desc 'focus on russian ads plus generic easylist additions, weekly updates, approx. 14.500 entries'
|
||||||
|
|
||||||
config source 'securemecca'
|
|
||||||
option enabled '0'
|
|
||||||
option adb_src 'http://securemecca.com/Downloads/hosts.txt'
|
|
||||||
option adb_src_rset '\$0 ~/^127\.0\.0\.1[ \t]+([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$2)}'
|
|
||||||
option adb_src_desc 'broad blocklist, infrequent updates, approx. 25.000 entries'
|
|
||||||
|
|
||||||
config source 'shalla'
|
config source 'shalla'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'http://www.shallalist.de/Downloads/shallalist.tar.gz'
|
option adb_src 'http://www.shallalist.de/Downloads/shallalist.tar.gz'
|
||||||
option adb_src_rset '{FS=\"/\"} \$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
|
option adb_src_rset '\$0~/^([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}'
|
||||||
option adb_src_desc 'broad blocklist subdivided in different categories, daily updates, approx. 32.000 entries'
|
option adb_src_desc 'broad blocklist subdivided in different categories, daily updates, approx. 31.700 entries'
|
||||||
list adb_src_cat 'adv'
|
list adb_src_cat 'adv'
|
||||||
list adb_src_cat 'costtraps'
|
list adb_src_cat 'costtraps'
|
||||||
list adb_src_cat 'spyware'
|
list adb_src_cat 'spyware'
|
||||||
@@ -130,41 +141,41 @@ config source 'shalla'
|
|||||||
config source 'spam404'
|
config source 'spam404'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://raw.githubusercontent.com/Dawsey21/Lists/master/main-blacklist.txt'
|
option adb_src 'https://raw.githubusercontent.com/Dawsey21/Lists/master/main-blacklist.txt'
|
||||||
option adb_src_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
|
option adb_src_rset '\$0~/^([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}'
|
||||||
option adb_src_desc 'generic blocklist, infrequent updates, approx. 5.000 entries'
|
option adb_src_desc 'generic blocklist, infrequent updates, approx. 6.000 entries'
|
||||||
|
|
||||||
config source 'sysctl'
|
config source 'sysctl'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'http://sysctl.org/cameleon/hosts'
|
option adb_src 'http://sysctl.org/cameleon/hosts'
|
||||||
option adb_src_rset '\$0 ~/^127\.0\.0\.1[ \t]+([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$2)}'
|
option adb_src_rset '\$0~/^127\.0\.0\.1[[:space:]]+([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$2)}'
|
||||||
option adb_src_desc 'broad blocklist, weekly updates, approx. 21.000 entries'
|
option adb_src_desc 'broad blocklist, weekly updates, approx. 16.500 entries'
|
||||||
|
|
||||||
config source 'whocares'
|
config source 'whocares'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'http://someonewhocares.org/hosts/hosts'
|
option adb_src 'http://someonewhocares.org/hosts/hosts'
|
||||||
option adb_src_rset '\$0 ~/^127\.0\.0\.1[ \t]+([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$2)}'
|
option adb_src_rset '\$0~/^127\.0\.0\.1[[:space:]]+([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$2)}'
|
||||||
option adb_src_desc 'broad blocklist, weekly updates, approx. 12.000 entries'
|
option adb_src_desc 'broad blocklist, weekly updates, approx. 10.000 entries'
|
||||||
|
|
||||||
config source 'winspy'
|
config source 'winspy'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/win10/spy.txt'
|
option adb_src 'https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/win10/spy.txt'
|
||||||
option adb_src_rset '\$0 ~/^0\.0\.0\.0[ \t]+([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$2)}'
|
option adb_src_rset '\$0~/^0\.0\.0\.0[[:space:]]+([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$2)}'
|
||||||
option adb_src_desc 'focus on windows spy & telemetry, infrequent updates, approx. 140 entries'
|
option adb_src_desc 'focus on windows spy & telemetry domains, infrequent updates, approx. 300 entries'
|
||||||
|
|
||||||
config source 'winhelp'
|
config source 'winhelp'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'http://winhelp2002.mvps.org/hosts.txt'
|
option adb_src 'http://winhelp2002.mvps.org/hosts.txt'
|
||||||
option adb_src_rset '\$0 ~/^0\.0\.0\.0[ \t]+([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$2)}'
|
option adb_src_rset '\$0~/^0\.0\.0\.0[[:space:]]+([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$2)}'
|
||||||
option adb_src_desc 'broad blocklist, infrequent updates, approx. 15.000 entries'
|
option adb_src_desc 'broad blocklist, infrequent updates, approx. 13.000 entries'
|
||||||
|
|
||||||
config source 'yoyo'
|
config source 'yoyo'
|
||||||
option enabled '1'
|
option enabled '1'
|
||||||
option adb_src 'https://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext'
|
option adb_src 'https://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext'
|
||||||
option adb_src_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
|
option adb_src_rset '\$0~/^([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}'
|
||||||
option adb_src_desc 'focus on ad related domains, weekly updates, approx. 2.500 entries'
|
option adb_src_desc 'focus on ad related domains, weekly updates, approx. 2.400 entries'
|
||||||
|
|
||||||
config source 'zeus'
|
config source 'zeus'
|
||||||
option enabled '0'
|
option enabled '0'
|
||||||
option adb_src 'https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist'
|
option adb_src 'https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist'
|
||||||
option adb_src_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
|
option adb_src_rset '\$0~/^([[:alnum:]_-]+\.){1,}[[:alpha:]]+([[:space:]]|$)/{print tolower(\$1)}'
|
||||||
option adb_src_desc 'focus on zeus botnet, daily updates, approx. 440 entries'
|
option adb_src_desc 'focus on zeus botnet, daily updates, approx. 400 entries'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh /etc/rc.common
|
#!/bin/sh /etc/rc.common
|
||||||
#
|
#
|
||||||
|
|
||||||
START=50
|
START=30
|
||||||
USE_PROCD=1
|
USE_PROCD=1
|
||||||
|
|
||||||
EXTRA_COMMANDS="suspend resume query status"
|
EXTRA_COMMANDS="suspend resume query status"
|
||||||
@@ -12,30 +12,40 @@ EXTRA_HELP=" suspend Suspend adblock processing
|
|||||||
|
|
||||||
adb_init="/etc/init.d/adblock"
|
adb_init="/etc/init.d/adblock"
|
||||||
adb_script="/usr/bin/adblock.sh"
|
adb_script="/usr/bin/adblock.sh"
|
||||||
|
adb_pidfile="/var/run/adblock.pid"
|
||||||
|
|
||||||
boot()
|
boot()
|
||||||
{
|
{
|
||||||
adb_boot=1
|
adb_boot=1
|
||||||
ubus -t 30 wait_for network.interface 2>/dev/null
|
|
||||||
rc_procd start_service
|
rc_procd start_service
|
||||||
}
|
}
|
||||||
|
|
||||||
start_service()
|
start_service()
|
||||||
{
|
{
|
||||||
if [ $("${adb_init}" enabled; printf ${?}) -eq 0 ]
|
if [ $("${adb_init}" enabled; printf "%u" ${?}) -eq 0 ]
|
||||||
then
|
then
|
||||||
if [ -n "${adb_boot}" ]
|
if [ -n "${adb_boot}" ]
|
||||||
|
then
|
||||||
|
local trigger="$(uci_get adblock.global.adb_trigger)"
|
||||||
|
if [ "${trigger}" != "timed" ]
|
||||||
then
|
then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
procd_open_instance "adblock"
|
procd_open_instance "adblock"
|
||||||
procd_set_param command "${adb_script}" "${@}"
|
procd_set_param command "${adb_script}" "${@}"
|
||||||
|
procd_set_param pidfile "${adb_pidfile}"
|
||||||
procd_set_param stdout 1
|
procd_set_param stdout 1
|
||||||
procd_set_param stderr 1
|
procd_set_param stderr 1
|
||||||
procd_close_instance
|
procd_close_instance
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reload_service()
|
||||||
|
{
|
||||||
|
rc_procd start_service reload
|
||||||
|
}
|
||||||
|
|
||||||
stop_service()
|
stop_service()
|
||||||
{
|
{
|
||||||
rc_procd "${adb_script}" stop
|
rc_procd "${adb_script}" stop
|
||||||
@@ -49,34 +59,52 @@ restart()
|
|||||||
|
|
||||||
suspend()
|
suspend()
|
||||||
{
|
{
|
||||||
|
[ -s "${adb_pidfile}" ] && return 1
|
||||||
rc_procd "${adb_script}" suspend
|
rc_procd "${adb_script}" suspend
|
||||||
}
|
}
|
||||||
|
|
||||||
resume()
|
resume()
|
||||||
{
|
{
|
||||||
|
[ -s "${adb_pidfile}" ] && return 1
|
||||||
rc_procd "${adb_script}" resume
|
rc_procd "${adb_script}" resume
|
||||||
}
|
}
|
||||||
|
|
||||||
query()
|
query()
|
||||||
{
|
{
|
||||||
|
[ -s "${adb_pidfile}" ] && return 1
|
||||||
rc_procd "${adb_script}" query "${1}"
|
rc_procd "${adb_script}" query "${1}"
|
||||||
}
|
}
|
||||||
|
|
||||||
status()
|
status()
|
||||||
{
|
{
|
||||||
rc_procd "${adb_script}" status
|
local key keylist value rtfile="$(uci_get adblock.extra.adb_rtfile)"
|
||||||
|
|
||||||
|
rtfile="${rtfile:-"/tmp/adb_runtime.json"}"
|
||||||
|
if [ -s "${rtfile}" ]
|
||||||
|
then
|
||||||
|
printf "%s\n" "::: adblock runtime information"
|
||||||
|
json_load "$(cat "${rtfile}" 2>/dev/null)"
|
||||||
|
json_select data
|
||||||
|
json_get_keys keylist
|
||||||
|
for key in ${keylist}
|
||||||
|
do
|
||||||
|
json_get_var value "${key}"
|
||||||
|
printf " + %-15s : %s\n" "${key}" "${value}"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
printf "%s\n" "::: no adblock runtime information available"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
service_triggers()
|
service_triggers()
|
||||||
{
|
{
|
||||||
local iface="$(uci -q get adblock.global.adb_iface)"
|
local trigger="$(uci_get adblock.global.adb_trigger)"
|
||||||
local delay="$(uci -q get adblock.global.adb_triggerdelay)"
|
local delay="$(uci_get adblock.extra.adb_triggerdelay)"
|
||||||
|
|
||||||
PROCD_RELOAD_DELAY=$((${delay:=2} * 1000))
|
if [ "${trigger}" != "none" ] && [ "${trigger}" != "timed" ]
|
||||||
for name in ${iface}
|
then
|
||||||
do
|
PROCD_RELOAD_DELAY=$((${delay:-2} * 1000))
|
||||||
procd_add_interface_trigger "interface.*.up" "${name}" "${adb_init}" start
|
procd_add_interface_trigger "interface.*.up" "${trigger}" "${adb_init}" start
|
||||||
done
|
fi
|
||||||
PROCD_RELOAD_DELAY=1000
|
procd_add_reload_trigger "adblock"
|
||||||
procd_add_config_trigger "config.change" "adblock" "${adb_init}" start
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,56 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# adblock send mail script for mstmp
|
||||||
|
# written by Dirk Brenken (dev@brenken.org)
|
||||||
|
# Please note: you have to install and configure the package 'mstmp' before using this script.
|
||||||
|
|
||||||
|
# This is free software, licensed under the GNU General Public License v3.
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
LC_ALL=C
|
||||||
|
PATH="/usr/sbin:/usr/bin:/sbin:/bin"
|
||||||
|
mail_ver="1.0.1"
|
||||||
|
mail_daemon="$(command -v msmtp)"
|
||||||
|
mail_profile="adb_notify"
|
||||||
|
mail_debug="--debug"
|
||||||
|
mail_rc=1
|
||||||
|
|
||||||
|
if [ ! -x "${mail_daemon}" ]
|
||||||
|
then
|
||||||
|
mail_daemon="$(command -v sendmail)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "/var/log/messages" ]
|
||||||
|
then
|
||||||
|
logfile="$(cat /var/log/messages | grep "adblock-")"
|
||||||
|
else
|
||||||
|
logfile="$(logread -e "adblock-")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# mail header
|
||||||
|
#
|
||||||
|
mail_sender="no-reply@adblock"
|
||||||
|
mail_receiver="!!!ChangeMe!!!"
|
||||||
|
mail_topic="adblock notification"
|
||||||
|
mail_head="From: ${mail_sender}\nTo: ${mail_receiver}\nSubject: ${mail_topic}\nReply-to: ${mail_sender}\n\n"
|
||||||
|
|
||||||
|
# mail body
|
||||||
|
#
|
||||||
|
mail_text="adblock status, generated at $(date 2>&1)!"
|
||||||
|
mail_text="${mail_text}\n++\n++ System Information ++\n++\n$(cat /etc/banner 2>&1)"
|
||||||
|
mail_text="${mail_text}\n\n++\n++ Adblock Information ++\n++\n$(/etc/init.d/adblock status 2>&1)"
|
||||||
|
mail_text="${mail_text}\n\n++\n++ Logfile Information ++\n++\n${logfile}\n++\n++\n"
|
||||||
|
|
||||||
|
# send mail
|
||||||
|
#
|
||||||
|
if [ -x "${mail_daemon}" ]
|
||||||
|
then
|
||||||
|
printf "%b" "${mail_head}${mail_text}" 2>/dev/null | "${mail_daemon}" ${mail_debug} -a "${mail_profile}" "${mail_receiver}" >/dev/null 2>&1
|
||||||
|
mail_rc=${?}
|
||||||
|
logger -p "info" -t "adblock-notify-[${mail_ver}]" "mail sent to '${mail_receiver}' with rc '${mail_rc}'"
|
||||||
|
else
|
||||||
|
logger -p "err" -t "adblock-notify-[${mail_ver}]" "msmtp mail daemon not found"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit ${mail_rc}
|
||||||
+676
-305
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user