logoalt Hacker News

ESP32-C3 Adblock

91 points • by jayhoon • today at 1:39 AM • 30 comments • view on HN

Comments

jwillmer • today at 9:12 AM

pinhole is great but if the device fails your network is down. I swapped to nextdns because of that. maybe support of multiple devices would fix it - now that is this cheap it would not matter .

➕ show 1 reply
yoavm • today at 7:32 AM

If you're ever thinking about getting an ESP32-C3, do yourself a favor and get the variant that you can connect an external antenna to. The normal C3 has a built-in antenna that is extremely weak, making it useless for most things I was planning using it for.

timvdalen • today at 7:14 AM

> The trick everyone misses:

Please just write the first sentence of your README yourself

➕ show 1 reply
muti • today at 2:51 AM

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.

➕ show 1 reply
waysa • today at 8:18 AM

I think it could fit even more domains using a Bloom Filter or similar probabilistic data structure. With a chance of false-positives of course. But that's a trade-off the project already makes.

BLKNSLVR • today at 5:37 AM

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.

➕ show 2 replies
1vuio0pswjnm7 • today at 3:57 AM

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

➕ show 1 reply
anilakar • today at 6:37 AM

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.

jolux • today at 6:15 AM

10ms? Good grief that’s slow.

➕ show 1 reply
fwip • today at 2:49 AM

Cool idea, latency might be too high, wish the docs weren't all AI vomit.

➕ show 3 replies
rekoil • today at 6:40 AM

"They were too preoccupied with whether they could, they never stopped to think whether they should"

Jokes aside, very impressive that it works!

nicman23 • today at 6:05 AM

i dont get pihole. just use a proper dns? if you want local, just use unbound?

➕ show 2 replies
manlymuppet • today at 6:02 AM

Wow, this is an atrocious name for a project haha. Cool though.

aiXis • today at 6:35 AM

[flagged]