Linux IRC mini-HOWTO

Frédéric L. W. Meunier

Questo documento mira a descrivere le basi di IRC e le rispettive applicazioni per Linux. Traduzione a cura di Matteo Castellini (jigen@TOGLIMI.despammed.com) e revisione a cura di Kriss (chgwor@TOGLIMI.tin.it).

Sommario

1. Introduzione ..............................................................................................................................................................3 1.1. Obiettivi..........................................................................................................................................................3 1.2. Miscellanea.....................................................................................................................................................3 1.3. Traduzioni ......................................................................................................................................................4

2. Riguardo a IRC.........................................................................................................................................................4 3. Guida all’uso di IRC per principianti.....................................................................................................................4

3.1. Far funzionare il programma ircII..................................................................................................................4 3.2. Comandi .........................................................................................................................................................5 3.3. Etichetta IRC..................................................................................................................................................5

4. I client IRC per console ............................................................................................................................................6 4.1. ircII.................................................................................................................................................................6 4.2. EPIC ...............................................................................................................................................................6 4.3. BitchX ............................................................................................................................................................6 4.4. irssi .................................................................................................................................................................7 4.5. Altri client IRC per console ...........................................................................................................................7

5. I client IRC per X Window ......................................................................................................................................7 5.1. Zircon .............................................................................................................................................................7 5.2. KVIrc..............................................................................................................................................................7 5.3. X-Chat ............................................................................................................................................................7 5.4. QuIRC ............................................................................................................................................................8

6. I server IRC ...............................................................................................................................................................8 6.1. IRCD ..............................................................................................................................................................8 6.2. IRCD-Hybrid..................................................................................................................................................8 6.3. ircu..................................................................................................................................................................8 6.4. Bahamut .........................................................................................................................................................8

7. I bot per IRC .............................................................................................................................................................9 7.1. eggdrop...........................................................................................................................................................9 8. I bouncer per IRC (IRC Proxy)...............................................................................................................................9

8.1. bnc ..................................................................................................................................................................9 8.2. muh.................................................................................................................................................................9 8.3. ezbounce.........................................................................................................................................................9

9. Installazione.............................................................................................................................................................10 9.1. Client ............................................................................................................................................................10 9.2. Server............................................................................................................................................................10

10. Ma cosa è già incluso nella mia distribuzione? (Linux su x86).........................................................................10 10.1. Debian ........................................................................................................................................................10 10.2. Red Hat.......................................................................................................................................................10 10.3. Slackware ...................................................................................................................................................11

11. Inferno e Paradiso.................................................................................................................................................11 11.1. Dei (sviluppatori) .......................................................................................................................................11 11.2. Santi (collaboratori)....................................................................................................................................11 11.3. Angeli (feedback).......................................................................................................................................11 11.4. Diavoli ........................................................................................................................................................12

12. Diario delle revisioni .............................................................................................................................................12

1. Introduzione

Questo documento è ancora WIP [NdT: Work In Progress] e dovrebbe essere considerato come tale. Farò del mio meglio per tenerlo aggiornato ed accurato. Le seguenti bibbie non dovrebbero essere ignorate:

• RFC1459 di Jarkko Oikarinen e Darren Reed è stata la prima sul Protocollo Internet Relay Chat. Può essere trovata all’indirizzo http://ftp.isi.edu/in-notes/rfc1459.txt.

• RFC2810 di Christophe Kalt aggiorna RFC1459 e descrive l’architettura di Internet Relay Chat. Può essere trovata all’indirizzo http://ftp.isi.edu/in-notes/rfc2810.txt.

• RFC2811 di Christophe Kalt aggiorna il Channel Management di Internet Relay Chat. Può essere trovata a http://ftp.isi.edu/in-notes/rfc2811.txt.

• RFC2812 di Christophe Kalt aggiorna RFC1459 e descrive il Protocollo Client dell’Internet Relay Chat. Può essere trovata all’indirizzo http://ftp.isi.edu/in-notes/rfc2812.txt.

• RFC2813 di Christophe Kalt aggiorna RFC1459 e descrive il Protocollo Server dell’Internet Relay Chat. Può essere trovata all’indirizzo http://ftp.isi.edu/in-notes/rfc2813.txt.

