Archive for August, 2011

September Ninux!!………Si Riparte!!!!

Wednesday, August 31st, 2011

Dopo due settimane di meriritato riposo siamo nuovamente rientrati tutti a regime e dopo la favolosa notizia rilasciata da Saverio nel precedente post  questa mattina, come a voler mettere la ciliegina sulla torta, un  altro nodo della GrandeReteNiunx è up e Running Grazie ad Emiliano!!

Per chi non lo conoscesse ancora Emiliano, aka Emix, fu uno dei primi ad abbracciare il progetto ed a smanettare insieme agli “anziani” di Ninux.Org.

Insieme a lui abbiamo condiviso successi ed insuccessi nel passato ma oggi finalmente ci siamo riuniti per mettere la firma sulla realizzazione di questa grande impresa!

Nei giorni precedenti Emix aveva preparato tutto l’occorente hardware per consolidare il nodo con l’aiuto di un  amico da me soprannominato “Braccione”, di seguito alcune foto per rendere l’idea:

Preparazione scatola stagna:

Iron Emix:

Questa mattina Fish ed Arkanet hanno ragguinto la location per aiutare il completamento del tutto e puntare l’apparato che gode di una meravigliosa vista su Roma.

Un altro nodo è UP , un altro caro amico ritrovato, un altro piccolo tassello di questo grande puzzle è al suo posto, perchè Community non è solo network ma anche amicizia, rispetto e reciproco aiuto!

Un ringraziamento particolare anche a tutti coloro che ci seguono su ogni installazione da dietro le quinte e che contribuiscono a far si che tutto questo sia realizzabile nel migliore dei modi!

Supernode Approved!

Alla prossima

Fish

Unofficial Ubiquiti AirOS SDK 5.3.3

Wednesday, August 31st, 2011

Hello,

This post is for all the people waiting for ubiquiti to release the SDK 5.3.3 for the AirOS Firmware.

At Ninux.org we run a 100+ ubiquiti powered wireless network, which has proved to be very stable and performing. In our network we use OLSRD and IPv6, so we normally flash our devices with a version of the Ubiquiti firmware derived from the SDK.

The last 5.3 SDK of the Ubiquiti firmware was buggy, as we all know. Ubiquiti promptly released a 5.3.3 firmware to correct the bug but, despite our continuos efforts and their very same declaration of availability on demand, they ignored our requests to obtain the 5.3.3 SDK. For it I resolved to create by myself an unofficial but working 5.3.3 SDK, which is presented in this article.

Of course my hope and interests are that ubiquiti will soon come back to the godwill policy of public avalilability of their official SDK. Up to that (very welcomed) moment, the Open Source community will make its best efforts to grant the widest performance of Ubiquiti’s excellent products.

The SDK for 5.3.3 can be downloaded here: http://goo.gl/An4fk

Now I will describe how I created this unofficial SDK. Of course I assume the reader is a little familiar with the SDK and the OpenWRT toolchain.

I started from the following 3 files:

  • GPL.UBNT.v5.3.3.tar.bz2
  • XM-v5.3.3.build9634.bin (b72c73be64f32d6da57db9e061c3fff1)
  • SDK.UBNT.v5.3.tar.bz2 (not available anymore on ubnt.com, find it here)

At the byte 943973 of the file XM-v5.3.3.build9634.bin you fill find the header of the SquashFS root partition of the firmware. So I used the hex editor bless to cut the binary image and start from the squashfs header.

At this point using the command line tool “unsquashfs” I was able to have a folder with the files.

After this step the rest of the work was very easy,
I unpacked the 5.3SDK, and I ported the ubnt-base-files and ubnt-web packages to the GPL.UBNT.v5.3.3 GPL archive. After porting, I upgraded all the binary files with the new ones that were inside the SquashFS partition of the firmware image of 5.3.3

I cleaned up everything and repacked. Make sure with “make menuconfig” you select the ubnt-base-files package.

I tested successfully this SDK with NanoStationM5. Feedback on other devices is highly appreciated, either commenting on this blog or writing an email to contatti@ninux.org

If you want to know how we use this SDK at Ninux to improve the firmware with IPv6 and olsrd you can have a look to our wiki.

Saverio

GSoC 2011: Videochat for Diaspora*

Tuesday, August 30th, 2011

I’m writing about the results achieved with my Google Summer of Code project, for the Ninux community, under the umbrella of Freifunk (I thank them both for the opportunity they gave me).

Briefly it consisted in developing a video chat feature for Diaspora*, a distributed social network.

This project has received a very big feedback and appreciations from the entire Diaspora community, including the core team, who helped and supported me during the development.

Basically, it provides two new functionalities to the Diaspora engine:

  • Textual chat, based on XMPP signaling protocol
  • Video chat, using Jingle XEP
Both have been developed in Javascript, with some Rails code. It uses Strophe.js library for the textual chat, based on XMPP Over BOSH standard, and a self-made extension of it to realize Jingle protocol.
The project includes a custom ejabberd module in Erlang for the integration of ejabberd/diaspora databases, an Actionscript part for the video chat stuff and an external authentication script written in Ruby used by ejabberd to authenticate users from Diaspora.
The project has been split in two pull requests, and we’re currently fixing them before merge with master repository: [1],  [2].

Source code can be found at https://github.com/vcuculo/diaspora, under “jabber” and “video_chat” branches.

