adblock-fast: service starts very slowly if download of the block lists is delayed
bug
### Package Name
adblock-fast
### Maintainer
@stangri
### OpenWrt Version
25.12.4
### OpenWrt Target/Subtarget
mediatek/filogic
### Steps to Reproduce
1. I made a new fresh install of 25.12.4 with adbock-fast and additional utils: gawk grep sed coreutils-sort curl
2. Then added first 3 Block lists available
```
uci set adblock-fast.$(uci show adblock-fast | awk -F'.' '/.name='\''Hagezi - Pro'\''/ {print $2}').enabled='1'
uci set adblock-fast.$(uci show adblock-fast | awk -F'.' '/.name='\''AdguardTeam - CNAME Trackers'\''/ {print $2}').enabled='1'
uci set adblock-fast.$(uci show adblock-fast | awk -F'.' '/.name='\''OISD - Big'\''/ {print $2}').enabled='1'
```
3. Made some additional settings
```
uci set adblock-fast.config.enabled='1'
uci set adblock-fast.config.dns='dnsmasq.servers'
uci set adblock-fast.config.heartbeat_domain='ya.ru'
uci set adblock-fast.config.auto_update_enabled='1'
```
5. Started the service: `/etc/init.d/adblock-fast restart`
### Actual Behaviour
Process hung for **17 minutes** like this:
```
[INIT] Force-reloading adblock-fast 1.2.2-r18...
[ DL ] Blocked List: Hagezi - Pro (domains) [_]
[ DL ] Blocked List: AdguardTeam - CNAME Trackers (domains) [_]
[ DL ] Blocked List: OISD - Big (adblockplus) [_]
```
After disabling the OISD list everything started working well.
I have some trouble with [oist](https://oisd.nl/) website, it works very slow for me. But still a certain timer should hard limit the time for a response from the server with file. `download_timeout` parameter should do this but it doesn't in my case.
syslog
```
Wed Jun 3 03:02:19 2026 user.notice adblock-fast: [INIT] Force-reloading adblock-fast 1.2.2-r18...
Wed Jun 3 03:02:26 2026 user.notice adblock-fast: [ DL ] Blocked List: Hagezi - Pro (domains) [_]
Wed Jun 3 03:02:30 2026 user.notice adblock-fast: [ DL ] Blocked List: AdguardTeam - CNAME Trackers (domains) [_]
Wed Jun 3 03:19:14 2026 user.notice adblock-fast: [ DL ] Blocked List: OISD - Big (adblockplus) [_]
Wed Jun 3 03:19:16 2026 user.notice adblock-fast: [PROC] Sorting combined block-list [_]
Wed Jun 3 03:19:25 2026 user.notice adblock-fast: [PROC] Optimizing combined block-list [_]
Wed Jun 3 03:19:25 2026 user.notice adblock-fast: [PROC] Removing allowed domains from combined block-list [_]
Wed Jun 3 03:19:26 2026 user.notice adblock-fast: [PROC] Formatting combined block-list file [_]
Wed Jun 3 03:19:26 2026 user.notice adblock-fast: [PROC] Explicitly allowing domains in dnsmasq.servers [_]
Wed Jun 3 03:19:26 2026 user.notice adblock-fast: [PROC] Setting up dnsmasq.servers file [_]
Wed Jun 3 03:19:26 2026 user.notice adblock-fast: [PROC] Removing temporary files [_]
Wed Jun 3 03:19:26 2026 user.notice adblock-fast: [DNSM] Updating dnsmasq configuration [_]
Wed Jun 3 03:19:26 2026 user.notice adblock-fast: [DNSM] Testing dnsmasq.servers configuration [_]
Wed Jun 3 03:19:26 2026 user.notice adblock-fast: [DNSM] Sanity check for dnsmasq.servers TLDs [_]
Wed Jun 3 03:19:26 2026 user.notice adblock-fast: [DNSM] Sanity check for dnsmasq.servers leading dots [_]
Wed Jun 3 03:19:26 2026 daemon.info dnsmasq[1]: exiting on receipt of SIGTERM
Wed Jun 3 03:19:29 2026 user.notice adblock-fast: [DNSM] Restarting dnsmasq [_]
Wed Jun 3 03:19:29 2026 daemon.info dnsmasq[1]: started, version 2.91 cachesize 1000
```
Config
```
# head -n 35 /etc/config/adblock-fast
config adblock-fast 'config'
option enabled '1'
list allowed_domain 'cdn.jsdelivr.net'
option allow_non_ascii '0'
option canary_domains_icloud '0'
option canary_domains_mozilla '0'
option compressed_cache '0'
option compressed_cache_dir '/etc'
option config_update_enabled '0'
option config_update_url 'https://cdn.jsdelivr.net/gh/openwrt/packages/net/adblock-fast/files/adblock-fast.config.update'
option curl_max_file_size '30000000'
option curl_retry '3'
option debug_init_script '0'
option debug_performance '0'
option dns 'dnsmasq.servers'
list dnsmasq_instance '*'
option download_timeout '10'
option force_dns '1'
list force_dns_port '53'
list force_dns_port '853'
option parallel_downloads '1'
option pause_timeout '60'
option procd_trigger_wan6 '0'
option procd_boot_wan_timeout '60'
option verbosity '2'
option heartbeat_domain 'ya.ru'
option heartbeat_sleep_timeout '10'
option update_config_sizes '1'
option dnsmasq_sanity_check '1'
option rpcd_token 'Wl1fGpgtz....SPxyN'
option auto_update_enabled '0'
config file_url
option name 'Hagezi - Pro'
```
Service
```
# service adblock-fast info
{
"adblock-fast": {
"data": {
"dns": "dnsmasq.servers",
"entries": 258663,
"errors": [
],
"file_url": [
{
"name": "Hagezi - Pro",
"url": "https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/wildcard/pro-onlydomains.txt",
"size": "4021420"
},
{
"name": "AdguardTeam - CNAME Trackers",
"url": "https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_trackers_justdomains.txt",
"size": "2646067"
},
{
"name": "OISD - Big",
"url": "https://big.oisd.nl/",
"size": "16367"
},
{
"name": "StevenBlack - Unified hosts",
"url": "https://cdn.jsdelivr.net/gh/StevenBlack/hosts/hosts",
"size": "4790642"
},
{
"name": "1Hosts - Lite",
"url": "https://o0.pages.dev/Lite/domains.txt",
"size": "2786010"
},
{
"name": "Bongochong - Combined Privacy Block Lists (TLD Optimized)",
"url": "https://cdn.jsdelivr.net/gh/bongochong/CombinedPrivacyBlockLists/NoFormatting/cpbl-ctld.txt",
"size": "2608152"
},
{
"name": "CERT Polska - Dangerous Websites",
"url": "https://hole.cert.pl/domains/v2/domains.txt",
"size": "731479"
},
{
"name": "Kboghdady - YouTube Ads DNS",
"url": "https://cdn.jsdelivr.net/gh/kboghdady/youTube_ads_4_pi-hole/black.list",
"size": "553006"
},
{
"name": "AdguardTeam - CNAME Clickthroughs",
"url": "https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_clickthroughs_justdomains.txt",
"size": "362170"
},
{
"name": "SomeoneWhoCares - Hosts",
"url": "https://someonewhocares.org/hosts/hosts",
"size": "347410"
},
{
"name": "WinHelp2002 MVPS - Hosts",
"url": "https://winhelp2002.mvps.org/hosts.txt",
"size": "334861"
},
{
"name": "AdAway - Hosts",
"url": "https://adaway.org/hosts.txt",
"size": "243454"
},
{
"name": "AdguardTeam - CNAME Ads",
"url": "https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_ads_justdomains.txt",
"size": "222595"
},
{
"name": "AdguardTeam - CNAME Microsites",
"url": "https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_microsites_justdomains.txt",
"size": "123275"
},
{
"name": "Yoyo.org - Hosts",
"url": "https://pgl.yoyo.org/as/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext",
"size": "99588"
},
{
"name": "Hoshsadiq - NoCoin Adblock List",
"url": "https://cdn.jsdelivr.net/gh/hoshsadiq/adblock-nocoin-list/hosts.txt",
"size": "11149"
}
],
"firewall": [
{
"type": "redirect",
"target": "DNAT",
"src": "lan",
"proto": "tcp udp",
"src_dport": "53",
"dest_port": "53",
"family": "any",
"reflection": false
},
{
"type": "rule",
"src": "lan",
"dest": "*",
"proto": "tcp udp",
"dest_port": "853",
"target": "REJECT"
}
],
"force_dns_active": true,
"force_dns_ports": [
"53 853"
],
"message": "",
"outputCache": "/var/run/adblock-fast/dnsmasq.servers.cache",
"outputFile": "/var/run/adblock-fast/dnsmasq.servers",
"outputGzip": "/etc//etc/adblock-fast.dnsmasq.servers.gz",
"packageCompat": 14,
"platform": {
"ipset_installed": false,
"nft_installed": true,
"dnsmasq_installed": true,
"dnsmasq_ipset_support": false,
"dnsmasq_nftset_support": true,
"smartdns_installed": false,
"smartdns_ipset_support": false,
"smartdns_nftset_support": false,
"unbound_installed": false,
"leds": [
"mt76-phy0",
"mt76-phy1",
"red:power",
"white:status"
]
},
"stats": "adblock-fast 1.2.2-r18 is blocking 258663 domains (with dnsmasq.servers)",
"status": "statusSuccess",
"version": "1.2.2-r18",
"warnings": [
]
},
"triggers": [
[
"interface.*",
[
"if",
[
"eq",
"interface",
"wan"
],
[
"run_script",
"/etc/init.d/adblock-fast",
"start",
"on_wan"
]
],
1000
],
[
"config.change",
[
"if",
[
"eq",
"package",
"adblock-fast"
],
[
"run_script",
"/etc/init.d/adblock-fast",
"reload"
]
],
1000
]
],
"validate": [
{
"package": "adblock-fast",
"type": "file_url",
"rules": {
"action": "or(allow, block)",
"enabled": "bool",
"name": "string",
"size": "or(uinteger, )",
"url": "string"
}
},
{
"package": "adblock-fast",
"type": "adblock-fast",
"rules": {
"allow_non_ascii": "bool",
"allowed_domain": "list(string)",
"blocked_domain": "list(string)",
"canary_domains_icloud": "bool",
"canary_domains_mozilla": "bool",
"compressed_cache": "bool",
"compressed_cache_dir": "directory",
"config_update_enabled": "bool",
"config_update_url": "string",
"curl_additional_param": "or(, string)",
"curl_max_file_size": "or(, uinteger)",
"curl_retry": "range(0,30)",
"debug_init_script": "bool",
"debug_performance": "bool",
"dns": "or(dnsmasq.addnhosts, dnsmasq.conf, dnsmasq.ipset, dnsmasq.nftset, dnsmasq.servers, smartdns.domainset, smartdns.ipset, smartdns.nftset, unbound.adb_list)",
"dnsmasq_config_file_url": "string",
"dnsmasq_instance": "list(or(*, -, uinteger, uci(dhcp, @dnsmasq)))",
"dnsmasq_sanity_check": "bool",
"dnsmasq_validity_check": "bool",
"download_timeout": "range(1,60)",
"enabled": "bool",
"force_dns": "bool",
"force_dns_interface": "list(network)",
"force_dns_port": "list(integer)",
"heartbeat_domain": "or(-, string)",
"heartbeat_sleep_timeout": "range(1,60)",
"ipv6_enabled": "bool",
"led": "or(, none, file, device, string)",
"parallel_downloads": "bool",
"pause_timeout": "range(1,600)",
"procd_boot_wan_timeout": "integer",
"procd_trigger_wan6": "bool",
"rpcd_token": "string",
"smartdns_instance": "list(or(*, -, uinteger, uci(smartdns, @smartdns)))",
"update_config_sizes": "bool",
"verbosity": "range(0,2)"
}
}
]
}
}
```
### Confirmation Checklist
- [x] The package is maintained in this repository.
- [x] I understand that issues related to [the base OpenWrt repository](https://github.com/openwrt/openwrt/issues) or [LuCI repository](https://github.com/openwrt/luci/issues) will be closed.
- [x] I am reporting an issue for OpenWrt, not an unsupported fork.
10 条评论