sendxmpp

sendxmpp è un software capace di inviare stringhe di testo (ma anche file) dal terminale ad un JID o MUC XMPP.

E' disponibile in molteplici incarnazioni, tra le quali le migliori sono:

Un'utilizzo plausibile è quello di inviare log (non riservati) ad un contatto XMPP (in questo caso se stessi); ad esempio:

tail -F /var/log/auth.log | grep -i --line-buffered -e "failed" -e "invalid" -e "accepted" | go-sendxmpp -i -t user@domain.tld

oppure:

journalctl -xe -f -u wesnoth-1.16-server.service | grep -i --line-buffered "has logged on" | go-sendxmpp -i -t user@domain.tld

Il risultato del secondo esempio è un messaggio del tipo:

service 20:00
Jan 16 20:00:03 pandora.woodpeckersnest.space wesnothd-1.16[689]: 20240116 20:00:03 info server: +2001:redacted::2     roughnecks has logged on

Se avete altre idee utili su come utilizzare questi software, fatecelo sapere nei commenti!


Nuovo aggiornamento server Snikket

Gli utenti che avevano eseguito l'aggiornamento alla versione 20240112 da qualche ora hanno ricevuto un messaggio che li invita ad aggiornare nuovamente per risolvere alcuni bug riscontrati da alcuni utenti e segnalati nel gruppo ufficiale. La nuova versione è la 20240115, i comandi per aggiornare restano invariati rispetto a quanto segnalato in precedenza.


XMPP Blocklist

xmppbl.org - Traduzione

Blocklist in tempo reale per XMPP

xmppbl.org fornisce un servizio di blocklist in tempo reale (RTBL) per XMPP.

Cos'è una RTBL?

Le blocklists su Internet non sono un'idea nuova. Questo tipo di liste è utilizzato nelle email per identificare lo spam, ad esempio. Tipicamente queste liste sono "servite" su protocolli come HTTP o DNS e devono essere periodicamente scaricate o interrogate selettivamente per ottenere informazioni.

XMPP RTBLs sono servite su XMPP, usando il protocollo "publish-subscribe" (XEP-0060) e questo permette ai sottoscrittori delle liste di ricevere aggiornamenti immediatamente, non appena nuove voci sono aggiunte a, o rimosse dalla blacklist.

###Quali blocklist sono disponibili? Attualmente ospitiamo una sola RTBL:

muc_bans_sha256

Ovvero gli hash SHA256 dei JID che sono stati identificati come fonte di spam in chatroom pubbliche.

###Come si usano le RTBLs? Per configurare il software all'uso delle nostre RTBLs, dovrai fornire 2 informazioni:

  1. L'indirizzo del servizio (JID): xmppbl.org
  2. Il "nodo" RTBL: Usa uno dei nodi listati (ad esempio muc_bans_sha256)

###Per gli operatori Se sei un operatore, il tuo server potrebbe essere già supportato.

####Prosody Installa ed abilita mod_muc_rtbl (https://modules.prosody.im/mod_muc_rtbl)

$ sudo prosodyctl install --server=https://modules.prosody.im/rocks/ mod_muc_rtbl
$ sudo prosodyctl shell

prosody> config:reload()
prosody> module:load("muc_rtbl", "channels.example.net")

Configurazione di esempio:

Component "channels.example.net" "muc"
  modules_enabled = {
    -- altri moduli
    "muc_rtbl";
}
  
  muc_rtbl_jid = "xmppbl.org"
  muc_rtbl_node = "muc_bans_sha256"

####Openfire Usa il MUC RTBL plugin

####ejabberd ejabberd supporta RTBL dalla versione 23.04. Abilita il modulo mod_muc_rtbl ed hai finito!

###Per gli amministratori di gruppi Se sei l'amministratore di un gruppo pubblico affetto da spam, prima di tutto dovresti notificare l'operatore del server circa le liste discusse sopra. Usare una integrazione a livello di server è più sicuro, più efficiente, affidabile e protegge contemporaneamente tutti i canali del servizio.