Setup instructions here. Some screen-shots: [1], [2], [3].

I hope it will be soon merged and improved by me and the community, to make it available on every Diaspora* pod!

Vittorio

GSOC 2011: RadioMate

Monday, August 29th, 2011

The Ninux community, under the umbrella of Freifunk, developed four awesome open-source projects for the Google Summer of Code program 2011: a front-end for RadioMate, a new mapserver (called nodeshot), a video and chat extension to the social networking engine Diaspora* and a new tunneling tool.

In this post I will write about RadioMate, the project I was involved in. Then posts on the other projects will follow!

There are many web-radio projects that are closely involved in the world of Community Networks: in Rome Fusoradio and Radio Sonar are an active part of the community and relay on the ninux network for their streaming, in Leipzig Radio Blau (which transmits also in FM) gives big spaces to the Freifunk project, or RadioCona in Ljubljana, where the Wlan Slovenija project is based.

Often these web radios have to relay on closed-source software platforms as the available open-source solutions don’t fit their needs.

RadioMate is a free (as in freedom) community-wise Web-radio management system. Some of its features are:

  • support of multiple users with different privileges (roles)
  • easy radio schedule management
  • handling of audio files and playlists
  • extendable with new types of transmissions
  • interface with the icecast server
  • takeover of the radio streaming in case of “special editions”

While last year the RadioMate engine was developed, this year our efforts focused on a Web frontend. You can find a demo at radiomate.ninux.org. The username is “foobar” while the password is “secret”. Point also your player (e.g. VLC) at radiomate.ninux.org:8000.

For the techies, the engine is based on liquidsoap, written in Python, and easily extendable through liquidsoap scripts. It exports a JSON API which is exploited by the Javascript (jQuery) based Web frontend. Source code and documentation can be found at radiomate.org.

Of course there is still work to do, but I hope that this software will be soon used by our friends running webradios!

As we say in Rome:Daje!
Clauz

Come usare il software GNUpg per cifrare i testi

Monday, August 15th, 2011

1. Introduzione

Se si possiedono dati confidenziali come password o altro da comunicare senza che nessun altro oltre al destinatario venga a conoscenza del contenuto della missiva, una maniera per farlo è cifrare il messaggio e fare in modo che solo il destinatario possa decifrarlo.

Il sistema più efficiente adottato è quello della generazione di una coppia di chiavi che mittente e destinatario devono possedere, una pubblica tranquillamente distribuita a tutti e una privata conosciuta solo dal proprietario.  Dalla chiave pubblica non si può risalire a quella privata.

Il sistema funziona così:

  1. Il mittente cifra il testo con la chiave pubblica del destinatario e gliela spedisce (la chiave pubblica serve quindi a scrivere)
  2. Il destinatario riceve il testo e lo decodifica con la sua chiave privata (la chiave privata serve quindi a leggere ciò che è stato scritto con la chiave pubblica)

 

2. Firme digitali

Con la cifratura a doppia chiave si garantisce che il testo sia letto solo dal destinatario giusto, in quanto il testo è stato cifrato con la sua chiave pubblica e può essere letto solo con la chiave privata e quindi segreta del proprietario.

Quello che però non può essere garantita è l’identità del mittente, in quanto per esempio un programma può spedire un messaggio contenente un virus cifrato con la chiave pubblica del destinatario e questi potrebbe essere tratto in inganno.

E’ per questo che è stato inventato il concetto di firma digitale che si ottiene dalla combinazione tra la chiave privata e il testo. In questo modo è risolto il sia il problema della confidenza del messaggio sia l’identità di chi l’ha spedito.

 

3. Fiducia della firma digitale

C’è ancora un problema che rimane fuori: il problema della fiducia riposta in chi spedisce il messaggio. Anche se il testo risulta essere firmato e quindi associato al mittente giusto, sorge il problema della fiducia nel mittente, perchè il mittente potrebbe spacciarsi per qualcun altro con una firma associata giustamente a lui.

Il discorso è simile alla vita reale: se una persona sconosciuta si presenta a noi spacciandosi per qualcun altro, questo potrebbe arrecarci un qualche danno derivante da un cattivo comportamento.

Vi ricordate per esempio i ladri che spacciandosi per esattori del gas riuscivano ad ingannare le persone facendosi pagare degli importi? Bastava telefonare alla compagnia che avrebbe svelato l’inganno.

Diverso quindi è se la persona ci viene presentata da un amico o da un’autorità che garantisca per lui.

Nel caso delle chiavi PGP si è pensato di far firmare le chiavi pubbliche ad altre persone in cui si ha fiducia (il concetto di amico o autorità che presenta la persona) certificando così che la chiave appartenga veramente alla persona che sostiene di esserne il proprietario.

Nasce quindi la fingerprint (impronta digitale della chiave) che certifica che la firma appartiene veramente a quella persona.

 

4. Sintesi

Riepilogando:

  1. La cifratura con la coppia di chiavi garantisce al destinatario di essere l’unico a decifrare il testo.
  2. La firma digitale del testo permette al destinatario di conoscere l’identità del mittente
  3. La fingerprint garantisce che l’identità del mittente sia proprio quella che egli dichiara

Nei prossimi paragrafi vedremo l’applicazione di tali concetti al software di GNUgp.

(more…)