Linux IRC mini-HOWTO

Frédéric L. W. Meunier

Vertaald door: Ellen Bokhorst

Dit document richt zich op het beschrijven van de beginselen van IRC en respectieve applicaties voor Linux.

Inhoudsopgave

1. Introductie............................................................................................................................................................1 2. Over IRC..............................................................................................................................................................2 3. Beginnergids over het gebruik van IRC................................................................................................................2 4. Console IRC Clients .............................................................................................................................................4 5. X Window IRC Clients.........................................................................................................................................5 6. IRC Servers ..........................................................................................................................................................6 7. IRC Bots ..............................................................................................................................................................7 8. IRC Bouncers (IRC Proxy) ..................................................................................................................................7 9. Installatie .............................................................................................................................................................8 10. Wat is er reeds opgenomen in mijn distributie? (Linux op een x86) ..................................................................8 11. Hel en paradijs....................................................................................................................................................9 12. Revisie Historie................................................................................................................................................. 10

1. Introductie

Dit document is nog steeds een werk in uitvoering, en zou als zodanig behandeld moeten worden. Ik zal mijn best doen het bijgewerkt en accuraat te houden. De volgende bijbels kun je maar beter niet negeren:

• RFC1459 door Jarkko Oikarinen en Darren Reed was het eerste over het Internet Relay Chat Protocol. Het is te vinden op http://ftp.isi.edu/in-notes/rfc1459.txt.

• RFC2811 door Christophe Kalt updates RFC1459 en het beschrijft het Channel Management van Internet Relay Chat. Het is te vinden op http://ftp.isi.edu/in-notes/rfc2811.txt.

• RFC2812 door Christophe Kalt updates RFC1459 en het beschrijft het Client Protocol van Internet Relay Chat. Het is te vinden op http://ftp.isi.edu/in-notes/rfc2812.txt.

• RFC2813 door Christophe Kalt updates RFC1459 en beschrijft het Server Protocol van Internet Relay Chat. Het is te vinden op http://ftp.isi.edu/in-notes/rfc2813.txt.

Bekijk ook het volgende: http://www.irchelp.org/.

Linux IRC mini-HOWTO

1.1. Doelen

De doelen van deze mini-HOWTO zijn onder andere:

• Links van belangrijke bronnen over IRC:

• Het voorkomen van algemeen misbruik van IRC door het schrijven van een IRC Etiquette;

• Het geven van een opsomming van populaire clients, servers, bots, en bouncers, met de beheerders, het #kanaal, een korte beschrijving, de lokatie waar de software kan worden gedownload, de homepage en wat aanwijzingen:

• Het geven van een opsomming van de beschikbare IRC-tools in de laatste release van alle belangrijke distributies.

1.2. Diversen

De laatste versie van dit document is beschikbaar op http://www.pervalidus.net/docs/IRC-mini-HOWTO/.

Een werk in uitvoering van het volgende concept kan beschikbaar zijn op http://www.pervalidus.net/docs/IRCmini-HOWTO/WIP/.

Alle concepten worden gearchiveerd op http://www.pervalidus.net/docs/IRC-mini-HOWTO/old/.

Je kunt me mailen (in ’t Engels, Frans of Portugees) met suggesties over de mini-HOWTO. Ik weet dat dit nog lang niet klaar is, maar ik hoop dat je er iets aan hebt. Vraag me gewoon niet om je toepassing of site toe te voegen. Zeer waarschijnlijk doe ik dat niet. Vraag me ook niet om technische ondersteuning. Ik heb geen tijd om iedereen te helpen.

BTW, iemand om aan het protocol en de server sides te werken zou zeer welkom zijn om mee te doen aan het project.

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

1.3. Vertalingen

Voorgestelde vertalingen zullen hier worden gelinkt. Alhoewel ik in ’t Braziliaans, Portugees en Frans kan schrijven, ben ik niet van plan dit document in de nabije toekomst te gaan vertalen, dus ga gerust je gang.

2. Over IRC

Uittreksel van RFC2810:

