Linux IRC mini-HOWTO
v0.3 11 Novembre 2002
FrédéricL. W.Meunier
fredlwm
linuxdoc @ pervalidus.net
The Linux Documentation Project
0.3
2002-11-21
fredlwm
Quarta revisione.
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).
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/.
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.
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)
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.
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.
Guida all'uso di IRC per principianti
Il client IRC standard è il client ircII originale. È incluso nella
maggior parte delle distribuzioni Linux.
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!),
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.
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.
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/ , 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.
I client IRC per console
ircII
Maintainer: ircII project (ircii @ eterna.com.au)
Canale IRC: #ircII (canale ufficiale ?) su EFNet
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/.
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/.
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.
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/.
irssi
Maintainer: Timo Sirainen (tss @ iki.fi)
Canale IRC: #irssi su freenode e IRCnet
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/.
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/.
I client IRC per X Window
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/.
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/.
X-Chat
Maintainer: Peter Zelezny (zed @ linux.com)
Canale IRC: #Linux su ChatJunkies
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/.
QuIRC
Maintainer: Patrick Earl (quirc @ patearl.net)
Canale IRC: #QuIRC su DALnet
Usando Tk, supporta Tcl per lo scripting.
Potete ottenere l'ultima versione di QuIRC dalla sua Homepage su
http://quirc.org/.
I server IRC
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/.
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/.
ircu
Maintainer: Undernet Coder Committee (coder-com @ undernet.org)
Canale IRC: #ircu su Undernet
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/.
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/.
I bot per IRC
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/.
I bouncer per IRC (IRC Proxy)
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/.
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/.
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/.
Installazione
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.
Server
Avete davvero bisogno di aiuto per configurare un server ?
~$ vim ircd.conf
Ma cosa è già incluso nella mia
distribuzione? (Linux su x86)
Debian
Canale IRC: #Debian su freenode (irc.debian.org ->
irc.freenode.net)
Debian include troppi
strumenti per IRC per elencarli. Potete trovarli nei seguenti siti:
Debian stable.
Debian unstable (non ha ricevuto una fase di test sufficiente).
Assicuratevi inoltre di controllare gli aggiornamenti
proposti. Potrebbero contenere anche dei client per IRC.
Red Hat
Canale IRC: #RedHat su freenode (irc.redhat.com -> irc.freenode.net)
Red Hat 8.0 include i seguenti client:
EPIC 1.0.1.
KSirc da KDE Network 3.0.3.
X-Chat 1.8.10.
Red Hat Raw Hide (sviluppo attuale)
ftp://rawhide.redhat.com/pub/redhat/linux/rawhide/. Usatela a vostro rischio e pericolo.
Slackware
Canale IRC: #Slackware su freenode
Slackware 8.1 include i seguenti client:
BitchX 1.0c19
EPIC4 1.0.1
KSirc da KDE Network 3.0.1.
X-Chat 1.8.9.
Slackware -current (sviluppo attuale)
ftp://ftp.slackware.com/pub/slackware/slackware-current/.
Usatela a vostro rischio e pericolo.
Inferno e Paradiso
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.
Santi (collaboratori)
Si veda http://www.pervalidus.net/documentation/IRC-mini-HOWTO/.
Angeli (feedback)
Si veda sopra.
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.
Diario delle revisioni
20021121 - v0.3, quarta bozza