Debian Day in Varese


The decorations *may* have been changed a bit from the way they originally came from the restaurant kitchen... :D

#debian @Gruppo Linux Como @LIFO

Debian Day in Varese

I'm stuck home instead of being able to go to DebConf, but that doesn't mean that Debian Day will be left uncelebrated!

Since many of the locals are away for the holidays, we of @Gruppo Linux Como and @LIFO aren't going to organize a full day of celebrations, but at the very least we are meeting for a dinner in Varese, at some restaurant that will be open on that date.

Everybody is welcome: to join us please add your name (nickname or identifier of any kind, as long as it fits in the box) on before thursday, August 10th, so that we can
get a reservation at the restaurant.

Modern XMPP Server

I've published a new HOWTO on my website:

Enrico already wrote about the Why (and the What, Who and When), so I'll just quote his conclusion and move on to the How.

I now have an XMPP setup which has all the features of the recent fancy chat systems, and on top of that it runs, client and server, on Free Software, which can be audited, it is federated and I can self-host my own server in my own VPS if I want to, with packages supported in Debian.


I've decided to install prosody, mostly because it was recommended by the RTC QuickStart Guide; I've heard that similar results can be reached with ejabberd and other servers.

I'm also targeting Debian stable (+ backports); as I write this is jessie; if there are significant differences I will update this article when I will upgrade my server to stretch. Right now, this means that I'm using prosody 0.9 (and that's probably also the version that will be available in stretch).

Installation and prerequisites

You will need to enable the backports repository and then install the packages prosody and prosody-modules.

You also need to setup some TLS certificates (I used Let's Encrypt); and make them readable by the prosody user; you can see Chapter 12 of the RTC QuickStart Guide for more details.

On your firewall, you'll need to open the following TCP ports:

  • 5222 (client2server)

  • 5269 (server2server)

  • 5280 (default http port for prosody)

  • 5281 (default https port for prosody)

The latter two are needed to enable some services provided via http(s), including rich media transfers.

With just a handful of users, I didn't bother to configure LDAP or anything else, but just created users manually via:

prosodyctl adduser

In-band registration is disabled by default (and I've left it that way, to prevent my server from being used to send spim).

prosody configuration

You can then start configuring prosody by editing /etc/prosody/prosody.cfg.lua and changing a few values from the distribution defaults.

First of all, enforce the use of encryption and certificate checking both for client2server and server2server communications with:

c2s_require_encryption = true
s2s_secure_auth = true

and then, sadly, add to the whitelist any server that you want to talk to and doesn't support the above:

s2s_insecure_domains = { "" }


For each virtualhost you want to configure, create a file /etc/prosody/conf.avail/ with contents like the following:

VirtualHost ""
enabled = true
ssl = {
key = "/etc/ssl/private/";
certificate = "/etc/ssl/public/";

For the domains where you also want to enable MUCs, add the follwing lines:

Component "" "muc"
restrict_room_creation = "local"

the "local" configures prosody so that only local users are allowed to create new rooms (but then everybody can join them, if the room administrator allows it): this may help reduce unwanted usages of your server by random people.

You can also add the following line to enable rich media transfers via http uploads (XEP-0363):

Component "" "http_upload"

The defaults are pretty sane, but see for details on what knobs you can configure for this module

Don't forget to enable the virtualhost by linking the file inside /etc/prosody/conf.d/.

additional modules

Most of the other interesting XEPs are enabled by loading additional modules inside /etc/prosody/prosody.cfg.lua (under modules_enabled); to enable mod_something just add a line like:


Most of these come from the prosody-modules package (and thus from ) and some may require changing when prosody 0.10 will be available; when this is the case it is mentioned below.

  • mod_carbons (XEP-0280)
    To keep conversations syncronized while using multiple devices at the same time.

    This will be included by default in prosody 0.10.

  • mod_privacy + mod_blocking (XEP-0191)
    To allow user-controlled blocking of users, including as an anti-spim measure.

    In prosody 0.10 these two modules will be replaced by mod_privacy.

  • mod_smacks (XEP-0198)
    Allow clients to resume a disconnected session before a customizable timeout and prevent message loss.

  • mod_mam (XEP-0313)
    Archive messages on the server for a limited period of time (default 1 week) and allow clients to retrieve them; this is required to syncronize message history between multiple clients.

    With prosody 0.9 only an in-memory storage backend is available, which may make this module problematic on servers with many users. prosody 0.10 will fix this by adding support for an SQL backed storage with archiving capabilities.

  • mod_throttle_presence + mod_filter_chatstates (XEP-0352)
    Filter out presence updates and chat states when the client announces (via Client State Indication) that the user isn't looking. This is useful to reduce power and bandwidth usage for "useless" traffic.

@Gruppo Linux Como @LIFO
Tobias Friendica
I had some problems with the configuration. Hope to save others from long debugging time by adding them here as comment ;-)

Initially I had put the mentioned modules at the end of the modules_enabled block of the Prosody config file.. For some reason they never made it to become active and conversation never marked their XEP as available. My final solution was to move them atop the mention of the posix module, now they are all active.
@Tobias this is funny: I have them at the bottom between -- BEGIN ANSIBLE MANAGED MODLIST BLOCK (and the corresponding END) and they work, at least under jessie. I've just upgraded the server to stretch and haven't checked yet that they are all still working.

Maybe there was something else that was commenting them out? I have no idea if there is a block comment syntax in lua.

Anyway, great idea adding the comment here, in case it is useful to somebody else.

LIFO Friendica

Linux Day

Come di consueto, il LIFO collabora coi LUG della zona per l'organizzazione del Linux Day, giornata nazionale per il software libero.

Quest'anno siamo a Tradate presso il FaberLab in viale Europa 4/A con una mattinata dedicata alle scuole ed un pomeriggio adatto per tutti.

Ulteriori dettagli e il programma si trovano sul sito del LinuxVar

LIFO Friendica

Debian Day a Varese

Come ogni anno, il 16 agosto è il Debian Day, il compleanno del Sistema Operativo Universale.

Dato che in questo periodo molti sono in vacanza, non abbiamo organizzato eventi particolari, ma ci troviamo per una cena presso la Vecchia Varese in via Ravasi.

Per informazioni o per unirvi alla prenotazione contattate prima possibile @Elena ``of Valhalla'' o fate un giro su #lifo@FreeNode.

@Gruppo Linux Como

Verifying gpg keys

Suppose you have a gpg keyid like 9F6C6333 that corresponds to both key 1AE0322EB8F74717BDEABF1D44BB1BA79F6C6333 and 88BB08F633073D7129383EE71EA37A0C9F6C6333, and you don't know which of the two to use. You go to and find out that the site uses short key IDs, so the two keys are indistinguishable. Building on Clint's hopenpgp-t...
#gnupg @Gruppo Linux Como @LIFO

LIFO Friendica

Buono e Giusto a Somma Lombardo

Domenica prossima, 22 maggio, il LIFO sarà presente con un banchetto a Buono e Giusto, Giornata del consumo consapevole e sostenibile, presso la Comunità ANFFAS di Maddalena, Somma Lombardo.

Ulteriori informazioni sull'evento si trovano purtroppo solo sulla pagina facebook, informazioni su come raggiungere il posto sono anche sul sito degli organizzatori (mappa OSM)

Come nostro solito in queste occasioni, avremo esempi di computer a basso consumo, materiale informativo sull'esistenza di un modo di fare informatica incentrato sull'etica, materiale di cultura libera e — per la prima volta — qualche copia di schemi di ricamo liberi :)

@Gruppo Linux Como

LIFO Friendica

Linux Presentation Day a Tradate

Corrispondente primaverile del Linux Day, il Linux Presentation Day è un evento europeo nel corso del quale i gruppi locali di utenti Linux e Software Libero si mettono a disposizione del pubblico per far conoscere il loro mondo, rispondere a domande, mostrare opportunità poco conosciute e — perché no? — divertirsi assieme.

Alcuni gruppi di utenti linux delle province di Varese e Como saranno a disposizione quel sabato pomeriggio, il 30 aprile, dalle 14:30 alle 19 a Tradate, presso il FaberLab in Viale Europa 4/a.

L'evento, a ingresso libero, non è rivolto a professionisti dell'informatica, ma al grande pubblico, e non prevede un programma prefissato di talk formali, ma spazi liberi dove conversare liberamente e senza vincoli di scalette di vari argomenti a seconda degli interessi specifici dei partecipanti.

@Gruppo Linux Como

LIFO Friendica

_("Gitify your life") al FaberLab di Tradate

Questo sabato, il 16 aprile, dalle ore 15:00 in poi presso il FaberLab di Tradate si terrà un'incontro dal titolo _("Gitify your life").

La versatilità di git ha permesso la nascita di un ecosistema di
strumenti che sfruttano comandi e strutture dati di git per andare ben
oltre il semplice controllo delle revisioni.

"Gitify your life" è il titolo di un talk di Richard Hartmann nel quale
vengono presentati alcuni dei programmi usati dalla comunità vcs-home
per gestire configurazioni, dati, backup eccetera.

_("Gitify your life") è il nome localizzato di un pomeriggio nel corso
del quale vecchi e nuovi utenti di git si scambiano informazioni e
suggerimenti su come usare git per salvare, gestire e condividere tutto
ciò che non è codice: file di configurazione, documenti, agende, media,
il patrimonio culturale di villaggi remoti in Brasile e quant'altro.

Moderazione (e sufficienti esperienze da condividere in caso di vuoto cosmico) a cura di @Elena ``of Valhalla''

LIFO Friendica

Genuino Day al FaberLab di Tradate

questo sabato, il 2 Aprile, dalle ore 14:30 alle ore 20:00 si terra' un incontro speciale presso il FaberLab Tradate.
Si tratta di un incontro aperto a tutti: chiunque puo' portare un proprio progetto (anche non finito) che usi hardware libero (Genuino, Arduino, Espruino, Raspberry, ....) per poterne spiegare le potenzionalita', i problemi e le soluzioni trovate.
Cosi' come chiunque puo' venire solo per vedere e conoscere il mondo dell'hardware libero.

Dalle ore 15:00 alle ore 16:30 (circa) si terra' inoltre un talk di Elena Grandi ("of Valhalla") dal titolo "Basi di Git": di seguito l'abstract del talk.


Git è un sistema di gestione delle revisioni creato dagli sviluppatori del
kernel Linux, ma progettato per adattarsi facilmente alle esigenze più
disparate e a progetti di natura diversa, da pochi documenti personali
a progetti complessi.

È uno degli strumenti più usati dalle comunità mondiali di sviluppatori di
Software Libero ed Open Source, ma anche dalle comunità Maker, anche grazie a
siti come github che offrono spazio per la condivisione tramite git dei propri

Il pomeriggio di sabato 2 aprile sarà dedicato alle basi del funzionamento di
git: partendo da zero si arriverà ad essere in grado di gestire con git i file
di un proprio progetto, condividendolo con altre persone sia tramite rete
locale che, usando servizi esterni, via internet.

I vari comandi verranno mostrati su proiettore, ma per partecipare attivamente
è utile essere muniti di portatile; di preferenza sarebbe meglio un sistema
linux con installati i pacchetti git e gitk dai repository della propria
distribuzione; per sistemi windows e mac ci sono degli installer agli indirizzi o
ma non ci sarà supporto per l'installazione.


@Gruppo Linux Como @LIFO

Beware of hacked ISOs if you downloaded Linux Mint on February 20th!

We were exposed to an intrusion today. It was brief and it shouldn't impact many people, but if it impacts you, it's very important you read the information below. What happened? Hackers made a modified Linux Mint ISO, with a backdoor in it, and managed to hack our website to point to it.

Happy #ilovefs

Happy I love Free Software Day!


My life has been full of Free Software for more than 15 years and listing all the software and projects I've used or interacted with would take a long post (and I would be sure to forget someone), so if you are reading this and are involved in Free Software: thank you! I may have used your work in the past, I may be using it some time in the future, or I may never use it personally, but you are making the world I live in a better place anyway.

Special thanks go to the local LUGs, where I've met my SO and to the @Debian project, where I've met a few people I can call friends.

@LIFO @Gruppo Linux Como #ilovefs

ssh authentication with an OpenPGP smartcard

I've decided I don't want to keep an ssh key on my traveling laptop, but I still need to be able to authenticate to a number of hosts (and expecially gpg repositories). I also have an OpenPGP smartcard (from the FSFE). A plan is starting to form.

There are a number of guides available, but many of those are obsolete; the following pages are from this decade:

I've had some success from outside X, now I need to find out where I should disable ssh-agent from starting every time a start an X session, so that gpg-agent can take its place.

@Gruppo Linux Como @LIFO #gnupg
4 commenti mostra di più

logging and containers

@LIFO @Gruppo Linux Como

Emanuele Rocca: systemd is your friend

Today I want to talk a bit about some cool features of systemd, the default Debian init system since the release of Jessie.

@Gruppo Linux Como @LIFO

Automatic Face Recognition and Surveillance - Schneier on Security

ID checks were a common response to the terrorist attacks of 9/11, but they'll soon be obsolete. You won't have to show your ID, because you'll be identified automatically. A security camera will capture your face, and it'll be matched with your name and a whole lot of other information besides. Welcome to the world of automatic facial recognition. Those who have access to databases of identified photos will have the power to identify us. Yes, it'll enable some amazing personalized services; but it'll also enable whole new levels of surveillance. The underlying technologies are being developed today, and there are currently no rules limiting their use.

Buono e Giusto

Domenica scorsa si è tenuta Buono e Giusto, fiera dedicata ai Gruppi di Acquisto Solidale: abbiamo partecipato con un banchetto sul Software Libero come @LIFO e LinuxVar.

il nostro banchetto:


I resti della merenda :)



Ottima iniziativa per libreoffice e brava la Montegiove. Poi alla difesa vanno così tanti soldi che un risparmio di questa entità è quasi ridicolo.
Alberto Friendica
Ehehe...hanno speso tutto per gli F35 e ora sono alla frutta...

LIFO Friendica

Serata presso i radioamatori

Dopo un po' di assenza, questa sera il LIFO torna presso la sede ARI di Varese per una serata di smanettonaggio. Siete tutti benvenuti.
Ripetiamo anche questa sera per un'ultimo incontro prima della chiusura estiva.

@Gruppo Linux Como @LIFO Remember to update your /etc/apt/source.list, your mirrors redirector

The Debian mirrors redirector,, is now hosted on
infrastructure under the name of

The service allows many of the nearly 400 Debian mirrors to be made
available via a single address, adapting to your network location, IP family
connectivity, and service availability.
nuovi vecchi