Assicurarsi anche di controllare i seguenti link: http://www.irchelp.org/.

1.1. Obiettivi

Tra gli altri, gli obiettivi di questo mini-HOWTO sono:

• Indicare link ad importanti risorse su IRC;

• Evitare comuni usi negativi di IRC scrivendo un’etichetta di IRC;

• Elencare popolari client, server, bot e bouncer, insieme ai loro maintainer, #canali, piccole descrizioni, siti per download, home page e suggerimenti;

• Elencare strumenti per IRC disponibili nell’ultima versione di tutte le maggiori distribuzioni.

1.2. Miscellanea

L’ultima versione di questo documento è disponibile su http://www.pervalidus.net/documentation/IRC-mini-HOWTO/. Un WIP della prossima bozza può essere disponibile su http://www.pervalidus.port5.com/documentation/IRC-mini-HOWTO/WIP/. Tutte le bozze sono archiviate in http://www.pervalidus.net/documentation/IRC-mini-HOWTO/old/. Tutto è disponibile nei mirror indicati su http://pervalidus.port5.com/documentation/IRC-mini-HOWTO/. [NdT: la versione italiana è reperibile all’indirizzo http://ildp.pluto.linux.it/HOWTO/IRC/index.html] Potete mandarmi e-mail (in inglese, francese o portoghese) con suggerimenti circa il mini-HOWTO. So che è lontano dell’essere finito, ma spero che lo troviate utile. Solo non chiedetemi di aggiungere la vostra applicazione o il vostro sito. Molto probabilmente non lo farò. Non chiedetemi nemmeno supporto tecnico. Non ho tempo per aiutare tutti.

A proposito, qualcuno che lavori sui versanti protocollo e server sarebbe molto benvenuto.

Frédéric L. W. Meunier (<linuxdoc @ pervalidus.net>)

1.3. Traduzioni

Le traduzioni proposte avranno il loro link qui. Sebbene io sappia scrivere in portoghese brasiliano e francese, non tradurrò questo documento nel prossimo futuro, perciò sentitevi liberi di farlo.

2. Riguardo a IRC

Estratto da RFC2810:

Il protocollo IRC (Internet Relay Chat) è usato per conferenze basate su testo. È stato sviluppato dal 1989 quando era originariamente implementato come un mezzo per far chattare tra di loro degli utenti su una BBS.

Formalmente documentato per la prima volta nel Maggio 1993 dalla RFC 1459 [IRC], il protocollo ha continuato ad evolversi.

Il Protocollo IRC è basato sul modello client-server ed è ben adattato per funzionare su molte macchine in modo distribuito. Una tipica configurazione coinvolge un singolo processo (il server) che costituisce un punto centrale a cui connettersi per i client (o altri server), eseguendo la consegna/comunicazione multipla del messaggio richiesto ed altre funzioni.

Questo modello distribuito, che richiede che ogni server abbia una copia delle informazioni globali di stato, è ancora il problema più evidente del protocollo in quanto è un serio ostacolo, che limita la grandezza massima raggiungibile da una rete. Se le reti esistenti sono state in grado di continuare a crescere ad un ritmo incredibile, dobbiamo ringraziare i costruttori di hardware per aver fornito sistemi sempre più potenti.

3. Guida all’uso di IRC per principianti

Il client IRC standard è il client ircII originale. È incluso nella maggior parte delle distribuzioni Linux.

3.1. Far funzionare il programma ircII

È facile utilizzare ircII. Mettiamo che vogliate connettervi a irc.freenode.net come mini-HOWTO.

Dalla riga di comando, scrivete:

$ irc mini-HOWTO irc.freenode.net

Potete anche esportare delle variabili, così da non doverle utilizzare dalla riga di comando:

$ export IRCNICK=mini-HOWTO IRCSERVER=irc.freenode.net

Aggiungetele al profilo della vostra shell (p.e. ~/.bash_profile o ~/.zprofile) quando avete finito.

