Merge pull request #21628 from stangri/master-simple-adblock
simple-adblock: dnsmasq access bugfix & misc improvements
This commit is contained in:
commit
5bc8caf33b
4 changed files with 38 additions and 13 deletions
|
@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=simple-adblock
|
PKG_NAME:=simple-adblock
|
||||||
PKG_VERSION:=1.9.5
|
PKG_VERSION:=1.9.5
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=3
|
||||||
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
|
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
|
||||||
PKG_LICENSE:=GPL-3.0-or-later
|
PKG_LICENSE:=GPL-3.0-or-later
|
||||||
|
|
||||||
|
|
|
@ -54,14 +54,14 @@ config simple-adblock 'config'
|
||||||
# block-list may be too big for some routers
|
# block-list may be too big for some routers
|
||||||
list blocked_hosts_url 'https://someonewhocares.org/hosts/hosts'
|
list blocked_hosts_url 'https://someonewhocares.org/hosts/hosts'
|
||||||
|
|
||||||
# File size: 613.0K
|
|
||||||
# block-list may be too big for some routers
|
|
||||||
list blocked_domains_url 'https://cdn.jsdelivr.net/gh/AdguardTeam/cname-trackers@master/combined_disguised_trackers_justdomains.txt'
|
|
||||||
|
|
||||||
# File size: 624.0K
|
# File size: 624.0K
|
||||||
# block-list too big for most routers
|
# block-list too big for most routers
|
||||||
# list blocked_hosts_url 'http://sysctl.org/cameleon/hosts'
|
# list blocked_hosts_url 'http://sysctl.org/cameleon/hosts'
|
||||||
|
|
||||||
|
# File size: 1.4M
|
||||||
|
# block-list too big for most routers
|
||||||
|
# list blocked_adblockplus_url 'https://small.oisd.nl/'
|
||||||
|
|
||||||
# File size: 1.6M
|
# File size: 1.6M
|
||||||
# block-list too big for most routers
|
# block-list too big for most routers
|
||||||
# list blocked_hosts_url 'https://cdn.jsdelivr.net/gh/StevenBlack/hosts/hosts'
|
# list blocked_hosts_url 'https://cdn.jsdelivr.net/gh/StevenBlack/hosts/hosts'
|
||||||
|
@ -78,9 +78,9 @@ config simple-adblock 'config'
|
||||||
# enabling this will disable processing of any other block/allow-lists
|
# enabling this will disable processing of any other block/allow-lists
|
||||||
# option dnsmasq_config_file_url 'https://dnsmasq.oisd.nl/'
|
# option dnsmasq_config_file_url 'https://dnsmasq.oisd.nl/'
|
||||||
|
|
||||||
# File size: 1.4M
|
# File size: 5.0M
|
||||||
# block-list too big for most routers
|
# block-list may be too big for some routers
|
||||||
# list blocked_adblockplus_url 'https://small.oisd.nl/'
|
# list blocked_domains_url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_trackers_justdomains.txt'
|
||||||
|
|
||||||
# File size: 6.2M
|
# File size: 6.2M
|
||||||
# block-list too big for most routers
|
# block-list too big for most routers
|
||||||
|
|
|
@ -21,3 +21,4 @@ s|list blocked_hosts_url 'https://hosts.oisd.nl/'|list blocked_adblockplus_url '
|
||||||
\|https://cdn.jsdelivr.net/gh/paulgb/BarbBlock/blacklists/domain-list.txt|d
|
\|https://cdn.jsdelivr.net/gh/paulgb/BarbBlock/blacklists/domain-list.txt|d
|
||||||
\|dnsmasq.oisd.nl|d
|
\|dnsmasq.oisd.nl|d
|
||||||
\|dnsmasq2.oisd.nl|d
|
\|dnsmasq2.oisd.nl|d
|
||||||
|
\|https://cdn.jsdelivr.net/gh/AdguardTeam/cname-trackers@master/combined_disguised_trackers_justdomains.txt|d
|
||||||
|
|
|
@ -13,15 +13,17 @@ if type extra_command 1>/dev/null 2>&1; then
|
||||||
extra_command 'check' 'Checks if specified domain is found in current block-list'
|
extra_command 'check' 'Checks if specified domain is found in current block-list'
|
||||||
extra_command 'dl' 'Force-downloads all enabled block-list'
|
extra_command 'dl' 'Force-downloads all enabled block-list'
|
||||||
extra_command 'killcache' 'Delete all cached files'
|
extra_command 'killcache' 'Delete all cached files'
|
||||||
|
extra_command 'pause' 'Pauses AdBlocking for specified number of seconds (default: 60)'
|
||||||
extra_command 'sizes' 'Displays the file-sizes of enabled block-lists'
|
extra_command 'sizes' 'Displays the file-sizes of enabled block-lists'
|
||||||
extra_command 'version' 'Show version information'
|
extra_command 'version' 'Show version information'
|
||||||
else
|
else
|
||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
EXTRA_COMMANDS='allow check dl killcache sizes status_service version'
|
EXTRA_COMMANDS='allow check dl killcache pause sizes status_service version'
|
||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
EXTRA_HELP=' allow Allows domain(s) in current block-list and config
|
EXTRA_HELP=' allow Allows domain(s) in current block-list and config
|
||||||
check Checks if specified domain is found in current block-list
|
check Checks if specified domain is found in current block-list
|
||||||
dl Force-downloads all enabled block-list
|
dl Force-downloads all enabled block-list
|
||||||
|
pause Pauses AdBlocking for specified number of seconds (default: 60)
|
||||||
sizes Displays the file-sizes of enabled block-lists'
|
sizes Displays the file-sizes of enabled block-lists'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -528,10 +530,14 @@ dns() {
|
||||||
|
|
||||||
case "$dns" in
|
case "$dns" in
|
||||||
dnsmasq.addnhosts|dnsmasq.servers)
|
dnsmasq.addnhosts|dnsmasq.servers)
|
||||||
|
chmod 660 "$outputFile"
|
||||||
|
chown root:dnsmasq "$outputFile"
|
||||||
param=dnsmasq_restart
|
param=dnsmasq_restart
|
||||||
output_text='Reloading dnsmasq'
|
output_text='Reloading dnsmasq'
|
||||||
;;
|
;;
|
||||||
dnsmasq.conf|dnsmasq.ipset|dnsmasq.nftset)
|
dnsmasq.conf|dnsmasq.ipset|dnsmasq.nftset)
|
||||||
|
chmod 660 "$outputFile"
|
||||||
|
chown root:dnsmasq "$outputFile"
|
||||||
param=dnsmasq_restart
|
param=dnsmasq_restart
|
||||||
output_text='Restarting dnsmasq'
|
output_text='Restarting dnsmasq'
|
||||||
;;
|
;;
|
||||||
|
@ -686,7 +692,7 @@ cache() {
|
||||||
local R_TMP
|
local R_TMP
|
||||||
case "$1" in
|
case "$1" in
|
||||||
create|backup)
|
create|backup)
|
||||||
[ -s "$outputFile" ] && { mv -f "$outputFile" "$outputCache"; true > "$outputFile"; } >/dev/null 2>/dev/null
|
[ -s "$outputFile" ] && { mv -f "$outputFile" "$outputCache"; } >/dev/null 2>/dev/null
|
||||||
return $?
|
return $?
|
||||||
;;
|
;;
|
||||||
restore|use)
|
restore|use)
|
||||||
|
@ -1262,6 +1268,7 @@ adb_sizes() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# shellcheck disable=SC2120
|
||||||
adb_start() {
|
adb_start() {
|
||||||
local action status error message stats c
|
local action status error message stats c
|
||||||
local param="$1" validation_result="$3"
|
local param="$1" validation_result="$3"
|
||||||
|
@ -1274,13 +1281,13 @@ adb_start() {
|
||||||
stats="$(json get stats)"
|
stats="$(json get stats)"
|
||||||
action="$(json get triggers)"
|
action="$(json get triggers)"
|
||||||
|
|
||||||
if [ "$action" = 'on_boot' ] || [ "$1" = 'on_boot' ]; then
|
if [ "$action" = 'on_boot' ] || [ "$param" = 'on_boot' ]; then
|
||||||
if cache 'test_gzip' || cache 'test'; then
|
if cache 'test_gzip' || cache 'test'; then
|
||||||
action='restore'
|
action='restore'
|
||||||
else
|
else
|
||||||
action='download'
|
action='download'
|
||||||
fi
|
fi
|
||||||
elif [ "$action" = 'download' ] || [ "$1" = 'download' ] || [ -n "$error" ]; then
|
elif [ "$action" = 'download' ] || [ "$param" = 'download' ] || [ -n "$error" ]; then
|
||||||
action='download'
|
action='download'
|
||||||
elif [ ! -s "$outputFile" ]; then
|
elif [ ! -s "$outputFile" ]; then
|
||||||
if cache 'test_gzip' || cache 'test'; then
|
if cache 'test_gzip' || cache 'test'; then
|
||||||
|
@ -1288,7 +1295,7 @@ adb_start() {
|
||||||
else
|
else
|
||||||
action='download'
|
action='download'
|
||||||
fi
|
fi
|
||||||
elif [ "$action" = 'restart' ] || [ "$1" = 'restart' ]; then
|
elif [ "$action" = 'restart' ] || [ "$param" = 'restart' ]; then
|
||||||
action='restart'
|
action='restart'
|
||||||
elif [ -s "$outputFile" ] && [ "$status" = "statusSuccess" ] && [ -z "$error" ]; then
|
elif [ -s "$outputFile" ] && [ "$status" = "statusSuccess" ] && [ -z "$error" ]; then
|
||||||
status_service
|
status_service
|
||||||
|
@ -1497,6 +1504,7 @@ adb_status() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# shellcheck disable=SC2120
|
||||||
adb_stop() {
|
adb_stop() {
|
||||||
local validation_result="$3"
|
local validation_result="$3"
|
||||||
load_environment "$validation_result" 'quiet' || return 1
|
load_environment "$validation_result" 'quiet' || return 1
|
||||||
|
@ -1521,6 +1529,19 @@ adb_stop() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
adb_pause() {
|
||||||
|
local timeout="${1:-$pause_timeout}"
|
||||||
|
local validation_result="$3"
|
||||||
|
adb_stop 'on_pause' '' "$validation_result"
|
||||||
|
output "Sleeping for $timeout seconds... "
|
||||||
|
if sleep "$timeout"; then
|
||||||
|
output_okn
|
||||||
|
else
|
||||||
|
output_failn
|
||||||
|
fi
|
||||||
|
adb_start 'on_pause' '' "$validation_result"
|
||||||
|
}
|
||||||
|
|
||||||
allow() { load_validate_config 'config' adb_allow "'$*'"; }
|
allow() { load_validate_config 'config' adb_allow "'$*'"; }
|
||||||
boot() {
|
boot() {
|
||||||
ubus -t 30 wait_for network.interface 2>/dev/null
|
ubus -t 30 wait_for network.interface 2>/dev/null
|
||||||
|
@ -1579,6 +1600,7 @@ start_service() {
|
||||||
}
|
}
|
||||||
status_service() { load_validate_config 'config' adb_status "''"; }
|
status_service() { load_validate_config 'config' adb_status "''"; }
|
||||||
stop_service() { load_validate_config 'config' adb_stop "'$*'"; }
|
stop_service() { load_validate_config 'config' adb_stop "'$*'"; }
|
||||||
|
pause() { load_validate_config 'config' adb_pause "'$*'"; }
|
||||||
version() { echo "$PKG_VERSION"; }
|
version() { echo "$PKG_VERSION"; }
|
||||||
|
|
||||||
load_validate_config() {
|
load_validate_config() {
|
||||||
|
@ -1598,6 +1620,7 @@ load_validate_config() {
|
||||||
local config_update_enabled
|
local config_update_enabled
|
||||||
local config_update_url
|
local config_update_url
|
||||||
local download_timeout
|
local download_timeout
|
||||||
|
local pause_timeout
|
||||||
local curl_additional_param
|
local curl_additional_param
|
||||||
local curl_max_file_size
|
local curl_max_file_size
|
||||||
local curl_retry
|
local curl_retry
|
||||||
|
@ -1629,6 +1652,7 @@ load_validate_config() {
|
||||||
'config_update_enabled:bool:0' \
|
'config_update_enabled:bool:0' \
|
||||||
'config_update_url:string:https://cdn.jsdelivr.net/gh/openwrt/packages/net/simple-adblock/files/simple-adblock.conf.update' \
|
'config_update_url:string:https://cdn.jsdelivr.net/gh/openwrt/packages/net/simple-adblock/files/simple-adblock.conf.update' \
|
||||||
'download_timeout:range(1,60):20' \
|
'download_timeout:range(1,60):20' \
|
||||||
|
'pause_timeout:range(10,120):60' \
|
||||||
'curl_additional_param:or("", string)' \
|
'curl_additional_param:or("", string)' \
|
||||||
'curl_max_file_size:or("", uinteger)' \
|
'curl_max_file_size:or("", uinteger)' \
|
||||||
'curl_retry:range(0,30):3' \
|
'curl_retry:range(0,30):3' \
|
||||||
|
|
Loading…
Reference in a new issue