Torniamo a un argomento più pop rispetto agli ultimi, abbastanza tecnici: oggi vediamo come chattare su IRC da linea di comando. La rete IRC era composta da numerosi server, ognuno dei quali offriva il servizio e permetteva a moltissimi utenti di chattare sia in stanze di gruppo sia in privato, non diversamente dalle chat moderne. Permetteva anche di creare bot, aprire un proprio canale e registrare il proprio nick: era il luogo virtuale dove le persone si incontravano per parlare dei propri interessi, portare avanti progetti e comunicare ai tempi del web 1.0. Miracolosamente è sopravvissuta ed è ancora attiva, con tantissimi utenti. Ci collegheremo a uno dei server storici.
Installare WeeChat
Il client che usiamo è WeeChat:
sudo apt-get install weechat
Si lancia con:
weechat
La finestra è spartana ma molto funzionale, ed è divisa in alcune parti che conviene conoscere:
- A sinistra la colonna dei buffer: i buffer sono gli insiemi di messaggi che riceviamo dai server, dai canali e dai singoli utenti.
- Al centro il buffer corrente, la finestra di chat vera e propria.
- In basso il prompt dei comandi, che serve sia per inviare i messaggi sia per mandare comandi a WeeChat, al server o al canale.
Tutti i comandi di WeeChat iniziano con una barra, per distinguerli dalle frasi che vogliamo scrivere in chat. Questa è la barra diritta, la slash.
Aggiungere un server e connettersi
Prima cosa: aggiungere un server. Il comando è server con l’azione add, poi un’etichetta a nostra scelta, che serve solo a distinguere il server dagli altri quando ne avremo aggiunti tanti, poi indirizzo e porta, e infine l’opzione -tls, l’unica davvero importante, che dice al client di usare la sicurezza TLS. Qui ci colleghiamo a Libera Chat sulla porta 6697:
/server add libera irc.libera.chat/6697 -tls
I nomi dei server e le porte si trovano facilmente su Internet. Poi ci connettiamo con il comando connect seguito dall’etichetta:
/connect libera
Eccoci connessi: nella colonna dei buffer, oltre a quello di WeeChat, che è quello del programma, ora compare Libera. Siamo in una specie di ingresso del server, non in un canale.
Il nickname
Quando ci colleghiamo ci viene assegnato un nickname temporaneo. Per darcene uno personalizzato, che è il nome con cui ci vedranno gli altri utenti nei canali e nelle chat private, si usa il comando nick:
/nick tuonick
Il nick scelto con nick vale solo finché restiamo connessi, e chiunque può prenderlo quando ce ne andiamo. Per tenerlo nostro lo registriamo presso NickServ, il servizio del server che custodisce i nick. Gli si parla in privato con il comando msg: dopo essersi dati il nick, si manda register con una password e un indirizzo email valido:
/msg NickServ REGISTER password tua@email.it
Su Libera Chat arriva una mail con un codice di verifica, che si conferma con il comando che la mail stessa indica:
/msg NickServ VERIFY REGISTER tuonick codice
Da quel momento il nick è nostro. Alle connessioni successive, preso il nick, ci si identifica con la password:
/msg NickServ IDENTIFY password
Per non doverlo scrivere ogni volta, WeeChat può mandare la password da solo al momento della connessione, con l’autenticazione SASL:
/set irc.server.libera.sasl_username tuonick
/set irc.server.libera.sasl_password password
Cercare un canale
Non sappiamo quali canali siano disponibili, e su ogni server possono essere tantissimi. Possiamo chiedere l’elenco, ma il mio consiglio è usare list con le wildcard per ottenere una lista ragionata. Per esempio, per elencare i canali che contengono la parola debian in mezzo a qualunque altra cosa:
/list *debian*
Le ricerche si possono stringere ancora. Il server stesso accetta un numero minimo o massimo di utenti: per esempio i canali con più di cento persone connesse:
/list >100
Al posto delle wildcard WeeChat accetta anche un’espressione regolare con l’opzione -re, per esempio i canali che iniziano per linux:
/list -re ^#linux
Senza la regex, invece, il risultato finisce in un buffer dedicato, dove si continua a filtrare scrivendo al prompt: n: seguito da una parola cerca solo nel nome del canale, t: solo nell’argomento, il topic, u: fissa il numero di utenti, e s: ordina la lista. Per esempio:
t:italia
u:>50
s:-users
Con un asterisco si torna a vedere tutto, e sulla riga selezionata il tasto j entra nel canale.
Fra i risultati ne ho trovato uno italiano per gli utenti Debian, debian-it, e quello mi sembra promettente. Per entrare in un canale c’è il comando join:
/join #debian-it
Siamo dentro. La finestra ha ora un’ulteriore colonna a destra, quella degli utenti connessi.
Scrivere e uscire
Inviare un messaggio è semplicissimo: basta scrivere al prompt la frase, senza barra, per esempio ciao a tutti, e dare invio. Il messaggio compare con il nick di chi l’ha scritto a sinistra, quindi è facile capire chi parla.
Per scrivere in privato a un utente si usa query seguito dal suo nick e, se vogliamo, dal primo messaggio:
/query tuonick ciao, come va?
WeeChat apre un buffer tutto per la conversazione privata, che compare nella colonna a sinistra, e da lì si continua a scrivere normalmente. Se invece vogliamo mandare un messaggio al volo senza aprire un nuovo buffer, c’è msg, lo stesso che abbiamo usato con NickServ:
/msg tuonick ci vediamo dopo
Quando qualcuno ci scrive in privato, il suo buffer si apre da solo.
Per uscire da un canale è sufficiente il comando close:
/close
e siamo tornati alla nostra lista di buffer.
La sorpresa
Su Libera Chat trovate anche il canale che ho aperto io con il mio nick: se cercate Linux con list ce ne sono parecchi, ma c’è anche quello di The Linux Nerd. Per entrarci:
/join #the-linux-nerd
Mi trovo connesso spesso in orari da caffè per rimanere svegli. Può diventare anche un punto d’incontro per chi segue il canale, quindi usatelo pure per chiacchierare fra voi.
Per finire
Non è tutto: su IRC ci sarebbe molto altro da dire, per esempio che cos’è un operatore, come registrare un canale e come sfruttare le funzioni avanzate del protocollo. Se vi interessa, ci torneremo su.
Link e risorse
- il video su YouTube
- esempi e comandi della puntata su GitHub
- WeeChat, guida rapida — in italiano
- WeeChat, manuale dell’utente — in italiano
- Libera.Chat, come connettersi — server, porte e TLS
- Libera.Chat, registrare il proprio nick
- Modern IRC Client Protocol — il protocollo come funziona oggi
- RFC 1459 — la specifica originale di IRC, del 1993
Sostieni il canale
PER SOSTENERE IL CANALE BASTANO UN LIKE E UN’ISCRIZIONE! ma se vuoi offrirmi un caffè, mi aiuterà a rimanere sveglio mentre registro i video 😁☕ clicca qui per scoprire come https://buymeacoffee.com/thelinuxnerd
questi link sono affiliati Amazon, acquistando i libri che ti consiglio sostieni il canale!