Altre variabili comuni sono IRCNAME e IRCUSER, per impostare rispettivamente la parte ircname e username di un /whois, come si vede nella prima riga ’mini-HOWTO è ~username@hostname (ircname)’. Tenete presente che IRCUSER non funzionerà se farete eseguire un demone ident (predefinito sulla maggior parte delle distribuzioni). Se avete ancora bisogno di cambiare il vostro username (non raccomandato, e spero che non usiate IRC come root!),

Linux IRC mini-HOWTO

installate oidentd da http://ojnk.sourceforge.net/. Per configurarlo, leggete la pagina man oidentd.conf. Infine lanciate ’/usr/local/sbin/oidentd -g nobody -u nobody’. Aggiungetelo ai vostri script di avvio (p.e. /etc/rc.d/rc.local) quando avete finito. Se non impostati, IRCNICK, IRCUSER, e IRCNAME saranno prelevati da /etc/passwd.

3.2. Comandi

Usate /help per ottenere una lista di tutti i comandi disponibili (/help help è un buon punto di partenza). Sostituite nick con un qualsiasi IRCNICK.

• Innanzitutto, /set NOVICE off

• /nick IRC-mini-HOWTO cambia il vostro IRCNICK in IRC-mini-HOWTO

• /set realname The Linux IRC mini-HOWTO cambia il vostro IRCNAME in The Linux IRC mini-HOWTO (non cambia nella stessa connessione)

• /j #mini-HOWTO entra nel canale #mini-HOWTO

• /j #unmaintained-HOWTO entra nel canale #unmaintained-HOWTO

• /j #mini-HOWTO cambia il canale attivo corrente in #mini-HOWTO

• /msg nick Ciao. manda un messaggio privato a nick contenente Ciao.

