Totally geek

02
07.2008
Usb Missile Drivers per Linux

Image Hosted by ImageShack.us
Ne ho viste di cavolate da collegare alla presa usb, ma questa davvero le batte tutte.
La M&S, qualche anno fa, lancia per Natale un gadget a dir poco curioso, che magari molti di voi già conosceranno:
[youtube EmZ-QKglyrc]
La cosa impressionante è la moltitudine di driver linux (kernel o userspace) creati ad-hoc per questo "giocattolo".. ideale, sicuramente, per trascorrere qualche ora in allegria, col nostro collega di lavoro, nei pomeriggi afosi di Luglio:

  • Missile launcher google-code
  • Ian Jeffray (programmato in python tramite reverse-engeneering sui driver per windows)
  • Luke Cole USB Missile Launcher Linux Driver
  • L'unico requisito è l'installazione delle librerie di sviluppo per l'USB:

    sudo apt-get install libusb-dev

    Prendiamone uno a caso, e installiamolo:

  • Download USBMissileLauncher-1.0.tgz
  • tar xvfz USBMissileLauncher-1.0.tgz
    cd ~/cd USBMissileLauncher-1.0

    Rimuoviamo provvisoriamente i driver usb 2.0 e 1.0:

    sudo rmmod {e,o,u}hci-hcd hid

    Per pilotare i missili dalla linea di comando:

    ./USBMissileLauncherUtils -L
    ./USBMissileLauncherUtils -R
    ./USBMissileLauncherUtils -U -S 100
    ./USBMissileLauncherUtils -R -U -F

    Naturalmente le opzioni -L e -R muovono la piattaforma rispettivamente a sinistra e a destra, mentre -U e -S fanno alzare la gittata e stoppano il motore per 100ms. L'ultimo comando li muove (se ne abbiamo piu' di uno) simultaneamente verso destra fino a fare fuoco con -F.

    È possibile anche comandarli via keyboard tramite il device:

    sudo ./USBMissileLauncherUtils -c /dev/input/event0

    .. o quello corrispondente alla nostra tastiera.

    Di seguito la lista delle key-bindings:

    * Up Arrow - Muove su
    * Down Arrow - muove giu
    * Left Arrow - Ruota a sinistra
    * Right Arrow - Ruota a destra
    * F Key - Fuoco!
    * S Key - Stop

    I vari modelli, nel corso degli anni, si sono evoluti (da qualche parte ho visto persino una catapulta!) e qualcuno di questi programmatori "pazzoidi" (nel senso buono s'intende) ha gia' pensato ad altri dispositivi di controllo remoto come webcam o telefonini cellulari.

    Interfacce

    Oltre a quella in gtk, ne ho trovate altre due:

  • Qt4
  • Kommander
  • Per acquistare questa troiata:

  • Link
  • ;)

    17
    06.2008
    Goosh - Google in a nutshell

    Image Hosted by ImageShack.us
    Con Goosh, “the unofficial google shell”, raggiungiamo davvero il massimo del Geek.
    Immaginiamo un luogo virtuale, completamente libero da qualsiasi spazio pubblicitario, embedded nel nostro browser preferito: proprio come nel Far West..saremo solamente noi e un bel terminale old-school.

    Goosh goosh.org 0.4.4-beta #1 Tue, 03 Jun 08 22:59:00 UTC Google/Ajax

    Image Hosted by ImageShack.us
    Avrete più o meno capito quindi. Goosh è un applicazione web-oriented che accetta diversi comandi unix-like e ottiene i risultati delle ricerche in forma puramente testuale.
    Ma questo programma (ideato da Stefan Grothkopp ) è in grado anche di cercare blog, news, feeds, video, voci di wikipedia e mappe..semplicemente inserendo le parole chiave:Digitiamo:place

    Keyword:

    place south park, san francisco

    Image Hosted by ImageShack.us
    Proviamo per esempio a digitare:addengine
    Image Hosted by ImageShack.us
    Con questo comando installeremo l'engine di ricerca goosh per il nostro Iceweasel o Mozilla Firefox.
    :)
    Image Hosted by ImageShack.us
    Per una lista completa delle funzioni ci basterà scrivere:help..e dare invio. I nomi "verdi" servono a preselezionare la nostra ricerca. Traduzioni veloci?..No problem:
    guest@goosh.org:/translate> semaforo
    translating "semaforo" from "italian" to "english":

    "traffic light"

    guest@goosh.org:/translate>

    C'è proprio tutto: ls, pwd, cd, addirittura history e l 'autocompletamento col TAB. Non si trovano molte informazioni in rete e l'unico sito di riferimento è Goosh stesso, ma ne sentiremo ben presto parlare. Il programma non è comunque in alcun modo legato a Google (come il suo autore ci tiene a precisare).

    14
    06.2008
    Mi scrocchi la connessione? e io ti punisco - parte seconda

    Image Hosted by ImageShack.us

    Eccoci qua di nuovo e, come promesso, vi scrivo la seconda parte della guida anti-scrocconi . Ci tengo ancora una volta a precisare che tutto questo è stato possibile grazie ad un vecchio articolo (trovato in rete) e riadattato da Francesco Brisa, lo stesso autore dello script per installare Flightgear da cvs (per Ubuntu Hardy).

    Cosa dobbiamo fare in questa seconda parte:

  • Installazione e configurazione del servizio dhcp (fondamentale ma non indispensabile, perche' ad una rete aperta ci si puo' connettere anche con ip statici)
  • Regole di iptables e forwarding
  • Impostazione transparent-proxy
  • Dhcp

  • Pacchetti da installare:
  • sudo apt-get install dhcp3-server

  • Aggiungere a /etc/dhcp3/dhcpd.conf:
  • subnet 192.168.0.0 netmask 255.255.255.0 {
     range 192.168.0.190 192.168.0.199;
     option broadcast-address 192.168.0.255;
     option routers 192.168.0.30;
    }

    Dove:

  • 192.168.0.30: è il server con squid
  • 192.168.0.0: è la sottorete
  • 192.168.0.190 - 192.168.0.199: è il range di ip da assegnare alla vittima :-)
  • 192.168.0.255: è l'indirizzo di broadcast
  • Per condire il tutto:
  • sudo /etc/init.d/dhcp3-server restart

    Iptables rules - Transparent proxy

  • Abilitare il forwarding:
  • iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward

  • Redirigere le richieste della porta 80 in forwarding sulla porta del
    proxy:
  • iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT
    --to-port 3128
  • Modificare la linea di squid:
  • http_port 3128

    con:

    http_port 3128 transparent

    Ora la nostra trappola è pronta per tutti coloro che si volessero connettere da remoto alla nostra rete lasciata "accidentalmente" senza password di protezione.

    Provare per credere
    :)

    13
    06.2008
    Mi scrocchi la connessione? e io ti punisco - parte prima

    Image Hosted by ImageShack.us

    Che noia impostare chiavi WEP o WPA per proteggere l'accesso alla nostra rete wifi. Se per una volta ci spacciassimo per incompetenti totali, adottando una soluzione "wide-open", potremmo divertirci proprio con coloro che ci ritengono degli allocchi..e allora..iniziamo!

    Tutta l'idea nasce da un articolo molto divertente segnalatomi sulla mailing list del gl-como, dal solito, inimitabile e fonte inesauribile di idee..Francesco Brisa (a.k.a "il bri").
    In queste poche righe di spiegazione viene mostrato come, con dei semplici strumenti quali un proxy (Squid), un server (Apache) una funzione di Imagemagick e un semplice script in Perl..sia possibile far passare tutte le richieste di connessione esterne tramite la nostra rete. Il malaugurato "lamer" si ritroverà cosi' a navigare col proprio browser visualizzando tutte le immagini dei siti web completamente capovolte!

    Ma questa è soltanto una "feature" della nostra trappola per topi..infatti con Mogrify possiamo sbizzarrirci adottando le opzioni più disparate. Ma vedremo meglio nella seconda parte di Howto di che cosa si tratta.
    Per il momento ci accontenteremo di testare tutto quanto in localhost, forzando Firefox ad ascoltare il traffico sulla porta 3128 (quella di Squid). Andiamo con ordine.

    Installazione

  • Installiamo innanzitutto i programmi che ci servono:
  • sudo apt-get install squid apache2 imagemagick

  • Modifichiamo opportunamente il file di configurazione di Squid (il nostro proxy) per consentire l'accesso a tutti i computer della rete:
  • sudo nano /etc/squid/squid.conf

  • Aggiungiamo alla fine di questo file:
  • # Prova immagini taroccate
    visible_hostname fra-squid
    redirect_program /root/img.pl

  • Ora cerchiamo questa stringa:
  • #http_access deny all

  • .. cambiamola in:
  • http_access allow all

    Script in Perl

  • Download img.pl
  • Copiamo il codice in un file di testo rinominato img.pl e spostiamolo nella directory /root.
  • NB: l'indirizzo ip che troviamo all'interno deve essere l'indirizzo ip del computer sul quale sta girando il web-server Apache (nel mio caso 192.168.0.30)

  • Rendiamo eseguibile lo script:
  • sudo chmod 755 /root/img.pl

  • Creiamo la directory /var/www/images:
  • sudo mkdir /var/www/images

  • Rendiamola scrivibile da Squid:
  • sudo chmod 777 /var/www/images

    Ricapitolando:

    192.168.0.30: è l'ip della scheda di rete del server apache
    /var/www/images/ : è il percorso assoluto del file system dove verranno messe le immagini taroccate
    /images: è il percorso relativo alla pagina di apache da mandare al browser dopo l'ip

    Attivare Apache e Squid

    sudo /etc/init.d/squid start
    sudo /etc/init.d/apache2 start

    NB: controlliamo magari con nmap che la porta 3128 sia in uso:

    sudo nmap -v -sS -P0 localhost

    PORT STATE SERVICE
    80/tcp open http
    631/tcp open ipp
    3128/tcp open squid-http
    3306/tcp open mysql

    Impostare Firefox

    Come detto in precedenza, la guida originale è stata riadattata da Francesco Brisa perchè funzionante con delle regole di iptables del vecchio kernel 2.4. In attesa di trovare delle rules compatibili possiamo solamente divertirci a provare tutto quanto in localhost.

    Apriamo le impostazioni del browser e selezioniamo in modifica->preferenze->avanzate->connessione (come da immagine) l'indirizzo proxy locale e la porta 3128:

    s

    A questo punto abbiamo finito. Facciamo puntare firefox ad un qualsiasi indirizzo che abbia un immagine nella pagina et..voilà..tutto alla rovescia!
    :)

    kkkkl

    Stay tuned..e alla prossima puntata.