###Riddim bot Se il tuo server non supporta RTBLs, puoi invece usare un bot con supporto ad RTBL, come Riddim. Il bot "ascolterà" per aggiornamenti delle liste RTBL e prenderà le apposite misure nei canali dove è amministratore.

Abbiamo una guida per impostare Riddim con supporto ad RTBL.

###sid bot Il bot sid ha ora supporto sperimentale alle liste RTBL.


Aggiornamento del server Snikket

Finalmente è arrivato il tanto atteso aggiornamento alla versione gennaio 2024 del server di Snikket.

I principali cambiamenti, in sintesi:

  • le cerchie non creano più il gruppo associato automaticamente, si può fare dal portale oppure creare un normale gruppo privato dall'app;

  • dal portale si può vedere l'ultimo accesso dei propri utenti e capire così se qualcuno può aver bisogno d'aiuto, oppure eliminare i profili non più usati;

  • supporto di serie a IPv6 e a DNSSEC e DANE;

  • autenticazione più forte e più veloce per prevenire attacchi MITM;

  • recupero facilitato di un profilo eliminato per sbaglio dal server;

  • rimosso il messaggio di benvenuto dal server;

  • altri miglioramenti.

Vi invitiamo a leggere l'articolo del blog ufficiale in inglese.

Per aggiornare seguire le istruzioni, qui riportiamo quelle relative al caso in cui il vostro Snikket sia stato installato seguendo la modalità della guida:

Si tratta semplicemente di eseguire i tre comandi:

cd /etc/snikket
docker-compose pull
docker-compose up -d

ed è fatta!


Un anno di Happy Hour

La fine dell'anno è solitamente tempo di bilanci e analisi di quanto fatto, per poter guardare avanti ed organizzare il prossimo futuro. Noi di xmpp-it non ci vogliamo tirare indietro pertanto pubblichiamo un resoconto degli incontri virtuali del ciclo Happy Hour, la fortunata intuizione di Nicola Fabiano cominciata la primavera scorsa. Potrete trovare una breve descrizione schematica degli argomenti trattati per poter recuperare, se vi interessa, la puntata che vi ha incuriosito o quella che avete perso, con i collegamenti al formato che preferite tra video e audio.

1° episodio

Data: 16 maggio 2023

Durata: 46:36

Video: non disponibile

Audio: https://podcast.xmpp-it.net/library/tracks/258/

Argomenti:

  • presentazione dell'iniziativa e del protocollo;
  • perché preferire xmpp ad altro;
  • il protocollo di fronte alla richiesta di interoperabilità;
  • creare un profilo xmpp;
  • panoramica sui client;
  • concetto di XEP;
  • integrazione di OMEMO nei client;
  • sicurezza e riservatezza, temi distinti ma collegati.

Intervengono: Mario Sabatino, Nicola Fabiano, Roberto Resoli.

2° episodio

Data: 20 giugno 2023

Durata: 59:19

Video: non disponibile

Audio: https://podcast.xmpp-it.net/library/tracks/263/

Argomenti:

  • creare un profilo xmpp, da web o da app;
  • differenza di gestione contatti con altri protocolli;
  • xmpp come modo di decentralizzare la messaggistica nel contesto attuale;
  • client desktop: Gajim;
  • discussione sui dati cifrati transitanti sul server;
  • accenno ai servizi web Movim e Conversejs.

Intervengono: Mario Sabatino, Nicola Fabiano, Roberto Resoli.

3° episodio

Data: 18 luglio 2023

Durata: 1:09:46

Video: https://video.xmpp-it.net/w/ePGMjHBwZ4E5sDXNzpYiDR

Audio: https://podcast.xmpp-it.net/library/tracks/262/

