ESP32-C3 Adblock, 플래시 해시 검색으로 저가 보드에서 DNS 광고 차단
MIT 라이선스 오픈소스 ESP32-C3 Adblock은 약 2달러짜리 보드에서 DNS 광고 차단을 구현한다. 저장소 설명에 따르면 도메인을 40비트 해시로 바꿔 플래시에 저장해, 14만개 이상을 약 0.7MB에 담고 RAM은 약 50KB만 쓴다. Wi-Fi 업데이트를 지원하지만, 4MB 보드에서 펌웨어 무선 업데이트를 유지하면 목록은 약 25만개로 제한된다.
주 검증 대상은 4MB 플래시를 갖춘 ESP32-C3 SuperMini이며, 별도 PSRAM이 필요 없다.
차단 도메인과 그 하위 도메인에는 0.0.0.0을 반환하고, 나머지 질의는 상위 DNS 서버로 전달한다.
펌웨어 무선 업데이트에는 앱 슬롯 2개가 필요해 차단 목록 공간이 약 1.3MB로 줄어든다. 53만7000개 목록은 단일 앱 파티션에서만 들어간다.
상태 변경 API와 네트워크 업데이트에는 별도 비밀번호를 설정해야 한다. 관리 화면은 HTTP를 사용하므로 Basic Auth 자격 증명은 암호화되지 않는다.
정규식·와일드카드·광고 요소 숨김 규칙은 지원하지 않으며, 차단된 상위 도메인 아래의 특정 하위 도메인만 예외로 허용할 수 없다.
문자열을 RAM에 올리는 대신 플래시에서 이진 검색해 PSRAM 필요성을 줄였다. 다만 DNS 방식이라 페이지 내부의 광고 요소를 숨기는 규칙은 처리하지 못한다.
원문
- ESP32-C3 Adblockgithub.com · 원문 2026-10-07