M-Abozaid/esp32-c3-adblock
Pi-hole-class DNS ad-blocker on a $2 ESP32-C3 (no PSRAM): 537k domains as 40-bit FNV-1a hashes in flash, binary-searched. UDP DNS sinkhole + web dashboard. https://youtube.com/shorts/RaxszOUMi8E?feature=share
C++★ 1,464+196 that day#8 on trendingB 76.1 health0% duplicated
B76.1/100
Duplication86
0% in bash, cpp, perl, python, c-headerDead code76
0%Complexity68
36.8%Most complex files
- src/main.cpp267 cx
- src/page.h38 cx
- tools/build_blocklist.py35 cx
- .git/hooks/fsmonitor-watchman.sample19 cx
- .git/hooks/pre-rebase.sample14 cx
- .git/hooks/sendemail-validate.sample14 cx
- .git/hooks/update.sample13 cx
- .git/hooks/push-to-checkout.sample6 cx
- .git/hooks/pre-commit.sample5 cx
- .git/hooks/pre-push.sample5 cx
Dead code 0% unused · 0 findings
No dead code found — everything here is reachable.
24files
2,297lines
19,063tokens
0clones
0duplicated lines (0%)
0duplicated tokens (0%)
By format
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| bash | 11 | 731 | 0 | 0 | 0% |
| cpp | 1 | 624 | 0 | 0 | 0% |
| markdown | 2 | 364 | 0 | 0 | 0% |
| perl | 1 | 168 | 0 | 0 | 0% |
| python | 1 | 118 | 0 | 0 | 0% |
| c-header | 1 | 90 | 0 | 0 | 0% |
| yaml | 2 | 85 | 0 | 0 | 0% |
| markup | 1 | 69 | 0 | 0 | 0% |
| ini | 1 | 18 | 0 | 0 | 0% |
| json | 1 | 17 | 0 | 0 | 0% |
No duplicated blocks found — nothing to show here.
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | Duplication | Health | Commit |
|---|---|---|---|---|---|---|---|---|
| Oct 6, 2026 | #8 | 1,464 (+196) | 24 | 2,297 | 0 | 0% | B 76.1 | 1947383 |
Want this for your own project? Install jscpd and run jscpd .