Het IRC (Internet Relay Chat) protocol is voor gebruik met op tekst gebaseerde besprekingen. Er is sinds 1989 gewerkt aan de ontwikkeling ervan toen het oorspronkelijk werd geïmplementeerd als een middel voor gebruikers om op een BBS met elkaar te chatten. Voor het eerst formeel gedocumenteerd in mei 1993 door RFC 1459 [IRC], bleef het protocol zich verder ontwikkelen.

Het IRC Protocol is gebaseerd op het client-server model, en het is zeer geschikt voor de uitvoering op meerdere machines op een gedistribueerde wijze. Een typische setup beslaat een enkel proces (de server) welke een centraal punt vormt voor clients (of andere servers) om een verbinding mee te maken, waarbij de noodzakelijke message delivery/multiplexing en andere functies worden uitgevoerd.

Dit gedistribueerde model, wat vereist dat elke server een kopie van de globale status informatie heeft, is nog steeds het meest opvallende probleem van het protocol, aangezien het een ernstige handicap is, wat de maximum grootte beperkt die een netwerk kan reiken. Als de bestaande netwerken het is gelukt op ongelofelijke snelheid te blijven groeien, dan moeten we de hardwarefabrikanten bedanken voor dat ze ons nog krachtiger systemen gaven.

Linux IRC mini-HOWTO

3. Beginnergids over het gebruik van IRC

De standaard IRC client is de oorspronkelijke ircII client. Het maakt onderdeel uit van de meeste Linux distributies.

3.1. Uitvoeren van het programma ircII

Het gebruik van ircII is eenvoudig. Stel dat we een verbinding willen maken met irc.openprojects.net als mini-HOWTO. Als opdrachtregel typ je: $ irc mini-HOWTO irc.openprojects.net Je kunt ook variabelen exporteren, zodat je ze niet hoeft te gebruiken in de opdrachtregel: $ export IRCNICK=mini-HOWTO IRCSERVER=irc.openprojects.net Voeg ze toe aan je shellprofile (b.v. ~/.bash_profile of ~/.zprofile) wanneer je klaar bent. Andere gebruikelijke variabelen zijn IRCNAME en IRCUSER, om respectievelijk het ircnaam deel van een /whois en een gebruikersnaam zoals in ’mini-HOWTO is ~gebruikersnaam@hostnaam (ircnaam)’ in te stellen. Houd in gedachten dat IRCUSER niet zal werken als je een ident daemon draait (dit is standaard zo bij de meeste distributies). Als je nog steeds je gebruikersnaam wilt wijzigen (niet aan te bevelen, en ik hoop dat je IRC niet ingelogd als root gebruikt!) installeer dan oidentd van http://ojnk.sourceforge.net/, maak /etc/identd.spoof aan met een lijst met gebruikers die hun ident mogen spoofen, en ~/.ispoof met hun reply (b.v. reply). Start tenslotte ’/usr/local/sbin/oidentd -g nobody -N -s -u nobody’ op. Voeg dit toe aan je opstartscripts (b.v. /etc/rc.d/rc.local) wanneer je daarmee klaar bent. Als IRCNICK, IRCUSER en IRCNAME niet zijn ingesteld, worden ze opgehaald uit /etc/passwd .

3.2. Opdrachten

Gebruik /help om een lijst te krijgen met alle beschikbare opdrachten (/help help is een goede start). Vervang nick door een IRCNICK.

• Als eerste, /set NOVICE off

• /nick IRC-mini-HOWTO wijzigt je IRCNICK in IRC-mini-HOWTO

• /set realname De Linux IRC mini-HOWTO wijzigt je IRCNAME in De Linux IRC mini-HOWTO (niet wijzigen op dezelfde connectie)

• /j #LinPeople joins channel #LinPeople

• /j #Slackware joins channel #Slackware

• /j #LinPeople wijzigt het huidige actieve kanaal in #LinPeople

• /msg nick Hi. stuurt een privé-bericht naar nick met als inhoud Hi.

