<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>SplashPage</title><revhistory><revision><revnumber>17</revnumber><date>2014-05-19 19:28:53</date><authorinitials>BornAgain</authorinitials><revremark>corretta parola che punta a pagina inesistente</revremark></revision><revision><revnumber>16</revnumber><date>2014-05-19 19:21:14</date><authorinitials>BornAgain</authorinitials><revremark>corretta parola che punta a pagina inesistente</revremark></revision><revision><revnumber>15</revnumber><date>2014-05-19 18:50:25</date><authorinitials>BornAgain</authorinitials><revremark>corretta parola che punta a pagina inesistente</revremark></revision><revision><revnumber>14</revnumber><date>2012-09-11 09:21:55</date><authorinitials>Emiliano Macedonio</authorinitials><revremark>Script logging</revremark></revision><revision><revnumber>13</revnumber><date>2011-08-04 22:34:34</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>12</revnumber><date>2011-08-04 21:28:51</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>11</revnumber><date>2011-07-16 14:34:42</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>10</revnumber><date>2011-05-13 17:52:21</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>9</revnumber><date>2011-01-18 17:20:02</date><authorinitials>stefanopilla</authorinitials></revision><revision><revnumber>8</revnumber><date>2011-01-18 15:07:30</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>7</revnumber><date>2011-01-16 15:35:02</date><authorinitials>stefanopilla</authorinitials></revision><revision><revnumber>6</revnumber><date>2011-01-07 21:37:55</date><authorinitials>stefanopilla</authorinitials></revision><revision><revnumber>5</revnumber><date>2011-01-07 21:07:01</date><authorinitials>88-149-180-63.staticnet.ngi.it</authorinitials></revision><revision><revnumber>4</revnumber><date>2011-01-07 13:09:21</date><authorinitials>stefanopilla</authorinitials></revision><revision><revnumber>3</revnumber><date>2011-01-07 12:59:17</date><authorinitials>stefanopilla</authorinitials></revision><revision><revnumber>2</revnumber><date>2011-01-07 12:50:07</date><authorinitials>stefanopilla</authorinitials></revision><revision><revnumber>1</revnumber><date>2011-01-07 01:16:51</date><authorinitials>stefanopilla</authorinitials></revision></revhistory></articleinfo><section><title>Splash Page</title><para>Ultimamente sono nati degli HotSpot che permettono di entrare nella rete Ninux.org semplicemente collegandosi a questi apparati. </para><para>Questa necessità è nata anche dal fatto che alcune zone non sono ancora &quot;linkate&quot;. </para><para>Vediamo quindi come tirare su un HotSpot con pagina di accesso Ninux. </para></section><section><title>Introduzione</title><para>L'idea di base è quella di avere un HotSpot aperto che al primo accesso porti ad una pagina di benvenuto in cui si presenta il progetto Ninux e come contribuire. </para><para>In realtà il messaggio che si vuole far passare è che non si è lasciata la Wireless aperta perchè ci si è dimenticati di mettere la password ma che tutto ciò è voluto e che fa parte del progetto Ninux.org </para></section><section><title>Di cosa abbiamo bisogno</title><para>Un AccessPoint con Openwrt (Backfire 10.03.1 RC4) </para><para><ulink url="http://wiki.ninux.org/SplashPage/NodogSplash#">NodogSplash</ulink> </para><para>Iptables </para></section><section><title>Installazione</title><para>Questa guida presuppone abbiate già configurato il vostro access point per la navigazione in internet. </para><para>Consideriamo un access point che raggiunge la rete Ninux sulla sua interfaccia &quot;br-lan&quot; con indirizzo 192.168.100.1/24 </para><para>Nei vecchi package di <ulink url="http://wiki.ninux.org/SplashPage/NoDogSplash#">NoDogSplash</ulink> di OpenWRT ci stava qualche bug, quindi siate sicuri che il vostro opkg scarica il pacchetto più recente che è questo: </para><screen><![CDATA[nodogsplash_0.9_beta9.9.6-1_brcm-2.4.ipk]]></screen><para>Lo potete scaricare per il vostro target da qui: <ulink url="http://downloads.openwrt.org/backfire/10.03.1-rc4/brcm-2.4/packages/"/> </para><para>a questo punto basta sostituire il contenuto in /etc/nodogsplash/htdocs  </para><para>con il contenuto del pacchetto scaricabile da <ulink url="http://svn.ninux.org/svn/ninuxdeveloping/splashpage/htdocs.tar.gz">qui</ulink>  </para><para>Una configurazione fondamentale è quella di cambiare nel file /etc/nodogsplash/nodogsplash.conf il paramentro GatewayInterfaces mettendo l'interfaccia dove si collegheranno gli utenti e visualizzeranno la splash page. Quindi: </para><screen><![CDATA[GatewayInterface ath0]]></screen><para>Per rendere l'avvio persistente dopo il reboot usare lo script di init.d: </para><screen><![CDATA[/etc/init.d/nodogsplash enable]]></screen><para>In entrambi i casi, che si segua la procedura standard o l'alternativa, è possibile avviare <ulink url="http://wiki.ninux.org/SplashPage/NodogSplah#">NodogSplash</ulink> con </para><screen><![CDATA[/etc/init.d/nodogsplash start]]></screen><para>Per fermarlo </para><screen><![CDATA[/etc/init.d/nodogsplash stop]]></screen><screen/></section><section><title>Download/Upload Limits e Security</title><para>E' possibile modificare alcuni parametri del file /etc/nodogsplash/nodogsplash.conf per limitare la banda da dedicare agli utenti che si collegano all'hotspot. </para><para>Per utilizzare questa feature modificare i valori </para><screen><![CDATA[TrafficControl yes]]></screen><screen><![CDATA[DownloadLimit 384]]></screen><screen><![CDATA[UploadLimit  64]]></screen><para>Utilizzando backfire 10.03.1rc5 è necessario decommentare le ultime 3 righe del file /etc/init.d/nodogsplash per abilitare il controllo della banda. </para><screen><![CDATA[# if not using traffic control,
# you can comment out the following 3 lines:
do_module_tests "imq" "numdevs=2"
do_module_tests "ipt_IMQ"
do_module_tests "sch_htb"]]></screen><para>E' necessario inoltre installare i seguenti pachetti </para><screen><![CDATA[opkg install iptables-mod-imq
opkg install kmod-ipt-imq
opkg install kmod-sched]]></screen><para>Se non si vuole che gli utenti collegati all'<ulink url="http://wiki.ninux.org/SplashPage/HotSpot#">HotSpot</ulink> possano &quot;vedere&quot; la propria subnet è sufficiente decommentare e inserire la propria rete sulla riga </para><screen><![CDATA[FirewallRule block to 192.168.1.0/24]]></screen></section><section><title>Accedere a Ninuxoo</title><para>Aprire /etc/config/dhcp e settare </para><screen><![CDATA[  rebind_protection '0' ]]></screen></section><section><title>Conclusione</title><para>Si è quindi ottenuta una pagina che viene visualizzata non appena un client prova a collegarsi ad internet attraverso l'<ulink url="http://wiki.ninux.org/SplashPage/HotSpot#">HotSpot</ulink>. Per navigare è necessario cliccare sul segno di spunta in basso alla pagina. </para></section><section><title>Piccolo script di logging e LED</title><section><title>BOZZA</title><para>Con questo script è possibile loggare gli accessi al nostro hotspot e avere qualche info in più. Creiamo un file in /root/blinkled.sh </para><screen><![CDATA[NOW=$(date +"%Y/%m/%d %H:%M.%S")
LOGFILE=/root/logs/$(date +"%Y%m%d").log
NDS=`/usr/bin/ndsctl status | grep "Current" | awk '{print $3}'`
DWN=`/usr/bin/ndsctl status | grep "Total download" | awk '{print $3}'`
UPL=`/usr/bin/ndsctl status | grep "Total upload" | awk '{print $3}'`
]]><![CDATA[
if [ $NDS -eq 0 ]
then
   echo "empty"
   echo 0 > /sys/class/leds/ubnt\:orange\:dome/brightness
   echo 0 > /sys/class/leds/ubnt\:green\:dome/brightness
   echo 1 > /sys/class/leds/ubnt\:green\:dome/brightness
else
   if [ $NDS -eq 1 ]
   then
       echo "single client"
       echo 0 > /sys/class/leds/ubnt\:green\:dome/brightness
       echo 0 > /sys/class/leds/ubnt\:orange\:dome/brightness
       echo 1 > /sys/class/leds/ubnt\:orange\:dome/brightness
   else
       echo "multi"
       echo timer > /sys/class/leds/ubnt\:orange\:dome/trigger
       echo 1000 > /sys/class/leds/ubnt\:orange\:dome/delay_on
       echo 1000 > /sys/class/leds/ubnt\:orange\:dome/delay_off
   fi
   echo $NOW\|$NDS\|$DWN\|$UPL >> $LOGFILE
fi
#echo $NOW\|$NDS >> $LOGFILE
]]><![CDATA[
NDSLINE=`/usr/bin/ndsctl status | wc -l`
if [ $NDSLINE -gt 25 ]
then
        i=1
        MAClist="19 30 41 52 63 74"
        for MACpos in $MAClist
        do
          MAC=`/usr/bin/ndsctl status | head -n$MACpos | tail -1 | awk {'print $4'}`
          ADD=`/usr/bin/ndsctl status | head -n$(($MACpos + 1)) | tail -1 | sed "s/Added:   //g"`
          DWN=`/usr/bin/ndsctl status | head -n$(($MACpos + 7)) | tail -1 | awk '{print $2}'`
          UPL=`/usr/bin/ndsctl status | head -n$(($MACpos + 8)) | tail -1 | awk '{print $2}'`
          MACLOG=/root/logs/$($MAC | sed "s/://g").log
          echo $NOW\|$ADD\|$DWN\|$UPL >> $MACLOG
        done    
fi]]></screen><para>lo script andrà reso eseguibile e creata la cartella logs </para><screen><![CDATA[chmod +x /root/blinkled.sh
mkdir /root/logs]]></screen><para>è possibile schedulare l'esecuzione dello script ogni 5 minuti con CRON per avere a colpo d'occhio lo stato dei client collegati semplicemente guardando il LED posto sul device. </para></section></section><section><title>TO DO</title><para>Script autoconfigurante per Ninux... </para></section></article>