WiFiApple is a lightweight ESP8266-based Wi-Fi toolkit inspired by WiFi Pineapple, designed for captive portal and phishing-based security research.
WiFiApple enables ESP8266 devices to host a captive portal by embedding an external web application using an iframe. This help you to run heavy backend application or multiple phishing captive portals without reprogramming the nodeMCU again & again This approach overcomes hardware limitations while delivering a rich web interface.
Instead of hosting a full web portal on the ESP8266, WiFiApple uses a hybrid model:
- NodeMCU ESP8266 → Hosts minimal captive portal
- External Server → Hosts main web application
- Iframe → Displays portal inside ESP page
Client → ESP8266 AP → Iframe → External Server
- NodeMCU ESP8266 (Access Point)
- DNS Server (Captive Portal)
- Web Server (HTML Wrapper)
- External Portal (
192.168.4.100:8000)
- Creates fake Wi-Fi Access Point
- Captures all DNS requests
- Redirects traffic to captive portal
- Embeds external website via iframe
- Supports responsive web pages
- Minimal resource usage
<iframe id="cover" src="http://192.168.4.100:8000"></iframe>- Full-screen display
- Loads external portal
- Works on all devices
#include <ESP8266WiFi.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <EEPROM.h>- NodeMCU ESP8266
- External server (PC / Raspberry Pi / Cloud)
- Flash firmware using Arduino IDE
- Open Serial Monitor
- Note AP IP address
Run portal on:
192.168.4.100:8000
- Join Wi-Fi:
AccessPoint - Open browser
- Portal loads automatically
- Low memory usage
- Easy maintenance
- Scalable design
- Cheap hardware
- No frequent reflashing
- Captive portal testing
- Wireless security research
- IoT networking demos
- Education & training
- Prototype development
- Monitor external server availability
- Secure portal endpoints
- Avoid unauthorized usage
- Use only in legal environments
This project is intended for educational and security research purposes only. Unauthorized use against networks or users is illegal.