• /notice nick (of #LinPeople) Hi. stuurt een melding naar nick (of #LinPeople) met als inhoud Hi.

• /query nick start een privé-conversatie met nick. /query eindigt de privé-conversatie

• /me loves Linux. stuurt een actie naar het huidige kanaal of query met daarin IRC-mini-HOWTO loves Linux.

• /dcc chat nick start een chat met nick. Gebruik /msg =nick (let op de =) om berichten over de chat te versturen • /dcc send nick /etc/HOSTNAME stuurt het gegeven bestand naar nick

• /dcc get nick ontvangt het aangeboden bestand van nick

• /part verlaat het huidige actieve kanaal

Linux IRC mini-HOWTO

• /part #Slackware verlaat kanaal #Slackware

• /discon verbreek de verbinding met de huidige IRCSERVER

• /server irc.dal.net maakt een verbinding met IRCSERVER irc.dal.net

• /quit Bye. verlaat de IRC-sessie met een reden Bye.

3.3. IRC Etiquette

WAARSCHUWING WAARSCHUWING WAARSCHUWING WAARSCHUWING WAARSCHUWING

• Gebruik IRC nooit ingelogd als root of gebruiker met buitensporige privileges. Vroeg of laat kunnen er nare dingen gebeuren. Je bent gewaarschuwd. Het is veilig als je 2 gebruikers aanmaakt, en één daarvan alleen IRC gebruikt.

$ man adduser Op Linux kanalen kun je maar beter niet:

• Je als een idioot gedragen. Als je wilt worden gerespecteerd, respecteer dan eerst elkaar.

• Gebruik maken van kleuren (^C). De meeste Linux gebruikers tolereren dergelijke mIRC gekkigheden niet, en ircII ondersteunt het niet echt. Hetzelfde zou moeten gelden voor ANSI.

• Volledig gebruik van hoofdletters, vet (^B), reverse (^V), onderstreept (^_), geknipper (^F), of bell (^G). De eerste 4 zijn er om woorden te benadrukken, niet de gehele tekst. De laatste 2 zijn gewoon zeer ergerlijk.

• Stel je vraag als je kunt. Vraag het gewoon, maar lees wel eerst alle beschikbare documentatie over het onderwerp. Begin met te zoeken in /usr/doc/ (file:/usr/doc/) , ga anders naar http://www.linuxdoc.org/ of http://www.ibiblio.org/pub/Linux/docs/. En herhaal je vraag niet onmiddellijk. Wacht op z’n minst 10 minuten. Als je geen antwoord krijgt, dan is dat omdat niemand het weet of wil helpen. Respecteer hun keuze, het zijn je persoonlijke assistenten niet. Stuur ook nooit massa’s privé-meldingen. Dat is net zo iets als SPAM.

4. Console IRC Clients

4.1. ircII

Beheerder: ircII project (<ircii @ eterna.com.au>) IRC-kanaal: #ircII (officiële kanaal ?) op EFNet (http://www.efnet.org/servers.html) Oorspronkelijk geschreven door Michael Sandrof, ircII wordt met de meeste Linux distributies meegeleverd. Het maakt gebruik van termcap en zal voor de meeste gebruikers niet de juiste keuze zijn, maar het is een standaard. Mathusalem en andere goeroes zullen het gebruiken. Wat minder avonturistisch ingestelde mensen zullen er spijt van krijgen dat ze het hebben geïnstalleerd. De laatste versie van ircII kun je ophalen van ftp://ircftp.au.eterna.com.au/pub/ircII/. Homepage op http://www.eterna.com.au/ircii/.

4.2. EPIC

Beheerder: EPIC Software Labs (<ircii-epic @ concentric.net>) IRC-kanaal: #EPIC on EFNet

Linux IRC mini-HOWTO

Gebaseerd op ircII, EPIC (Enhanced Programmable ircII Client) is bedoeld voor echte scriptschrijvers en gebruikers op zoek naar vrijheid. Wanneer je het voor de eerste keer opstart, zul je bemerken dat je echt de beginselen in scripting moet leren. Je kunt de laatste versie van EPIC ophalen vanaf ftp://ftp.epicsol.org/pub/epic/. Homepage op http://www.epicsol.org/.

4.3. BitchX

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

IRC-kanaal: #BitchX op EFNet Gebaseerd op ircII en EPIC, BitchX zou kunnen worden vergeleken met de Pine MUA. Bloatware (betekent niet dat je het niet zou moeten gebruiken) en het wordt veel gebruikt. De keuze voor gebruikers die een client willen met ingebouwde faciliteiten. Het kan worden gebouwd met de GNOME library’s door gebruik te maken van de optie --with-gtk. Wees niet verbaasd als je in plaats daarvan alleen een XTerm-BitchX krijgt. Je kunt de laatste versie van BitchX ophalen vanaf ftp://ftp.bitchx.com/pub/BitchX/source/. Homepage op http://www.bitchx.com/. Homepage van gtkBitchX op http://www.bitchx.org/gtk/.

4.4. irssi

Beheerder: Timo Sirainen (<tss @ iki.fi>) IRC-kanaal: #irssi op OPN (http://openprojects.net/irc_servers.shtml) en IRCnet (http://www.ircnet.org/) Timo gaf yagIRC ~3 jaar geleden uit. Het was een GUI client die gebruik maakte van de GTK+ toolkit. Hij moest het leger in en de nieuwe beheerders wilden de taak niet klaren. yagIRC ging over en hij startte als vervanging irssi. Het maakt gebruik van GTK+. GNOME en curses versies zouden later uitkomen. Tot nu aan versie 0.7.90 is het slechts een modulaire tekstclient. Ondersteunt perl-scripts. Je kunt de laatste versie van irssi ophalen vanaf http://irssi.org/?page=download. Homepage op http://irssi.org/.

5. X Window IRC Clients

5.1. Zircon

Beheerder: Lindsay F. Marshall (<Lindsay.Marshall @ ncl.ac.uk>) IRC-kanaal: Geen ? Geschreven in Tcl/Tk, maakt gebruik van de native netwerkcommunicaties van Tcl. Je kunt de laatste versie van Zircon ophalen vanaf ftp://catless.ncl.ac.uk/pub/. Homepage op http://catless.ncl.ac.uk/Programs/Zircon/.

5.2. Sula PrimeriX II

Beheerder: Tano Fotang (<fotang @ yahoo.com>) IRC-kanaal: Geen ? Maakt gebruik van GTK+ of XForms, en Guile. Je kunt de laatste versie van Sula PrimeriX II ophalen vanaf http://spx.linuxatwork.at/#where-to-get-it. Homepage op http://spx.linuxatwork.at/.

Linux IRC mini-HOWTO

5.3. xIrc

Beheerder: Robert Borrell (<borrell @ pobox.com>) IRC-kanaal: Geen ? Maakt gebruik van de Qt toolkit. xIrc heeft minder features dan KVIrc. Een voordeel is dat het sneller is. Je kunt de laatste versie van xIrc ophalen vanaf http://www.linuxlots.com/~xirc/download.html. Homepage op http://www.linuxlots.com/~xirc/.

5.4. KVIrc

Beheerder: Szymon Stefanek (<stefanek @ tin.it>) IRC-kanaal: #KVIrc op OPN Ook geschreven met de Qt toolkit, is KVIrc een beest. Ondersteunt DCC Voice, ingebouwde scripttaal, en plugins. Je kunt de laatste versie van KVIrc ophalen vanaf http://www.kvirc.net/download.html. Homepage op http://www.kvirc.net/.

5.5. X-Chat

Beheerder: Peter Zelezny (<zed @ linux.com>) IRC-kanaal: #Linux op ChatJunkies (http://www.chatjunkies.org/servers.html) Maakt gebruik van GTK+ en optioneel GNOME, ondersteunt Perl en Python scripts. Je kunt de laatste versie van X-Chat ophalen vanaf http://xchat.org/download.html. Homepage op http://xchat.org/.

5.6. QuIRC

Beheerder: Patrick Earl (<quirc @ patearl.net>) IRC-kanaal: #QuIRC op DALnet (http://www.dal.net/servers/) Maakt gebruik van Tk, ondersteunt Tcl voor scripts. Je kunt de laatste versie van QuIRC ophalen vanaf http://quirc.org/.

6. IRC Servers

6.1. IRCD

Beheerder: ircd developers(<ircd-dev @ irc.org>) IRC-kanaal: #ircd op IRCnet De oorspronkelijke IRC daemon, hoofdzakelijk in gebruik door IRCnet. Je kunt de laatste versie van IRCD ophalen vanaf ftp://ftp.irc.org/irc/server/. Homepage op http://www.irc.org/.

Linux IRC mini-HOWTO

6.2. IRCD-Hybrid

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

IRC-kanaal: Geen ? Hoofdzakelijk in gebruik door EFNet. Je kunt de laatste versie van IRCD-Hybrid ophalen vanaf ftp://ftp.blackened.com/pub/irc/hybrid/. Homepage op http://www.ircd-hybrid.net/.

6.3. ircu

Beheerder: Undernet Coder Committee (<coder-com @ undernet.org>) IRC-kanaal: #ircu op Undernet (http://www.undernet.org/servers.shtml) Hoofdzakelijk in gebruik door Undernet. Je kunt de laatste versie van ircu ophalen vanaf ftp://ftp.coder-com.undernet.org/ircu/. Homepage op http://codercom.undernet.org/.

6.4. Bahamut

Beheerder: DALnet Coding Team (<bahamut @ bahamut.net>) IRC-kanaal: #Bahamut op DALnet Gebaseerd op DreamForge en Hybrid, is Bahamut de DALnet server. Je kunt de laatste versie van Bahamut ophalen vanaf http://bahamut.dal.net/download/. Homepage op http://bahamut.dal.net/.

7. IRC Bots

7.1. eggdrop

Beheerder: (<eggdev @ eggheads.org>)

IRC-kanaal: #eggdrop on Undernet eggdrop is de bekendste Tcl geactiveerde applicatie op het Net. Het is een channel robot voor IRC dat aan elke situatie kan worden aangepast. Je kunt de laatste versie van eggdrop ophalen vanaf ftp://ftp.eggheads.org/pub/eggdrop/source/. Homepage op http://www.eggheads.org/.

8. IRC Bouncers (IRC Proxy)

8.1. bnc

Beheerder: Geen ? IRC-kanaal: Geen ? bnc is de oorspronkelijke bouncer.

Linux IRC mini-HOWTO

Je kunt de laatste versie van bnc ophalen vanaf LinuxBerg (http://www.linuxberg.com/files/files/console/servers/bnc2.6.4.tar.gz).

8.2. muh

Beheerder: Sebastian Kienzl (<zap @ riot.org>) IRC-kanaal: Geen ? muh is een slim en veelzijdig irc-bouncing tool dat ook op IRC zal gaan zodra het is opgestart, je nick in de gate houdend of proberend te krijgen. Je kunt de laatste versie van muh ophalen vanaf http://mind.riot.org/muh/download.rt. Homepage op http://mind.riot.org/muh/.

8.3. ezbounce

Beheerder: Murat Deligönül (<druglord @ freelsd.org>) IRC-kanaal: Geen ? ezbounce’s basisfeatures zijn o.a. wachtwoordprotectie, remote beheer, logging en luisteren op meerdere poorten. Je kunt de laatste versie van ezbounce ophalen van zijn homepage op http://druglord.freelsd.org/ezbounce/.

9. Installatie

9.1. Clients

Alle populaire client gebruiken GNU autoconf en GNU automake, dus worden geleverd met een configure script. Lees de installatie-instructies nadat je de sources hebt uitgepakt. Zorg dat je de vereiste library’s heb die nodig zijn om het te bouwen. Doe een cd sources;mkdir objdir;cd objdir; ../configure --help;../configure hier_je_opties;make;make install (of make install_strip) > ~/sources_install.log is de juiste procedure. Houdt ook in de gaten dat je voor ircII, EPIC, en BitchX je echt het bestand include/config.h moet wijzigen om het aan te passen naar je wensen.

9.2. Servers

Heb je echt hulp nodig om een server op te zetten? ~$ vim ircd.conf

10. Wat is er reeds opgenomen in mijn distributie? (Linux op een x86)

10.1. Debian

IRC-kanaal: #Debian op OPN Debian (http://www.debian.org/) bevat te veel IRC tools om weer te geven. Je kunt ze op de volgende plaatsen aantreffen:

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

• Debian unstable (ftp://ftp.debian.org/debian/dists/unstable/main/binary-i386/net/) (niet voldoende getest).

Linux IRC mini-HOWTO

• Bekijk ook de voorgestelde updates (ftp://ftp.debian.org/debian/dists/proposed-updates/). Ook hier kunnen IRC-clients zijn te vinden.

• Debian non-free (applicaties met een beperkende licentie) bevat cIRCus (ftp://ftp.debian.org/debian/dists/stable/nonfree/binary-i386/net/circus_0.43-1.deb).

10.2. RedHat

IRC-kanaal: #RedHat op OPN (niet officieel) In RedHat (http://www.redhat.com/) 7.1 zijn de volgende clients opgenomen:

• ircII 4.4Z (ftp://ftp.redhat.com/pub/redhat/redhat-7.1-en/os/i386/RedHat/RPMS/ircii-4.4Z-4.i386.rpm).

• KSirc vanaf KDE Network 2.1.1 (ftp://ftp.redhat.com/pub/redhat/redhat-7.1-en/os/i386/RedHat/RPMS/kdenetwork-2.1.1-1.i386.rpm).

• X-Chat 1.6.3 (ftp://ftp.redhat.com/pub/redhat/redhat-7.1-en/os/i386/RedHat/RPMS/xchat-1.6.3-4.i386.rpm).

• In RedHat Powertools 7.1 zijn de volgende clients opgenomen:

• BitchX (ftp://ftp.redhat.com/pub/redhat/redhat-7.1-en/powertools/i386/RedHat/RPMS/BitchX-1.0c17-6.i386.rpm) and gtkBitchX (ftp://ftp.redhat.com/pub/redhat/redhat-7.1-en/powertools/i386/RedHat/RPMS/gtkBitchX-1.0c17-6.i386.rpm) 1.0c17.

• EPIC4 2000 (ftp://ftp.redhat.com/pub/redhat/redhat-7.1-en/powertools/i386/RedHat/RPMS/epic-4_2000-6.i386.rpm).

• KVIrc 2.1.0 (ftp://ftp.redhat.com/pub/redhat/redhat-7.1-en/powertools/i386/RedHat/RPMS/kvirc-2.1.0-2.i386.rpm).

• tkIRC 2.43 (ftp://ftp.redhat.com/pub/redhat/redhat-7.1-en/powertools/i386/RedHat/RPMS/tkirc-2.43-2.noarch.rpm).

• RedHat RawHide (huidige ontwikkeling)

• ftp://rawhide.redhat.com/pub/redhat/linux/rawhide/. Gebruik op eigen risico.

10.3. Slackware

IRC-kanaal: #Slackware op OPN Slackware (http://www.slackware.com/) 8.0 bevat de volgende clients:

• BitchX 1.0c18 (ftp://ftp.slackware.com/pub/slackware/slackware-8.0/slakware/n1/bitchx.tgz)

• EPIC4 1.0.1 (ftp://ftp.slackware.com/pub/slackware/slackware-8.0/slakware/n1/epic4.tgz)

• KSirc from KDE Network 2.1.1 (ftp://ftp.slackware.com/pub/slackware/slackware-8.0/slakware/kde1/knetwork.tgz).

• X-Chat 1.6.4 (ftp://ftp.slackware.com/pub/slackware/slackware-8.0/slakware/gtk1/xchat.tgz).

• Slackware -current (huidige ontwikkeling)

• ftp://ftp.slackware.com/pub/slackware/slackware-current/. Gebruik op eigen risico.

Linux IRC mini-HOWTO

11. Hel en paradijs

11.1. Goden

• Met dank aan alle auteurs. Zonder hun harde werk en vrijwilligerswerk zou ik dit nooit hebben geschreven, en zouden we nooit aan Linux (en IRC) zijn gekomen.

11.2. Heiligen

• Plaats hier je naam.

11.3. Engelen

• Plaats hier je naam.

11.4. Duivels

• Khaled Mardam-Bey moet worden gestopt :)

• ’If idiots could fly, IRC would be an airport’. Ik weet niet wie dat schreef, maar het is wel zinnig. Voor degenen die IRC gebruiken om te ergeren, maak dat je weg komt, bestelde ik een /kill voor de Kerst.

12. Revisie Historie

• 20010701 - v0.2, derde concept