• /notice nick (o #mini-HOWTO) Ciao. manda un avviso a nick (o #mini-HOWTO) contenente Ciao.

• /query nick avvia una conversazione privata con nick. /query termina la conversazione privata

• /me ama Linux. invia un’azione al canale o alla conversazione privata corrente contenente IRC-mini-HOWTO ama Linux.

• /dcc chat nick avvia una chat con nick. Usate /msg =nick (si noti il simbolo =) per mandare messaggi alla chat

• /dcc send nick /etc/HOSTNAME invia il file determinato a nick

• /dcc get nick riceve il file offerto da nick

• /part abbandona il canale attivo corrente

• /part #unmaintained-HOWTO abbandona il canale #unmaintained-HOWTO

• /discon disconnette dal corrente IRCSERVER

• /server irc.us.freenet.net connette all’IRCSERVER irc.us.freenet.net

• /quit Bye. termina la vostra sessione IRC con la motivazione Bye.

3.3. Etichetta IRC

ATTENZIONE ATTENZIONE ATTENZIONE ATTENZIONE ATTENZIONE

• Non usate mai IRC come root o qualsiasi altro utente con eccessivi privilegi. Potrebbero accadere pessime cose prima o poi. Siete stati avvisati. È più sicuro se create 2 utenti, uno dei quali solo per usare IRC.

$ man adduser Sui canali di Linux non dovreste:

• Agire come idioti. Se volete essere rispettati, allora prima rispettate gli altri.

• Usare colori (^C). La maggior parte degli utenti Linux non tollera queste manie alla mIRC, e ircII di fatto non le supporta. Lo stesso dovrebbe applicarsi per ANSI.

• Usare tutto maiuscolo, grassetto (^B), invertito (^V), sottolineato (^_), lampeggiante (^F), e la campana (^G). I primi 4 servono ad enfatizzare le parole, non l’intero testo. Gli ultimi 2 sono solo molto fastidiosi.

• Chiedere se potete fare una domanda. Chiedete e basta, ma prima leggete tutta la documentazione disponibile sull’argomento. Iniziate a guardare in /usr/doc/ (file:/usr/doc/) , altrimenti andate a http://www.tldp.org/ o http://www.ibiblio.org/pub/Linux/docs/. E non ripetete la vostra domanda immediatamente. Aspettate almeno 10 minuti. Se non ottenete alcuna risposta è perché nessuno può o vuole aiutarvi. Rispettate la loro scelta, non sono i vostri assistenti personali. Inoltre non mandate mai messaggi privati in massa. È come lo SPAM.

4. I client IRC per console

4.1. ircII

Maintainer: ircII project (<ircii @ eterna.com.au>)

Canale IRC: #ircII (canale ufficiale ?) su EFNet (http://www.efnet.org/server.html)

Scritto originariamente da Michael Sandrof, ircII è incluso nella maggior parte delle distribuzioni Linux. Usa termcap e non dovrebbe essere una scelta per la maggior parte degli utenti, bensì uno standard. Matusalemme ed altri guru lo usano. I meno avventurosi rimpiangono di averlo installato.

Potete ottenere l’ultima versione di ircII da ftp://ircftp.au.eterna.com.au/pub/ircII/. Homepage su http://www.eterna.com.au/ircii/.

4.2. EPIC

Maintainer: EPIC Software Labs (<ircii-epic @ concentric.net>)

Canale IRC: #EPIC su EFNet

Basato su ircII, EPIC (Enhanced Programmable ircII Client) è destinato ai veri scripter ed agli utenti in cerca di libertà. Quando lo lanciate per la prima volta noterete che dovrete davvero imparare le basi dello scripting.

Potete ottenere l’ultima versione di EPIC da ftp://ftp.epicsol.org/pub/epic/. Homepage su http://www.epicsol.org/.

4.3. BitchX

Maintainer: Colten Edwards (<edwards @ bitchx.dimension6.com>)

Canale IRC: #BitchX su EFNet

Basato su ircII ed EPIC, BitchX può essere paragonato al Pine MUA. Un programmone (non significa che non lo dobbiate usare) e largamente usato. La scelta per gli utenti che vogliono un client con utilità incorporate. Può essere compilato con le librerie GNOME usando l’opzione di configure --with-gtk. Non siate sorpresi se tutto ciò che ottenete è invece un XTerm-BitchX.

Linux IRC mini-HOWTO

Potete ottenere l’ultima versione di BitchX da ftp://ftp.bitchx.org/pub/BitchX/source/. Homepage su http://www.bitchx.com/. La homepage di gtkBitchX su http://www.bitchx.org/gtk/.

4.4. irssi

Maintainer: Timo Sirainen (<tss @ iki.fi>) Canale IRC: #irssi su freenode (http://freenode.net/irc_server.shtml) e IRCnet (http://www.ircnet.org/) Timo rilasciò yagIRC circa 3 anni fa. Era un client GUI che usava il toolkit GTK+. L’esercito lo chiamò e i nuovi maintainer non continuarono il lavoro. yagIRC venne accantonato ed iniziò irssi come rimpiazzo. Usava GTK+. Versioni GNOME e curses sarebbero apparse più tardi. Per quanto riguarda la 0.7.90 è solo un client modulare in modalità testo. Supporta lo scripting Perl. Potete ottenere l’ultima versione di irssi da http://irssi.org/?page=download. Homepage su http://irssi.org/.

4.5. Altri client IRC per console

Ci sono alcuni altri client basati su ircII. Blackened http://www.blackened.com/blackened/. Ninja http://ninja.qoop.org/. ScrollZ http://www.scrollz.com/.

5. I client IRC per X Window

5.1. Zircon

Maintainer: Lindsay F. Marshall (<Lindsay.Marshall @ ncl.ac.uk>) Canale IRC: Nessuno ? Scritto in Tcl/Tk, usa le comunicazioni di rete native di Tcl. Potete ottenere l’ultima versione di Zircon da ftp://catless.ncl.ac.uk/pub/. Homepage su http://catless.ncl.ac.uk/Programs/Zircon/.

5.2. KVIrc

Maintainer: Szymon Stefanek (<stefanek @ tin.it>) Canale IRC: #KVIrc su freenode Scritto anche con il toolkit Qt, KVIrc è una bestia. Supporta DCC Voice, linguaggio di scripting incorporato e plugin. Potete ottenere l’ultima versione di KVIrc da http://www.kvirc.net/?id=download. Homepage su http://www.kvirc.net/.

Linux IRC mini-HOWTO

5.3. X-Chat

Maintainer: Peter Zelezny (<zed @ linux.com>) Canale IRC: #Linux su ChatJunkies (http://www.chatjunkies.org/server.html) Usando GTK+ e opzionalmente GNOME, supporta lo scripting Perl e Python. Potete ottenere l’ultima versione di X-Chat da http://xchat.org/download.html. Homepage su http://xchat.org/.

5.4. QuIRC

Maintainer: Patrick Earl (<quirc @ patearl.net>) Canale IRC: #QuIRC su DALnet (http://www.dal.net/server/) Usando Tk, supporta Tcl per lo scripting. Potete ottenere l’ultima versione di QuIRC dalla sua Homepage su http://quirc.org/.

6. I server IRC

6.1. IRCD

Maintainer: sviluppatori di ircd (<ircd-dev @ irc.org>) Canale IRC: #ircd su IRCnet Il demone IRC originale, principalmente usato da IRCnet. Potete ottenere l’ultima versione di IRCD da ftp://ftp.irc.org/irc/server/. Homepage su http://www.irc.org/.

6.2. IRCD-Hybrid

Maintainer: (<ircd-hybrid @ the-project.org>)

Canale IRC: Nessuno ? Principalmente usato da EFNet. Potete ottenere l’ultima versione di IRCD-Hybrid da ftp://ftp.blackened.com/pub/irc/hybrid/. Homepage su http://www.ircd-hybrid.org/.

6.3. ircu

Maintainer: Undernet Coder Committee (<coder-com @ undernet.org>) Canale IRC: #ircu su Undernet (http://www.undernet.org/server.php) Principalmente usato da Undernet. Potete ottenere l’ultima versione di ircu da http://ftp1.sourceforge.net/undernet-ircu/. Homepage su http://coder-com.undernet.org/.

Linux IRC mini-HOWTO

6.4. Bahamut

Maintainer: DALnet Coding Team (<bahamut @ bahamut.net>) Canale IRC: #Bahamut su DALnet Basato su DreamForge e Hybrid, Bahamut è il server di DALnet. Potete ottenere l’ultima versione di Bahamut da http://bahamut.dal.net/download/. Homepage su http://bahamut.dal.net/.

7. I bot per IRC

7.1. eggdrop

Maintainer: (<eggdev @ eggheads.org>)

Canale IRC: #eggdrop su Undernet eggdrop è l’applicazione abilitata Tcl più conosciuta in Rete. È un robot di canale per IRC che può essere adattato a qualsiasi situazione. Potete ottenere l’ultima versione di eggdrop da ftp://ftp.eggheads.org/pub/eggdrop/source/. Homepage su http://www.eggheads.org/.

8. I bouncer per IRC (IRC Proxy)

8.1. bnc

Maintainer: Nessuno ? Canale IRC: Nessuno ? bnc è il bouncer originale. Potete ottenere l’ultima versione di bnc da http://gotbnc.com/cgi-bin/download.cgi. Homepage su http://gotbnc.com/.

8.2. muh

Maintainer: Sebastian Kienzl (<zap @ riot.org>) Canale IRC: Nessuno ? muh è un elegante e versatile strumento per l’irc-bouncing che andrà in IRC non appena verrà eseguito, sorvegliando o tentando di ottenere il vostro nick. Potete ottenere l’ultima versione di muh da http://ftp1.sourceforge.net/muh/. Homepage su http://mind.riot.org/muh/.

Linux IRC mini-HOWTO

8.3. ezbounce

Maintainer: Murat Deligönül (<druglord @ freelsd.org>) Canale IRC: Nessuno ? Le caratteristiche di base di ezbounce includono la protezione della password, l’amministrazione remota, il logging e l’ascolto su porte multiple. Potete ottenere l’ultima versione di ezbounce dalla sua Homepage su http://druglord.freelsd.org/ezbounce/.

9. Installazione

9.1. Client

Tutti i popolari client usano GNU autoconf e GNU automake, quindi sono provvisti di uno script configure. Leggete le istruzioni di installazione dopo aver spacchettato i sorgenti. Assicuratevi di avere le librerie richieste per poterli compilare. Fare cd sorgenti; mkdir objdir; cd objdir; ../configure --help; ../configure le_vostre_opzioni_qui; make; make install (o make install_strip) > ~/sources_install.log è la giusta procedura. Notate anche che per ircII, EPIC, e BitchX dovreste di fatto modificare include/config.h per adattarlo alle vostre esigenze.

9.2. Server

Avete davvero bisogno di aiuto per configurare un server ? ~$ vim ircd.conf

10. Ma cosa è già incluso nella mia distribuzione? (Linux su x86)

10.1. Debian

Canale IRC: #Debian su freenode (irc.debian.org -> irc.freenode.net) Debian (http://www.debian.org/) include troppi strumenti per IRC per elencarli. Potete trovarli nei seguenti siti:

• Debian stable (http://ftp.debian.org/debian/dists/stable/main/binary-i386/).

• Debian unstable (http://ftp.debian.org/debian/dists/unstable/main/binary-i386/) (non ha ricevuto una fase di test sufficiente).

• Assicuratevi inoltre di controllare gli aggiornamenti proposti (http://ftp.debian.org/debian/dists/proposed-updates/). Potrebbero contenere anche dei client per IRC.

10.2. Red Hat

Canale IRC: #RedHat su freenode (irc.redhat.com -> irc.freenode.net)

Linux IRC mini-HOWTO

Red Hat (http://www.redhat.com/) 8.0 include i seguenti client:

• EPIC 1.0.1 (ftp://ftp.redhat.com/pub/redhat/linux/8.0/en/os/i386/RedHat/RPMS/epic-1.0.1-8.i386.rpm).

• KSirc da KDE Network 3.0.3 (ftp://ftp.redhat.com/pub/redhat/linux/8.0/en/os/i386/RedHat/RPMS/ksirc-3.0.3-3.i386.rpm).

• X-Chat 1.8.10 (ftp://ftp.redhat.com/pub/redhat/linux/8.0/en/os/i386/RedHat/RPMS/xchat-1.8.10-8.i386.rpm).

• Red Hat Raw Hide (sviluppo attuale)

• ftp://rawhide.redhat.com/pub/redhat/linux/rawhide/. Usatela a vostro rischio e pericolo.

10.3. Slackware

Canale IRC: #Slackware su freenode Slackware (http://www.slackware.com/) 8.1 include i seguenti client:

• BitchX 1.0c19 (ftp://ftp.slackware.com/pub/slackware/slackware-8.1/slackware/n/bitchx-1.0c19-i386-1.tgz)

• EPIC4 1.0.1 (ftp://ftp.slackware.com/pub/slackware/slackware-8.1/slackware/n/epic4-1.0.1-i386-2.tgz)

• KSirc da KDE Network 3.0.1 (ftp://ftp.slackware.com/pub/slackware/slackware-8.1/slackware/kde/kdenetwork-3.0.1-i386-2.tgz).

• X-Chat 1.8.9 (ftp://ftp.slackware.com/pub/slackware/slackware-8.1/slackware/gnome/xchat-1.8.9-i386-1.tgz).

• Slackware -current (sviluppo attuale)

• ftp://ftp.slackware.com/pub/slackware/slackware-current/. Usatela a vostro rischio e pericolo.

11. Inferno e Paradiso

11.1. Dei (sviluppatori)

• Grazie a tutti gli autori. Senza il loro duro e volontario lavoro non avrei mai scritto e non avremmo mai messo le nostre mani né su Linux né su IRC.

11.2. Santi (collaboratori)

• Si veda http://www.pervalidus.net/documentation/IRC-mini-HOWTO/.

11.3. Angeli (feedback)

• Si veda sopra.

Linux IRC mini-HOWTO

11.4. Diavoli

• Khaled Mardam-Bey deve essere fermato :-)

• ’Se gli idioti potessero volare, IRC sarebbe un aeroporto’. Non so chi l’abbia scritto, ma ha senso. Per quelli tra voi che usano IRC per infastidire le persone ho ordinato un /kill.

12. Diario delle revisioni

• 20021121 - v0.3, quarta bozza