ESP32-C3 Adblock

(github.com)

31 points | by jayhoon 3 hours ago

3 comments

  • 1vuio0pswjnm7 54 minutes ago
    Whitelist/allowlist is easier, e.g., it's smaller

    Depends on the user but not everyone is visiting new websites everyday

    Even for those that are, the number of domain-IP mappings needed will be relatively small

    Definitely under 140,000

    Most DNS data I use is "static", it rarely changes. As such most times I don't have to make DNS queries. I store the domain-IP mappings in proxy memory; this is faster than DNS

    No "blocklist" needed

    • sheept 13 minutes ago
      I would think that a regular user of Hacker News would be visiting new websites every day (though it'd definitely still be below 140k)
  • muti 2 hours ago
    Weird how the readme talks about hash collisions, but not in the way I would expect. Two blocked domains with the same hash isn't a problem, they both need to be blocked.

    Where hash collisions matter is false positives, e.g. if hash(google.com) = hash(adserver.com). There does appear to be a web dashboard and /unblock api so should be straightforward to resolve.

    • zamadatix 57 minutes ago
      Yeah, I think they have it backwards. As you say, regardless of how many entries you have locally, the collision risk comes from false positive hash matches not from worrying if the positive hashes collide.
  • fwip 2 hours ago
    Cool idea, latency might be too high, wish the docs weren't all AI vomit.
    • snailmailman 12 minutes ago
      The biggest benefit of my local dns server is latency. On wired internet, my dns is <1ms from my PC.

      Upstream dns for me is pretty quick. Google and cloudflare dns are ~5ms from me. But WiFi latency alone is ~8ms most of the time in my experience. On my fiber internet, pinging a dns server in some random upstream server miles away is lower latency than WiFi 10 feet away. But the real issue on WiFi is any packet loss at all adding 50-100ms to that at random depending on interference.

      With DNS you are paying this latency cost all the time on nearly every request.

    • thenthenthen 45 minutes ago
      This will be slow for one user, let alone more than one