A riunione alcuni di noi che avevano hotspot isolati volevano provare a fare un captive portal per permettere alle persone del vicinato di collegarsi, e far loro al contempo capire che la rete era lasciata aperta volutamente e non per incuria tecnica.
Anche se il metodo del captive portal fin ora non ha dato grandi risultati, a suo tempo ci eravamo un po' sbattuti per trovare un sistema "caruccio", architettando una cosa iper complicata con server xmpp e chat javascript connessa (ci piacciono le cose complicate!!). L'accrocco alla fine funzionava e il codice del pacchetto di openwrt è qua: https://svn.ninux.org/ninuxdeveloping/browser/packages/nowolfsplash documentato sul nostro fantastico wiki qua: http://wiki.ninux.org/FirmwareNG#Splash_Page Se vogliamo lo vogliamo snellire levando la chat e mettendo qualche cosa di molto più leggero (posts in una bacheca di ninux?), senza troppe dipendenze da parser xml in lua, etc etc... Perchè ri-scrivere un captive portal da 0? Le alternative sulla piazza erano diverse, tuttavia la filosofia di molti captive portal era quello di scriversi tutto da 0 (server web compreso) e/o di fare cose che non ci interessavano (accounting, radius etc etc). Perche' invece non usare il server web di busybox già presente in openwrt ? Freifunk fa già così, solo che il loro pacchetto era in tedesco (!) e fortemente linkato alla loro community ...insomma da mori'. Gli ho copiato i pezzi di codice pero'! :) Quello che fa il nostro captive portal (nowolfsplash) è quindi questo: - un utente si attacca all'access point e va verso www.google.it - iptables redirige l'ip destinazione verso l'access point, porta 8080 (ad es. 192.168.1.1:8080) - uno script in lua fa un HTTP redirect verso una pagina della porta 80 (ad es. 192.168.1.1/NoWolfSplash) -Li c'e' una pagina luci di splash che se premi "Ok" ti autorizza il mac address alla navigazione per X ore/giorni, levandoti dalla regola di Iptables. -Un comando "at", dopo X tempo, rimuove questa autorizzazione Ciao, Lorenzo
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless