ESP32-C3 Adblock

(github.com)

55 points | by jayhoon 5 hours ago

11 comments

  • anilakar 4 minutes ago
    There's no point in using PlatformIO for ESP32 MCUs. The native ESP-IDF extension works much better.

    I would only recommend using it instead of the standard Arduino Processing IDE.

  • rekoil 1 minute ago
    "They were too preoccupied with whether they could, they never stopped to think whether they should"

    Jokes aside, very impressive that it works!

  • BLKNSLVR 1 hour ago
    I'm a bit of a paranoid freak that likes lists, so I've got a PiHole that has a total list of 14-16M blocked domains.

    Great idea, and good for casual blocking, but I'm almost moving to an "allow list" mindset. This solution would probably work better for that, I wonder if the good parts of the internet would fit into an 140k list.

  • muti 3 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 2 hours 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.
  • 1vuio0pswjnm7 2 hours 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 2 hours 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)
  • jolux 25 minutes ago
    10ms? Good grief that’s slow.
  • fwip 3 hours ago
    Cool idea, latency might be too high, wish the docs weren't all AI vomit.
    • snailmailman 2 hours 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 2 hours ago
      This will be slow for one user, let alone more than one
  • nicman23 36 minutes ago
    i dont get pihole. just use a proper dns? if you want local, just use unbound?
    • Tajnymag 27 minutes ago
      Pihole and unbound can work together. Pihole isn't a good DNS server, it's a good adblocking DNS server.
  • manlymuppet 38 minutes ago
    Wow, this is an atrocious name for a project haha. Cool though.
  • aiXis 5 minutes ago
    [flagged]