埃及全端開發者 ZedAxis 利用售價約 5 美元(約港幣 HK$39) ESP32-C3 SuperMini 開發板,製作硬件 DNS 過濾器,可攔截超過 53.7 萬個廣告域名。裝置韌體僅佔用約 50KB 記憶體,回應延遲約 10 毫秒。這款裝置設計小巧,幾乎可藏於路由器背後運作。

哈希壓縮突破硬件限制
ESP32-C3 SuperMini 僅有 400KB 記憶體及 4MB 快閃記憶體,規格上無法儲存任何具實用價值的明文黑名單域名清單。 ZedAxis 的解決方案是先下載公開廣告攔截清單,去除重複項目及註釋後,利用 40 位 FNV-1a 演算法將每個域名哈希化為數值,排序後寫入快閃記憶體。開發者選用 40 位哈希是權衡後的結果,32 位碰撞率太高,64 位則浪費儲存空間。
當 DNS 查詢傳送至裝置,系統會以相同方式對請求域名進行哈希,再對排好序的哈希表執行二分搜尋。若命中則即時攔截請求,未命中則轉發至上游 DNS 解析器。

放棄 OTA 更新換取雙倍容量
ESP32 通常保留兩份完整韌體作 OTA 無線更新,以防刷寫失敗導致裝置變磚。 ZedAxis 發現若放棄 OTA 功能,便可騰出第二份韌體分區存放黑名單資料庫,容量更可由約 25 萬個域名直接增倍至約 53.7 萬個。
供電方式亦相當簡單, ZedAxis 直接從 ISP 提供的華為 OptiXstar 光貓背面 USB 接口取電,USB 連接不傳送任何資料,純粹由路由器提供 5V 供電。所有網絡通訊均經由 ESP32 內置 Wi-Fi 模組完成。

定位為 Pi-hole 後備方案
有媒體評測指出,這款裝置售價相宜,但較適合充當 Pi-hole 等主流廣告攔截系統的後備方案,因為單靠 DNS 攔截本身仍存在漏網、誤封及用戶端分流等問題。項目源碼目前已經開源公開。
資料來源:OpenSourceForu
