- Browser upload of blocklist.bin (hot-swap, validated, fail-open during swap) - Firmware OTA via web /update + ArduinoOTA (pio run over WiFi) - Remote blocklist auto-update: configurable URL + interval, HTTPS pull on a schedule, persisted to flash, plus a manual 'Fetch now' button - Repartition to dual-OTA (app0/app1/otadata); blocklist budget ~250k domains Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
503 B
503 B
| 1 | # Dual-OTA layout for 4MB flash: two app slots (firmware OTA) + LittleFS (blocklist). |
|---|---|
| 2 | # Firmware ~1.24MB (TLS+HTTP+OTA), so slots are 1.3125MB (~134KB headroom each). |
| 3 | # That leaves 1.3125MB for the blocklist (~250k domains @ 5 bytes). |
| 4 | # Name, Type, SubType, Offset, Size |
| 5 | nvs, data, nvs, 0x9000, 0x5000 |
| 6 | otadata, data, ota, 0xe000, 0x2000 |
| 7 | app0, app, ota_0, 0x10000, 0x150000 |
| 8 | app1, app, ota_1, 0x160000, 0x150000 |
| 9 | spiffs, data, spiffs, 0x2b0000, 0x150000 |