Sondaggio 3

Il posto più strano dove hai fatto... un backup?

i486

Scrivendo l’articolo NO GRAPHIC NO PARTY mi sono accorto che non esistono distribuzioni moderne capaci di girare su un 486.

La soluzione più semplice è quella di costruirsi il proprio sistema Linux personalizzato con Buildroot, come descritto nella guida Linux minimale per PC i386/i486.

Con questo tool non è stato difficile realizzare un sistema Linux che supportasse PCI, ISA, IDE legacy, IPV4/6, le principali schede di rete ethernet dell’epoca e degli attuali emulatori, l’hotplug; che comprendesse busybox completo, svariati tool come iptables, nano, openssl, dropbear, ncftp, lynx, mutt, mpg123 e si accontentasse di un 486 con 24MB RAM ed un hard disk da 40MB.

Realizzare un sistema Linux recente per i386 è invece fuori discussione, anche usando l’ultimo kernel disponibile per 386 (3.7.10) ed un buildroot di una decina di anni fa è si fa molta fatica a stare sotto alle 16MB RAM. In questo caso conviene accontentarsi di una vecchia distro floppy minimale.

Mapping Day Avane

Il Mapping Party si terrà a Empoli, precisamente ad Avane. È un evento aperto a tutti: non serve alcuna esperienza con OpenStreetMap e chiunque è benvenuto. Sarà una giornata dedicata a migliorare le mappe di OpenStreetMap e a imparare insieme come contribuire in modo semplice ed efficace.

Maggiori dettagli tecnici e organizzativi sul wiki.

Programma

  • 09:00 – Ritrovo presso l’area “La Vela – Margherita Hack”. Illustrazione degli obiettivi, preparazione dei gruppi, domande e risposte.
  • 10:00 – Si parte per mappare Avane e dintorni, integrando le informazioni nell’app StreetComplete e simili.
  • 13:00 – Pranzo presso l’area La Vela Margherita Hack. Necessaria prenotazione tramite form entro Venerdì 17 sera.
  • 14:00 – Momento di revisione e sistemazione dei dati raccolti, finché c’è tempo e voglia.

NO GRAPHIC, NO PARTY?

Ha ancora senso fare a meno dell’interfaccia grafica?
Per la maggior parte degli utenti probabilmente no, ma se state leggendo questo articolo non siete l’utente medio.
Se siete stanchi di giocare a vecchi giochi DOS sul 486 della vostra infanzia, la mia proposta è di collegarlo ad Internet e configurarlo per navigare, chattare e leggere la posta. Vi occorrerà soltanto della colla vinilica e forbici con la punta arrotondata una scheda ethernet (preferibilmente PCI se non volete gestire manualmente IO e IRQ), un lettore CD e (facoltativo, ma raccomandato) un hard disk aggiuntivo dedicato a Linux.

NB: l’unica distribuzione moderna che supporta l’architettura 486 è TinyCore, ma è impossibile fargli fare il boot su sistemi con meno di 80MB RAM. Per aggirare questo il problema si può effettuare l’installazione su un PC più moderno e su questo ricompilare un nuovo kernel minimale. Per limitare al massimo il consumo di memoria si consiglia di eliminare tutti i moduli superflui e di compilare staticamente le componenti essenziali al boot così da poter fare a meno del ramdisk. A questo punto sarà possibile trapiantare l’hard disk sul 486 e, se abbiamo fatto tutto correttamente, arrivare al login.
Se siete pigri e non vi interessa avere un sistema aggiornato si può optare per una vecchia Debian 3 o Slackware 7.

Software consigliato per sopravvivere ai tempi moderni con un computer di 30 anni fa:

  • nano: editor di testo stile edit di MS DOS
  • vi, emacs: editor di testo UNIX che non hanno bisogno di presentazioni
  • Wordgrinder: word processor che supporta il formato odt
  • gpm (General purpose mouse): supporto al mouse da terminale
  • tmux (Multiplexer di terminale): divide lo schermo in pannelli, gestisce finestre multiple e mantiene le sessioni persistenti
  • eLinks: browser testuale con supporto per le TAB
  • links: browser testuale con possibilità di supporto grafico. Utilizzando il driver framebuffer (attivandolo dal boot loader col parametro vga=0x031B o video=vesafb), non necessita del server grafico
  • mpg123: decoder per eseguire mp3
  • sic (chat via IRC): chattare alla vecchia maniera lanciando un semplice “sic irc.libera.chat”
  • Mutt (o NeoMutt): client email

