5 Commits
Author SHA1 Message Date
Rahul f7475709c6 fix(blocklist): include all domains on hosts lines (#23) 2026-10-06 13:33:06 +03:00
ZedandClaude Opus 5.5 9a174c4193 build_blocklist: fix dead Hagezi URL, fail on missing sources, AdGuard rules
Hagezi retired domains/*.txt, so the default build was silently getting a 404
and producing a StevenBlack-only list (~53k instead of ~140k). Switched to
wildcard/light-onlydomains.txt (and ultimate-onlydomains.txt in the docs).
Wildcard lists omit subdomains the firmware's parent-suffix matching already
covers: the default is now ~100k entries / 0.5 MB, and it still blocks 212/212
of a sample taken from the previous 141k list.

A source that can't be read now aborts the build (--allow-missing to
continue) instead of quietly shrinking the list.

Parse AdGuard/Adblock basic rules (#8): ||domain^ blocks, @@||domain^ removes
a domain; regex/wildcard/$modifier/cosmetic rules are skipped and counted
instead of being hashed as junk literals. README documents input formats.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hc862kZw1rjutovbSxxFaY
2026-10-04 11:46:12 +03:00
ZedandClaude Opus 4.8 58181b0a3b Default to a WhatsApp-safe daily-driver blocklist
StevenBlack base + Hagezi Light (~140k domains) instead of the aggressive
StevenBlack-everything + Hagezi Ultimate (~537k) which blocked WhatsApp/social.
Document the aggressive build as an opt-in.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 18:57:18 +03:00
zedandClaude Opus 4.8 e384ae082f Squeeze 537k domains: 5-byte hashes + repartition
40-bit truncated FNV-1a (5 bytes/domain, ~0 collisions to ~500k) plus a custom
partition table (drop OTA, ~2.8MB LittleFS). Combined StevenBlack + Hagezi
Ultimate = 537,013 domains in 2.56MB flash, still ~40KB RAM.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 15:06:43 +03:00
zedandClaude Opus 4.8 71a49aa36b esp32-c3-adblock: DNS sinkhole for the $2 ESP32-C3, no PSRAM
Stores the blocklist as sorted 64-bit FNV-1a hashes in flash (LittleFS) and
binary-searches them — 130k+ domains in ~1MB flash, ~40KB RAM. UDP DNS server
answers 0.0.0.0 for blocked domains and forwards the rest upstream.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 14:57:10 +03:00