Argomenti:

  • client XMPP sui vari sistemi operativi;
  • cifratura end to end (e2ee), omemo, pgp;
  • scambio chiavi, fiducia al primo accesso,
  • gestione impronte omemo vari client;
  • accenno al problema dei metadati oltre la crittografia;
  • accenno a piattaforme alternative (Simplex, Matrix, Signal) in relazione all'uso di metadati e al proprio livello di minaccia;
  • Snikket come soluzione per evitare la gestione centralizzata globale dei metadati attraverso la diffusione di "infiniti" server.

Intervengono: Mario Sabatino, Nicola Fabiano, Roberto Resoli, Dashamir Hoxha.

4° episodio

Data: 19 settembre 2023

Durata: 1:06:09

Video: https://video.xmpp-it.net/w/1WsUzwmbz1D78LZLNL68NM

Audio: https://podcast.xmpp-it.net/library/tracks/264/

Argomenti:

  • bot: installazione e configurazione;
  • librerie di python e go;
  • bridge (matterbridge);
  • divagazione su chatgpt4;
  • problema condivisione dati con i bridge;
  • bridge (slidge);
  • panoramica sul protocollo XMPP.

Intervengono: Mario Sabatino, Nicola Fabiano.

5° episodio

Data: 17 ottobre 2023

Durata: 56:35 la versione audio; 34:20 il video

Video: https://video.xmpp-it.net/w/6WJZZvRJWsVjGQvA8ga4df

Audio: https://podcast.xmpp-it.net/library/tracks/260/

Argomenti:

  • genesi e motivazioni della guida Snikket in italiano;
  • vantaggi del sistema Snikket presso un'utenza poco tecnologica;
  • importanza del supporto agli sviluppatori di codice aperto;
  • notifiche push: unifed push, problemi notifiche su iOS e app disponibili;
  • degooglizzare i dispositivi: limiti tecnici e legali;
  • telefoni ricondizionati e con sistemi operativi aperti;
  • store alternativi: f-droid, App Lounge, Aurora;
  • principio normativo del DGPR sul controllo dei dati personali in relazione ai servizi centralizzati e decentralizzati.

Intervengono: Mario Sabatino, Nicola Fabiano, Federico Tebaldi.

6° episodio

Data: 21 novembre 2023

Durata: 52:37

Video: https://video.xmpp-it.net/w/d8JC9HpxnE1WvXgsDuxaRR

Audio: https://podcast.xmpp-it.net/library/tracks/261/

Argomenti:

  • presentazione del sito e accenni ai nuovi servizi: muc, git, owncast, wiki;
  • incontro virtuale dei membri xsf:

incremento utenza; storicità d'utilizzo; accenno al funzionamento; presenza dei suoi rappresentanti alla discussione in sede europea sul DMA, riguardante l'interoperabilità;

  • matterbridge;
  • principi e filosofia del git;
  • recente attacco mitm e creazione del servizio certwatch;
  • accenni alle differenti problematiche tra self-hosting fisico e virtuale.

Intervengono: Mario Sabatino, Nicola Fabiano.

7° episodio

Data: 12 dicembre 2023

Durata: 57:42

Video: https://video.xmpp-it.net/w/oLtJa1DeGwsiWCJfyFBYy9

Audio: https://podcast.xmpp-it.net/library/tracks/259/

Argomenti:

  • elezione di Nicola nel board dell'XSF e funzionamento della Fondazione;
  • OMEMO:

origine e storia del protocollo double ratchet; panoramica sui vari client e modalità di scambio chiavi; scambio reciproco del contatto e cifratura di chiamate, videochiamate, allegati; chat semi-anonime non cifrate e cifrate non anonime; problemi di cifratura e di persistenza dei webclient;

  • archiviazione messaggi sul server con MAM.

Intervengono: Mario Sabatino, Nicola Fabiano, Roberto Resoli.

Gli incontri si svolgono in modalità molto discorsiva ed informale, queste descrizioni sono quindi abbastanza vaghe e non esaustive, e non tengono conto del fatto che spesso un argomento viene ripreso più volte all'interno della stessa sessione per riuscire ad inquadrarne tutti gli aspetti.