AP-Generator Γ¨ un software avanzato in C++17 per la creazione, configurazione e gestione automatizzata di Access Point Wi-Fi con condivisione di rete (NAT), servizi DHCP/DNS, gestione preset, Captive Portal personalizzabile e monitoraggio avanzato dei client.
Offre sia una Shell Interattiva (REPL) da terminale con prompt dedicato, banner e Procedura Guidata (Wizard), sia un'interfaccia a riga di comando tradizionale per script e automazioni, con supporto multilingua nativo (Italiano / Inglese).
π Per la documentazione approfondita e la guida a ciascuna azione, consulta il Manuale Utente e Tecnico (docs/DOCUMENTATION.md).
- Shell Interattiva (REPL) & Wizard: Avvio automatico con prompt dedicato (
ap-generator:), gestione comandi dinamica e configurazione guidata (wizard). - Supporto Multi-lingua (i18n): Dizionari completi in Italiano (
it) e Inglese (en), rilevamento automaticoLANGe switch a runtime (language it|en). - Discovery & Capabilities: Rilevamento automatico schede Wi-Fi (
/sys/class/net,iw phy), canali 2.4 GHz / 5 GHz, supporto AP, WPA2, WPA3 (SAE) e AP+STA concurrency. - Motore Access Point: Integrazione e generazione configurazioni dinamiche per
hostapd(Open, WPA2, WPA3, WPA2/WPA3 Mixed, canali e BSSID custom). - Servizi di Rete & RFC 8908: Gestione IP, orchestrazione di
dnsmasqper DHCP autoritativo e server DNS, opzione DHCP 114 (Captive Portal Architecture) per popup istantaneo su smartphone. - Condivisione Internet & NAT: Abilitazione IP forwarding kernel (
sysctl), routing e masqueradeiptables/nftablescon upstream interface dedicata (es.eth0,wlan0). - Captive Portal Nativo: Server HTTP asincrono non-bloccante C++, intercettazione e redirect DNS/Firewall, endpoint di captive detection per dispositivi Android (
/generate_204), Windows (/ncsi.txt) e Apple (/hotspot-detect.html), autorizzazione dinamica client. - 13 Template Portal Inclusi: Template HTML/CSS pronti all'uso (Google, Amazon, Microsoft, TP-Link, Starlink, Facebook, Apple, Starbucks, Twitch, Twitter).
- Preset Manager: Salvataggio, caricamento, esportazione, importazione e validazione di configurazioni in formato JSON.
- Monitoraggio Avanzato & Client: Tracciamento stato AP, uptime, lettura leases DHCP e statistiche stazioni via
iw station dump(MAC, IP, Hostname, Segnale dBm, Byte RX/TX). - Client Kick & MAC Blacklist: Disconnessione forzata stazioni (
kick <mac>) e gestione lista nera MAC address (blacklist <add|del|list>). - Suite di Test (6/6 Passati): Test di integrazione nativi C++ per preset, hostapd, DNS, HTTP captive portal, i18n e blacklist.
AP-Generator
β
ββββββββββββββΌβββββββββββββ
β Interactive REPL Shell β (Wizard, i18n IT/EN)
ββββββββββββββ¬βββββββββββββ
β
βββββββββΌββββββββ
β ApManager β (Core Engine & Validation)
βββββββββ¬ββββββββ
β
βββββββββββββββββββββββ΄ββββββββββββββββββββββ
β β
ββββββββΌβββββββ ββββββββΌβββββββ
β Linux β (Attivo) β Windows β (Pianificato)
β Backend β β Backend β
ββββββββ¬βββββββ ββββββββ¬βββββββ
β
βββββββββΌββββββββββββββββββββ¬ββββββββββββββββββββ
βΌ βΌ βΌ βΌ
nl80211 hostapd dnsmasq iptables /
/ iw (Wi-Fi AP) (DHCP & DNS) nftables (NAT)
- Linux Kernel con supporto a mac80211 / nl80211
- hostapd: Per la gestione della modalitΓ Master/Access Point
- dnsmasq: Per il server DHCP e DNS locale
- iptables / nftables: Per la gestione NAT Masquerade e redirect porta 80
- iproute2 (
ipcommand): Per la configurazione di link e indirizzi IP - iw: Per l'ispezione avanzata delle frequenze, canali e stazioni connesse
- Compilatore C++17 (GCC 9+ o Clang 10+)
- Make o CMake 3.16+
-
Compilazione rapida con Makefile:
make
-
Esecuzione della suite di test (6 test di integrazione):
make test # oppure ./run_tests
Avviando sudo ./ap-generator senza argomenti, si entra nella Shell Interattiva:
ap-generator:
Dalla shell Γ¨ possibile digitare i comandi in modo continuo:
ap-generator: wizard # Avvia la procedura guidata interattiva
ap-generator: interfaces # Mostra le schede Wi-Fi
ap-generator: capabilities wlan0 # Mostra dettagli e canali della scheda
ap-generator: preset list # Elenca i preset salvati
ap-generator: start LabHotspot # Avvia l'Access Point
ap-generator: status # Mostra stato, uptime e client attivi
ap-generator: clients # Mostra tabella client con segnale dBm e traffico
ap-generator: kick aa:bb:cc:dd:ee # Disconnette un client
ap-generator: blacklist add <mac> # Aggiunge un MAC alla lista nera
ap-generator: portal list # Elenca i template captive portal
ap-generator: portal test Google_Modern # Anteprima web template
ap-generator: language en # Cambia lingua in Inglese (o 'language it')
ap-generator: stop # Arresta l'Access Point
ap-generator: exit # Esci dall'applicazionePer script, automazioni o esecuzione diretta:
# Mostra le interfacce Wi-Fi
./ap-generator interfaces
# Procedura guidata o avvio rapido da preset
sudo ./ap-generator start LabHotspot
# Controllo client e stato
./ap-generator status
./ap-generator clients
# Disconnessione forzata client
sudo ./ap-generator kick 00:11:22:33:44:55
# Gestione lingua da CLI
./ap-generator --lang en helpIl comando wizard guida passo-passo nella configurazione:
- Selezione numerica dell'interfaccia Wi-Fi.
- Nome della rete Wi-Fi (SSID).
- Selezione canale radio (2.4 GHz / 5 GHz).
- ModalitΓ di sicurezza: Open, WPA2-Personal, WPA3-Personal.
- Condivisione Internet (NAT) e interfaccia upstream.
- Abilitazione Captive Portal e selezione template grafico.
- Salvataggio opzionale come Preset riutilizzabile.
- Avvio immediato dell'Access Point.
AP-Generator include 13 template pronti:
Google_Modern,Better_Google_MobileAmazon,Apple,Microsoft,Facebook,Twitter,TwitchStarlink,Starbucks(before/after)TP-LINK-Var1,TP-LINK-Var2-OLD
Anteprima locale:
./ap-generator portal test Starlink --port 8080[==================================> ] 85% Completato
- Motore Core C++17 modulare e sistema di Logging
- Shell Interattiva (REPL) con prompt dedicato e comandi integrati
- Procedura guidata interattiva passo-passo (
wizard) - Supporto Multi-lingua completo (Italiano / Inglese)
- Ispezione e discovery interfacce Wi-Fi (canali, bande, WPA3, concurrency)
- Generazione dinamica
hostapd.conf(Open, WPA2, WPA3 SAE, Mixed) - Orchestrazione DHCP/DNS (
dnsmasq) con RFC 8908 DHCP option 114 - Routing NAT Masquerade (
iptables/nftables) - Captive Portal HTTP nativo non-bloccante con 13 template inclusi
- Monitoraggio stazioni (
iw station dumpper segnale RSSI e traffico RX/TX) - Client kick (
hostapd_cli deauthenticate) e MAC Blacklist - Preset Manager JSON (salva, carica, elimina, valida, esporta)
- Suite di test di integrazione automatizzata (6 test)
- ModalitΓ Demone Watchdog / Process Supervisor (auto-ripristino in caso di crash)
- Creazione Unit File Systemd (
systemctl start ap-generator@preset) - Interfaccia Grafica Utente (GUI con Qt o Web Dashboard locale)
- Implementazione Backend Windows (
WindowsWifiBackendcon Native Wifi API)
Questo progetto Γ¨ distribuito sotto licenza MIT. Consulta il file LICENSE per ulteriori dettagli.