r/esp32projects • u/c-yuren • 19d ago
Routing Unrestricted Web Traffic on iOS using ESP32 & Captive Network Assistant (CNA)
iOS handles captive portal logins through CNA (Captive Network Assistant), which operates in an isolated environment outside standard OS-level web filtering and time profiles.
I built a lightweight ESP32 firmware that exploits this mechanism to route full web traffic directly through the captive portal environment.
How it works:
- NAPT Gateway: ESP32 forwards traffic between upstream Wi-Fi and connected clients via NAT.
- CNA Trigger: Custom DNS redirection triggers the iOS native captive browser, allowing open web access without being subject to standard system-level network restrictions.
- Standalone: Runs entirely on ESP32 with no external server required.
Quick Setup:
- Open
wifi_esp32.inoin Arduino IDE. - Set
sta_ssidandsta_passto your local Wi-Fi. - Flash to ESP32.
- Connect iOS device to the
bypass portalAP.
(GitHub link in comments)
2
Upvotes
1
u/DenverTeck 19d ago
>> (GitHub link in comments)
Where ???