Nhóm phát triển Zed (M‑Abozaid) đã công bố dự án esp32-c3-adblock , một bộ chặn quảng cáo DNS kiểu Pi‑hole chạy trên bo mạch ESP32‑C3 có giá khoảng 2 USD và không yêu cầu PSRAM. Giải pháp này thu thập và lọc các yêu cầu DNS trong mạng gia đình hoặc văn phòng nhỏ, giúp ngăn chặn quảng cáo và các miền theo dõi.
Điểm chính
- Danh sách chặn được lưu dưới dạng hash FNV‑1a 40‑bit đã sắp xếp trong bộ nhớ flash; nhờ đó có thể chứa hơn 140.000 miền trong ~0.7 MB flash và mở rộng tới hơn 500.000 miền khi tối ưu.
- Firmware viết bằng C++ thực hiện các bước: nhận UDP DNS query, trích xuất domain, tính hash (cả suffix), sau đó dùng binary search trên bảng hash flash để quyết định chặn hay chuyển tiếp.
- Khi miền nằm trong blocklist, ESP32‑C3 trả về địa chỉ 0.0.0.0; nếu không, truy vấn được chuyển tới DNS upstream và phản hồi lại client.
- Giải pháp chỉ tiêu thụ khoảng 50 KB RAM, phù hợp với MCU ESP32‑C3 không có PSRAM.
💡 Góc nhìn kỹ thuật Hagapa
Kiến trúc hash‑trong‑flash của esp32-c3-adblock cho phép triển khai chặn DNS trên các thiết bị IoT chi phí thấp, phù hợp với các trạm cảm biến hoặc thiết bị PCCC cần bảo vệ khỏi truy cập tới miền không mong muốn. Trước khi áp dụng trong môi trường công nghiệp, cần kiểm tra độ ổn định của flash khi ghi liên tục và xác nhận khả năng mở rộng blocklist theo yêu cầu thực tế.