Mentre la configurazione della maggior parte dei programmi elencati è un esercizio relativamente semplice che lasceremo al lettore, quella del client di posta richiede alcune accortezze:

  1. se usate Gmail dovrete generare una nuova password per ogni applicazione esterna per accedere alla casella di posta (mutt/neomutt, offlineimap, getmail, msmtp, postifix, sendmail…)
  2. Mutt e NeoMutt avrebbero un client integrato per gestire l’autenticazione imap e smtp, ma se volete leggere ed inviare la posta anche quando siete offline occorrerà appoggiarsi a strumenti esterni
    File di configurazione di NeoMutt comprensivo di gestione della cifratura .neomuttrc
  3. Come client IMAP per sincronizzare il vostro account con la ~/Mail locale consiglio Offlineimap o getmail
    File di configurazione .offlineimaprc
  4. Stessa cosa per quanto riguarda la posta in uscita, in questo caso consiglio msmtp.
    File di configurazione .msmtprc

XMPP

I tuoi amici nerd ti bullizzano perché usi ancora software proprietario come Telegram e non sei migrato a Matrix?
Rilancia hostando con Prosody il tuo server XMPP personale! (Sì, il vecchio caro Jabber di fine anni ’90…)

Consumando solo una 40ina di MB di RAM e pochi MB di disco può girare su piccoli server virtuali, sistemi embedded, hardware di recupero…
Grazie alle librerie di gateway Slidge puoi creare dei bridge verso altri network come WhatsApp o Telegram proprio come fa Matrix.

Per rendere il server XMPP ancora più sicuro e far rosicare i tuoi amici consiglio di non renderlo disponibile in chiaro su Internet, ma tramite reti anonime come TOR, Yggdrasil o I2P.

Basterà installare il pacchetto “prosody” sulla vostra distro preferita e configurarlo come segue:

Se vogliamo lasciare che i nuovi utenti possano creare un account basterà scrivere nel file di configurazione /etc/prosody/prosody.cfg.lua

allow_registration = true

Altrimenti (scelta consigliata se vogliamo gestire una piattaforma per pochi intimi) possiamo creare manualmente gli utenti col comando

prosodyctl adduser

A seguire un esempio di file prosody.cfg.lua
È stata permessa la creazione di utenti e oltre al server principale su Yggdrasil ci sono due virtualhost su TOR e I2P.
Non ho abilitato tls perché non mi serve dato che lo uso su reti già cifrate, mentre il modulo “muc” serve per la creazione di stanze

/etc/prosody/prosody.cfg.lua

daemonize = true
pidfile = "/run/prosody/prosody.pid"

modules_enabled = {
"roster"; "saslauth";
-- "tls";
"dialback"; "disco";#/etc/prosody/prosody.cfg.lua
"carbons"; "pep";
"private"; "blocklist";
"vcard4"; "vcard_legacy";
"version"; "uptime";
"time"; "ping";
"admin_shell";
--"muc";
}

allow_registration = false
authentication = "internal_hashed"
storage = "internal"
log = {
info = "/var/log/prosody/prosody.log";
error = "/var/log/prosody/prosody.err";
}
c2s_require_encryption = false
s2s_secure_auth = false
interfaces = { "127.0.0.1", "::1" }
VirtualHost "blablablablabalbalblablablablabalblabalbalblablabalba.b32.i2p"
enabled = true
Component "conference.blablablablabalbalblablablablabalblabalbalblablabalba.b32.i2p" "muc"
muc_room_cache_size = 100
restrict_room_creation = "local"
VirtualHost "blablablablabalbalblablablablabalblabalbalblablabalbalbalb.onion"
enabled = true
Component "conference.blablablablabalbalblablablablabalblabalbalblablabalbalbalb.onion" "muc"
muc_room_cache_size = 100
restrict_room_creation = "local"

A seguire anche le modifiche sui file di configurazione di TOR e I2P

/etc/tor/torrc

HiddenServiceDir /var/lib/tor/xmpp/
HiddenServicePort 5222 127.0.0.1:5222

/etc/i2pd/tunnels.conf

[xmpp]
type = server
host = 127.0.0.1
port = 5222
keys = xmpp.dat