LDP/LDP/howto/docbook/IRC.xml

1004 lines
33 KiB
XML

<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" >
<article id="index">
<articleinfo>
<title>Linux IRC mini-HOWTO</title>
<pubdate>v0.4 7 January, 2005</pubdate>
<author><firstname>Frédéric</firstname><othername>L. W.</othername><surname>Meunier</surname></author>
<authorinitials>fredlwm</authorinitials>
<address><email>http://www.pervalidus.net/contact.html</email></address>
<publisher><publishername>The Linux Documentation Project</publishername></publisher>
<revhistory id="revhistory">
<revision>
<revnumber>0.4</revnumber>
<date>2005-01-07</date>
<authorinitials>fredlwm</authorinitials>
<revremark>
Fifth revision.
</revremark>
</revision>
</revhistory>
<abstract><para>This document aims to describe the basics of IRC and
respective applications for Linux.</para></abstract>
</articleinfo>
<sect1 id="intro">
<title>Introduction</title>
<para>This document is still WIP, and should be treated as such. I'll do
my best to keep it updated and accurate.</para>
<para>The following bibles shouldn't be ignored:</para>
<itemizedlist>
<listitem>
<para>RFC 1459 by Jarkko Oikarinen and Darren Reed was the first about
the Internet Relay Chat Protocol -
<ulink url="http://ftp.isi.edu/in-notes/rfc1459.txt">
<literal>http://ftp.isi.edu/in-notes/rfc1459.txt</literal></ulink></para>
</listitem>
<listitem>
<para>RFC 2810 by Christophe Kalt updates RFC 1459 and describes the
Architecture of the Internet Relay Chat -
<ulink url="http://ftp.isi.edu/in-notes/rfc2810.txt">
<literal>http://ftp.isi.edu/in-notes/rfc2810.txt</literal></ulink></para>
</listitem>
<listitem>
<para>RFC 2811 by Christophe Kalt updates RFC 1459 and describes the
Channel Management of the Internet Relay Chat -
<ulink url="http://ftp.isi.edu/in-notes/rfc2811.txt">
<literal>http://ftp.isi.edu/in-notes/rfc2811.txt</literal></ulink></para>
</listitem>
<listitem>
<para>RFC 2812 by Christophe Kalt updates RFC 1459 and describes the
Client Protocol of the Internet Relay Chat -
<ulink url="http://ftp.isi.edu/in-notes/rfc2812.txt">
<literal>http://ftp.isi.edu/in-notes/rfc2812.txt</literal></ulink></para>
</listitem>
<listitem>
<para>RFC 2813 by Christophe Kalt updates RFC 1459 and describes the
Server Protocol of the Internet Relay Chat -
<ulink url="http://ftp.isi.edu/in-notes/rfc2813.txt">
<literal>http://ftp.isi.edu/in-notes/rfc2813.txt</literal></ulink></para>
</listitem>
</itemizedlist>
<para>Also be sure to check the following links:</para>
<para><ulink url="http://www.irchelp.org/">
<literal>http://www.irchelp.org/</literal></ulink></para>
<sect2>
<title>Objectives</title>
<para>Among others, the objectives of this mini-HOWTO are:</para>
<itemizedlist>
<listitem>
<para>Link important resources about IRC;</para>
</listitem>
<listitem>
<para>Avoid common misuses of IRC by writing an IRC Etiquette;</para>
</listitem>
<listitem>
<para>List popular clients, servers, bots, and bouncers, along with
their maintainers, #channel, small description, download location, home
page, and hints;</para>
</listitem>
<listitem>
<para>List IRC tools available in the latest release of all major
distributions.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Miscellaneous</title>
<para>The latest version of this document is available at
<ulink url="http://www.pervalidus.net/documentation/IRC-mini-HOWTO/">
<literal>http://www.pervalidus.net/documentation/IRC-mini-HOWTO/</literal></ulink></para>
<para>A WIP of the next draft may be available at
<ulink url="http://www.pervalidus.net/documentation/IRC-mini-HOWTO/WIP/">
<literal>http://www.pervalidus.net/documentation/IRC-mini-HOWTO/WIP/</literal></ulink></para>
<para>All drafts are archived at
<ulink url="http://www.pervalidus.net/documentation/IRC-mini-HOWTO/old/">
<literal>http://www.pervalidus.net/documentation/IRC-mini-HOWTO/old/</literal></ulink></para>
<para>Everything <emphasis>may</emphasis> be mirrored at
<ulink url="http://www2.pervalidus.net/documentation/IRC-mini-HOWTO/">
<literal>http://www2.pervalidus.net/documentation/IRC-mini-HOWTO/</literal></ulink></para>
<para>You can e-mail me (in English, French, or Portuguese) with
suggestions about the mini-HOWTO. I know this is far from finished, but
hope you find it useful. Just try to avoid asking me to add your
application, distribution, or site. Most likely I won't, but you can try
to persuade me. Also don't ask for technical support. I have no time to
help everyone.</para>
<para>BTW, someone to work on the protocol and server sides would be
very welcome.</para>
<para>Frédéric L. W. Meunier - <ulink url="http://www.pervalidus.net/contact.html">
<literal>http://www.pervalidus.net/contact.html</literal></ulink></para>
</sect2>
<sect2>
<title>Translations</title>
<para>Proposed translations will be linked here. Although I can write in
Brazilian Portuguese and French, I'm not going to translate this
document in the near future, so feel free to make them.</para>
</sect2>
</sect1>
<sect1 id="about">
<title>About IRC</title>
<para>Excerpt from RFC2810:</para>
<para>The IRC (Internet Relay Chat) protocol is for use with text based
conferencing. It has been developed since 1989 when it was originally
implemented as a mean for users on a BBS to chat amongst
themselves.</para>
<para>First formally documented in May 1993 by RFC 1459 [IRC], the
protocol has kept evolving.</para>
<para>The IRC Protocol is based on the client-server model, and is well
suited to running on many machines in a distributed fashion. A typical
setup involves a single process (the server) forming a central point for
clients (or other servers) to connect to, performing the required
message delivery/multiplexing and other functions.</para>
<para>This distributed model, which requires each server to have a copy
of the global state information, is still the most flagrant problem of
the protocol as it is a serious handicap, which limits the maximum size
a network can reach. If the existing networks have been able keep
growing at an incredible pace, we must thank hardware manufacturers for
giving us ever more powerful systems.</para>
</sect1>
<sect1 id="bhistory">
<title>Brief History of IRC</title>
<para>The first IRC daemon was written in the summer of 1998 by Jarkko
"WiZ" Oikarinen of the University of Oulu, Finland. Originally intended
as a BBS-style replacement for Talk, IRC quickly spread; first through
Scandinavian, and then throughout the rest of the world. Within a year
there were over 40 servers linked up.</para>
<para>At this stage there was only one network, and so a name
unnecessary - it was simply 'IRC'; but as the size of the network grew,
disagreements began to form. IRC was a pretty chaotic medium with
netsplits, nick collisions, and channel takeovers all commonplace; and
it was inevitable that at some stage users would split off to form their
own networks.</para>
<para>One of the first major splits was in 1992, when Wildthang created
the Undernet network. Originally intended as a test network, Undernet
quickly grew, gaining a reputation as a friendly network due to it's
introduction of services to protect users and channels.</para>
<para>Two years later, Undernet itself forked, the new networking
becoming DALnet. DALnet's founder, dalvenjah, took Undernet's concept of
services to a new level, introducing support for nick registration,
G-lines, and a host of other features.</para>
<para>Meanwhile on IRCnet (as the original IRC network was now known),
feelings where running high. IRCnet was opposed to the concept of
channel/nick 'ownership' which Undernet and DALnet had introduced, but
clearly something had to be done about the constant channel takeovers
that were occuring. Two alternative ideas were proposed: nick/channel
delay, and timestamping (see http://www.irc-help.org for information),
but there was bitter dispute over which to implement.</para>
<para>In July of 1996, IRCnet split, with most of the North American
servers leaving to form EFnet, leaving IRCnet as a mostly European
network.</para>
<para>Since then, hundreds of other smaller networks have formed, most
using modified versions of either DALnet, EFnet, IRCnet, or Undernet's
ircd.</para>
</sect1>
<sect1 id="beginners">
<title>Beginner's guide on using IRC</title>
<para>The standard IRC client is the original ircII. It's part of most
Linux distributions, and most other text-based IRC clients (notably
BitchX and EPIC) are derived from it.</para>
<sect2>
<title>Running the ircII program</title>
<para>It's easy to use ircII. Let's say you want to connect to
irc.freenode.net as mini-HOWTO.</para>
<para>At the command line, type:</para>
<para>$ irc mini-HOWTO irc.freenode.net</para>
<para>You can also export variables, so you won't need to use them at
the command line. For bash and zsh users:</para>
<para>$ export IRCNICK=mini-HOWTO IRCSERVER=irc.freenode.net</para>
<para>For csh and tcsh users, replace <emphasis>export</emphasis> with
<emphasis>setenv</emphasis>.</para>
<para>Add them to your shell profile (e.g. ~/.bash_profile or
~/.zprofile) when you're done.</para>
<para>Other common variables are IRCNAME and IRCUSER, to respectively
set the ircname part of a /whois and username as seen at the first line
'mini-HOWTO is ~username@hostname (ircname)'. Keep in mind that IRCUSER
won't work if you run an ident daemon (default on most distributions).
If you still need to change your username (not recommended, and I hope
you're not using IRC logged as root !), install oidentd from <ulink url="http://ojnk.sourceforge.net/">
<literal>http://ojnk.sourceforge.net/</literal></ulink> . To configure,
read the oidentd.conf man page. Finally run '/usr/local/sbin/oidentd -g
nobody -u nobody'. Add this to your startup scripts (e.g.
/etc/rc.d/rc.local) when you're done.</para>
<para>If not set, IRCNICK, IRCUSER, and IRCNAME will be retrieved from
/etc/passwd .</para>
</sect2>
<sect2>
<title>Commands</title>
<para>Use /help to get a list on all available commands (/help help is a
good start). Replace <emphasis>nick</emphasis> by any IRCNICK.</para>
<itemizedlist>
<listitem>
<para>First, /set NOVICE off</para>
</listitem>
<listitem>
<para>/nick IRC-mini-HOWTO changes your IRCNICK to
<emphasis>IRC-mini-HOWTO</emphasis></para>
</listitem>
<listitem>
<para>/set realname The Linux IRC mini-HOWTO changes your IRCNAME to
<emphasis>The Linux IRC mini-HOWTO</emphasis> (doesn't change on the
same connection)</para>
</listitem>
<listitem>
<para>/j #mini-HOWTO joins channel
<emphasis>#mini-HOWTO</emphasis></para>
</listitem>
<listitem>
<para>/j #unmaintained-HOWTO joins
channel<emphasis>#unmaintained-HOWTO</emphasis></para>
</listitem>
<listitem>
<para>/j #mini-HOWTO changes the active current channel to
<emphasis>#mini-HOWTO</emphasis></para>
</listitem>
<listitem>
<para>/msg <emphasis>nick</emphasis> Hi. sends a private message to
<emphasis>nick</emphasis> containing <emphasis>Hi.</emphasis></para>
</listitem>
<listitem>
<para>/notice <emphasis>nick</emphasis> (or #mini-HOWTO) Hi. sends a
notice to <emphasis>nick</emphasis> (or #mini-HOWTO) containing
<emphasis>Hi.</emphasis></para>
</listitem>
<listitem>
<para>/query <emphasis>nick</emphasis> starts a private conversation
with <emphasis>nick</emphasis>. /query ends the private
conversation</para>
</listitem>
<listitem>
<para>/me uses <emphasis>Linux.</emphasis> sends an action to the
current channel or query containing <emphasis>IRC-mini-HOWTO loves
Linux.</emphasis></para>
</listitem>
<listitem>
<para>/dcc chat <emphasis>nick</emphasis> starts a chat with
<emphasis>nick</emphasis>. Use /msg =<emphasis>nick</emphasis> (notice
the <emphasis>=</emphasis>) to send messages over the chat</para>
</listitem>
<listitem>
<para>/dcc send <emphasis>nick</emphasis> /etc/HOSTNAME sends the given
file to <emphasis>nick</emphasis></para>
</listitem>
<listitem>
<para>/dcc get <emphasis>nick</emphasis> receives the file offered by
<emphasis>nick</emphasis></para>
</listitem>
<listitem>
<para>/part leaves the active current channel</para>
</listitem>
<listitem>
<para>/part #unmaintained-HOWTO leaves channel
<emphasis>#unmaintained-HOWTO</emphasis></para>
</listitem>
<listitem>
<para>/discon disconnects from current IRCSERVER</para>
</listitem>
<listitem>
<para>/server irc.oftc.net connects to IRCSERVER
<emphasis>irc.oftc.net</emphasis></para>
</listitem>
<listitem>
<para>/quit Bye. quits your IRC session with a reason
<emphasis>Bye.</emphasis></para>
</listitem>
</itemizedlist>
<para>Most of the above commands (including the use of environmental
variables) will also work in other console-based clients.</para>
</sect2>
<sect2>
<title>IRC Etiquette</title>
<para>WARNING WARNING WARNING WARNING WARNING</para>
<itemizedlist>
<listitem>
<para>Never use IRC logged as root or any user with excessive
privileges. Bad things may happen sooner or later. You were warned. It's
highly recommended you create an user only to use IRC.</para>
</listitem>
</itemizedlist>
<para>$ man adduser</para>
<para>On Linux channels you shouldn't:</para>
<itemizedlist>
<listitem>
<para>Act as an idiot. If you want to be respected, then first respect
each other.</para>
</listitem>
<listitem>
<para>Use colors (^C). Most Linux users don't tolerate such mIRC crazes,
and ircII doesn't really support them. The same should apply for
ANSI.</para>
</listitem>
<listitem>
<para>Use full CAPS, bold (^B), reverse (^V), underline (^_), blink
(^F), and bell (^G). The first 4 are here to emphasize words, not the
whole text. The last 2 are just very annoying. </para>
</listitem>
<listitem>
<para>Ask if you can ask a question. Just ask, but first read all
documentation available on the subject. Start looking at <ulink url="file:/usr/share/doc/">
<literal>/usr/doc/</literal></ulink> (on
some systems it may be <ulink url="file://usr/doc/">
<literal>/usr/doc/</literal></ulink>, otherwise go to <ulink url="http://www.tldp.org/">
<literal>http://www.tldp.org/</literal></ulink> or <ulink url="http://www.ibiblio.org/pub/Linux/docs/">
<literal>http://www.ibiblio.org/pub/Linux/docs/</literal></ulink> . And
don't repeat your question immediately. Wait at least 10 minutes. If you
don't get any answer it's because nobody knows or wants to help. Respect
their choice, they're not your personal assistant. Also never send mass
private messages. It's like spam.</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="console">
<title>Console IRC Clients</title>
<sect2>
<title>ircII</title>
<para><emphasis>Maintainer:</emphasis> ircII project</para>
<para><emphasis>IRC Channel:</emphasis> #ircII (official channel ?) on
EFNet <ulink url="http://www.efnet.org/?module=servers">
<literal>http://www.efnet.org/?module=servers</literal></ulink></para>
<para>Originally written by Michael Sandrof, ircII comes with most Linux
distributions. It uses termcap and shouldn't be a choice for most users,
but is a standard. Mathusalem and other gurus will use it. Less ventured
will regret to have it installed.</para>
<para>You can get the latest version of ircII from
<ulink url="ftp://ircii.warped.com/pub/ircII/">
<literal>ftp://ircii.warped.com/pub/ircII/</literal></ulink> .
Homepage at <ulink url="http://www.eterna.com.au/ircii/">
<literal>http://www.eterna.com.au/ircii/</literal></ulink></para>
</sect2>
<sect2>
<title>EPIC</title>
<para><emphasis>Maintainer:</emphasis> EPIC Software Labs</para>
<para><emphasis>IRC Channel:</emphasis> #EPIC on EFNet</para>
<para>Based on ircII, EPIC (Enhanced Programmable ircII Client) is meant
for real scripters and users searching freedom. When you start it for
the first time you'll notice that you should really learn the basics of
scripting.</para>
<para>You can get the latest version of EPIC from <ulink url="http://prbh.org/?page=ftp">
<literal>http://prbh.org/?page=ftp</literal></ulink> . Homepage at
<ulink url="http://www.epicsol.org/">
<literal>http://www.epicsol.org/</literal></ulink></para>
</sect2>
<sect2>
<title>BitchX</title>
<para><emphasis>Maintainer:</emphasis> Colten Edwards</para>
<para><emphasis>IRC Channel:</emphasis> #BitchX on EFNet</para>
<para>Originally a script for ircII, BitchX is a popular client intended
to reduce the need for scripting by including a huge array of features
in the client itself (too many features for even experienced users to
remember). Many consider BitchX bloatware (not necessarily a bad thing),
but it is very popular amongst users and opers alike.</para>
<para>You can get the latest version of BitchX from <ulink url="http://www.bitchx.org/download.php">
<literal>http://www.bitchx.org/download.php</literal></ulink> . Homepage
at <ulink url="http://www.bitchx.org/">
<literal>http://www.bitchx.org/</literal></ulink></para>
</sect2>
<sect2>
<title>irssi</title>
<para><emphasis>Maintainer:</emphasis> Timo Sirainen</para>
<para><emphasis>IRC Channel:</emphasis> #irssi on freenode - <ulink url="http://freenode.net/irc_servers.shtml">
<literal>http://freenode.net/irc_servers.shtml</literal></ulink> and
IRCnet - <ulink url="http://www.ircnet.org/">
<literal>http://www.ircnet.org/</literal></ulink></para>
<para>Timo released yagIRC in 1997. It was a GUI client using the GTK+
toolkit. The army called on him a year later, and the new maintainers
wouldn't do the job. yagIRC passed away and he started irssi as a
replacement. It used GTK+. GNOME and curses versions would appear later.
As of 0.7.90 it's only a modular text mode client. Supports Perl
scripting.</para>
<para>You can get the latest version of irssi from <ulink url="http://irssi.org/?page=download">
<literal>http://irssi.org/?page=download</literal></ulink> . Homepage at
<ulink url="http://irssi.org/">
<literal>http://irssi.org/</literal></ulink></para>
</sect2>
<sect2>
<title>Other Console IRC Clients</title>
<para>There are a few others ircII based clients.</para>
<para>Blackened - <ulink url="ftp://ftp.blackened.com/pub/irc/blackened/">
<literal>ftp://ftp.blackened.com/pub/irc/blackened/</literal></ulink></para>
<para>Ninja - <ulink url="ftp://qoop.org/ninja/">
<literal>ftp://qoop.org/ninja/</literal></ulink></para>
<para>ScrollZ - <ulink url="http://www.scrollz.com/">
<literal>http://www.scrollz.com/</literal></ulink></para>
</sect2>
</sect1>
<sect1 id="xfree">
<title>X Window IRC Clients</title>
<sect2>
<title>Zircon</title>
<para><emphasis>Maintainer:</emphasis> Lindsay F. Marshall</para>
<para><emphasis>IRC Channel:</emphasis> None ?</para>
<para>Written in Tcl/Tk, uses the native network communications of
Tcl.</para>
<para>You can get the latest version of Zircon from <ulink url="ftp://catless.ncl.ac.uk/pub/">
<literal>ftp://catless.ncl.ac.uk/pub/</literal></ulink> . Homepage at
<ulink url="http://catless.ncl.ac.uk/Programs/Zircon/">
<literal>http://catless.ncl.ac.uk/Programs/Zircon/</literal></ulink></para>
</sect2>
<sect2>
<title>KVIrc</title>
<para><emphasis>Maintainer:</emphasis> Szymon Stefanek</para>
<para><emphasis>IRC Channel:</emphasis> #KVIrc on freenode</para>
<para>Also written with the Qt toolkit, KVIrc is a beast. Supports DCC
Voice, built-in scripting language, and plugins.</para>
<para>You can get the latest version of KVIrc from <ulink url="http://www.kvirc.net/?id=download">
<literal>http://www.kvirc.net/?id=download</literal></ulink> . Homepage
at <ulink url="http://www.kvirc.net/">
<literal>http://www.kvirc.net/</literal></ulink></para>
</sect2>
<sect2>
<title>X-Chat</title>
<para><emphasis>Maintainer:</emphasis> Peter Zelezny</para>
<para><emphasis>IRC Channel:</emphasis> #Linux on ChatJunkies - <ulink url="http://www.chatjunkies.org/servers.php">
<literal>http://www.chatjunkies.org/servers.php</literal></ulink></para>
<para>Using GTK+ and optionally GNOME, supports Perl and Python
scripting.</para>
<para>You can get the latest version of X-Chat from <ulink url="http://xchat.org/download/">
<literal>http://xchat.org/download/</literal></ulink> . Homepage at
<ulink url="http://xchat.org/">
<literal>http://xchat.org/</literal></ulink></para>
</sect2>
<sect2>
<title>QuIRC</title>
<para><emphasis>Maintainer:</emphasis> Patrick Earl</para>
<para><emphasis>IRC Channel:</emphasis> #QuIRC on DALnet - <ulink url="http://www.dal.net/servers/index.php3">
<literal>http://www.dal.net/servers/index.php3</literal></ulink></para>
<para>Using Tk, supports Tcl for scripting.</para>
<para>You can get the latest version of QuIRC from his Homepage at
<ulink url="http://quirc.org/">
<literal>http://quirc.org/</literal></ulink></para>
</sect2>
</sect1>
<sect1 id="servers">
<title>IRC Servers</title>
<sect2>
<title>IRCD</title>
<para><emphasis>Maintainer:</emphasis> ircd developers</para>
<para><emphasis>IRC Channel:</emphasis> #ircd on IRCnet</para>
<para>The original IRC daemon, mainly used by IRCnet. Recent versions
have attempted to improve on channel security through the introduction
of additional channel types (eg !linux), and channel modes.</para>
<para>You can get the latest version of IRCD from <ulink url="ftp://ftp.irc.org/irc/server/">
<literal>ftp://ftp.irc.org/irc/server/</literal></ulink>. Homepage at
<ulink url="http://www.irc.org/">
<literal>http://www.irc.org/</literal></ulink></para>
</sect2>
<sect2>
<title>IRCD-Hybrid</title>
<para><emphasis>Maintainer:</emphasis></para>
<para><emphasis>IRC Channel:</emphasis> None ?</para>
<para>Mainly used by EFNet. Hybrid's focus is on speed and efficiency,
since it lacks many of the services offered by other networks. In
keeping with EFnet's ethos that opers should not be concerned with
channel matters, Hybrid doesn't allow opers to set modes on channels, or
join channels from which they are banned. It is only relatively recently
that Hybrid offered the ability for a service bot to reop an opless
channel.</para>
<para>You can get the latest version of IRCD-Hybrid from <ulink url="http://ftp1.sourceforge.net/ircd-hybrid/">
<literal>http://ftp1.sourceforge.net/ircd-hybrid/</literal></ulink> .
Homepage at <ulink url="http://www.ircd-hybrid.org/">
<literal>http://www.ircd-hybrid.org/</literal></ulink></para>
</sect2>
<sect2>
<title>ircu</title>
<para><emphasis>Maintainer:</emphasis> Undernet Coder Committee</para>
<para><emphasis>IRC Channel:</emphasis> #ircu on Undernet - <ulink url="http://www.undernet.org/servers.php">
<literal>http://www.undernet.org/servers.php</literal></ulink></para>
<para>Mainly used by Undernet. Following a series of DDoS attacks in
2001/2002, ircu has offered the ability for users and servers to hide
their addresses. Many of the /stats commands have also (sadly) been
removed from Undernet.</para>
<para>You can get the latest version of ircu from <ulink url="http://ftp1.sourceforge.net/undernet-ircu/">
<literal>http://ftp1.sourceforge.net/undernet-ircu/</literal></ulink> .
Homepage at <ulink url="http://coder-com.undernet.org/">
<literal>http://coder-com.undernet.org/</literal></ulink></para>
</sect2>
<sect2>
<title>Bahamut</title>
<para><emphasis>Maintainer:</emphasis> DALnet Coding Team</para>
<para><emphasis>IRC Channel:</emphasis> #Bahamut on DALnet</para>
<para>Based on DreamForge and Hybrid, Bahamut is the DALnet server.
Features include channel and nick registration, support for nicknames up
to 15(?) characters, and a memo service.</para>
<para>You can get the latest version of Bahamut from <ulink url="http://bahamut.dal.net/download.php">
<literal>http://bahamut.dal.net/download.php</literal></ulink> .
Homepage at <ulink url="http://bahamut.dal.net/">
<literal>http://bahamut.dal.net/</literal></ulink></para>
</sect2>
</sect1>
<sect1 id="bots">
<title>IRC Bots</title>
<sect2>
<title>Eggdrop</title>
<para><emphasis>Maintainer:</emphasis></para>
<para><emphasis>IRC Channel:</emphasis> #eggdrop on Undernet</para>
<para>Generally considered to be <emphasis>the</emphasis> IRC bot,
Eggdrop offers robust channel protection, and is highly customisable
through the use of Tcl scripting.</para>
<para>Multiple eggdrops can be linked together forming a botnet which
can span multiple channels, or even networks. On networks without
channel registration services, eggdrops are common feature in almost all
large channels.</para>
<para>You can get the latest version of eggdrop from <ulink url="http://www.eggheads.org/downloads/">
<literal>http://www.eggheads.org/downloads/</literal></ulink> . Homepage
at <ulink url="http://www.eggheads.org/">
<literal>http://www.eggheads.org/</literal></ulink></para>
</sect2>
<sect2>
<title>EnergyMech</title>
<para><emphasis>Maintainer: Proton</emphasis></para>
<para><emphasis>IRC Channel:</emphasis> None</para>
<para>Early versions of EnergyMech (or emech as it is frequently
called), earned a reputation as something of a script kiddie's bot,
through it's ability to run multiple bots from a single process (thus
allowing less desirable users to load up hundreds of vhosted clones from
a shell account). This is a reputation emech does not deserve, since it
is really a rather good channel protection bot, and recent versions of
emech have restricted this capacity (to max 4 bots). A popular
alternative to Eggdrop.</para>
<para>You can get the latest version of EnergyMech from <ulink url="http://www.energymech.net/download.html">
<literal>http://www.energymech.net/download.html</literal></ulink> . Homepage
at <ulink url="http://www.energymech.net/">
<literal>http://www.energymech.net/</literal></ulink></para>
</sect2>
</sect1>
<sect1 id="bouncers">
<title>IRC Bouncers (IRC Proxy)</title>
<sect2>
<title>bnc</title>
<para><emphasis>Maintainer:</emphasis> James Seter</para>
<para><emphasis>IRC Channel:</emphasis> None ?</para>
<para>bnc is the original bouncer.</para>
<para>You can get the latest version of bnc from <ulink url="http://gotbnc.com/download.html">
<literal>http://gotbnc.com/download.html</literal></ulink> .
Homepage at <ulink url="http://gotbnc.com/">
<literal>http://gotbnc.com/</literal></ulink></para>
</sect2>
<sect2>
<title>muh</title>
<para><emphasis>Maintainer:</emphasis> Sebastian Kienzl</para>
<para><emphasis>IRC Channel:</emphasis> None ?</para>
<para>muh is a smart and versatile irc-bouncing tool that will also go
on IRC as soon as it's launched, guarding or attempting to get your
nick.</para>
<para>You can get the latest version of muh from <ulink url="http://ftp1.sourceforge.net/muh/">
<literal>http://ftp1.sourceforge.net/muh/</literal></ulink> . Homepage
at <ulink url="http://seb.riot.org/muh/">
<literal>http://seb.riot.org/muh/</literal></ulink></para>
</sect2>
<sect2>
<title>ezbounce</title>
<para><emphasis>Maintainer:</emphasis> Murat Deligönül</para>
<para><emphasis>IRC Channel:</emphasis> None ?</para>
<para>ezbounce's basic features include password protection, remote
administration, logging and listening on multiple ports.</para>
<para>You can get the latest version of ezbounce from his Homepage at
<ulink url="http://druglord.freelsd.org/ezbounce/">
<literal>http://druglord.freelsd.org/ezbounce/</literal></ulink></para>
</sect2>
</sect1>
<sect1 id="install">
<title>Installation</title>
<sect2>
<title>Clients</title>
<para>All popular clients use <emphasis>GNU</emphasis> Autoconf and
<emphasis>GNU</emphasis> Automake, thus come with a configure script.
Read the installation instructions after you unpack the sources. Be sure
you have the required libraries in order to compile. Doing cd
<emphasis>name_of_the_created_directory</emphasis>; ./configure --help;
./configure <emphasis>your_options_here</emphasis>; make; make install
&gt; ~/sources_install.log is the right procedure. Also note that for
ircII, EPIC, and BitchX you should really edit include/config.h to suit
your needs.</para> </sect2>
<sect2>
<title>Servers</title>
<para>Do you really need help to set up a server ?</para>
<para>~$ touch ircd.conf</para>
</sect2>
</sect1>
<sect1 id="distribution">
<title>But what's already included in my distribution ? (Linux on
x86)</title>
<sect2>
<title>Debian</title>
<para>IRC Channel: #Debian on freenode (irc.debian.org ->
irc.freenode.net)</para>
<para>Debian - <ulink url="http://www.debian.org/">
<literal>http://www.debian.org/</literal></ulink>
includes too many IRC tools to list. You can find them at the following
places:</para>
<itemizedlist>
<listitem>
<para>Debian stable - <ulink url="http://ftp.debian.org/debian/dists/stable/main/binary-i386/">
<literal>http://ftp.debian.org/debian/dists/stable/main/binary-i386/</literal></ulink></para>
</listitem>
<listitem>
<para>Debian unstable (didn't receive enough testing)
<ulink url="http://ftp.debian.org/debian/dists/unstable/main/binary-i386/">
<literal>http://ftp.debian.org/debian/dists/unstable/main/binary-i386/</literal></ulink></para>
</listitem>
<listitem>
<para>Also be sure to check the proposed updates - <ulink url="http://ftp.debian.org/debian/dists/proposed-updates/">
<literal>http://ftp.debian.org/debian/dists/proposed-updates/</literal></ulink>
. It may contain IRC clients as well.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Fedora (Red Hat)</title>
<para>IRC Channel: #RedHat on freenode (irc.redhat.com ->
irc.freenode.net)</para>
<para><ulink url="http://fedora.redhat.com/">Fedora</ulink> Core 3
includes the following clients:</para>
<itemizedlist>
<listitem>
<para>EPIC4 1.0.1 - <ulink url="http://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/epic-1.0.1-18.i386.rpm">
<literal>http://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/epic-1.0.1-18.i386.rpm</literal></ulink></para>
</listitem>
<listitem>
<para>KSirc from KDE Network 3.3.0 - <ulink url="http://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/kdenetwork-3.3.0-5.i386.rpm">
<literal>http://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/kdenetwork-3.3.0-5.i386.rpm</literal></ulink></para>
</listitem>
<listitem>
<para>X-Chat 2.4.0 - <ulink url="http://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/xchat-2.4.0-3.i386.rpm">
<literal>http://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/xchat-2.4.0-3.i386.rpm</literal></ulink></para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem>
<para>Rawhide (current development)</para>
</listitem>
<listitem>
<para><ulink url="http://download.fedora.redhat.com/pub/fedora/linux/core/development/">
<literal>http://download.fedora.redhat.com/pub/fedora/linux/core/development/</literal></ulink>
. Use at your own risk.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Slackware</title>
<para>IRC Channel: #Slackware on freenode and OFTC - <ulink url="http://www.oftc.net/">
<literal>http://www.oftc.net/</literal></ulink></para>
<para>Slackware - <ulink url="http://www.slackware.com/">
<literal>http://www.slackware.com/</literal></ulink> 10.0 includes the
following clients:</para>
<itemizedlist>
<listitem>
<para>BitchX 1.1 - <ulink url="ftp://ftp.slackware.com/pub/slackware/slackware-10.0/slackware/n/bitchx-1.1-i486-1.tgz">
<literal>ftp://ftp.slackware.com/pub/slackware/slackware-10.0/slackware/n/bitchx-1.1-i486-1.tgz</literal></ulink></para>
</listitem>
<listitem>
<para>EPIC4 2.0 - <ulink url="ftp://ftp.slackware.com/pub/slackware/slackware-10.0/slackware/n/epic4-2.0-i486-1.tgz">
<literal>ftp://ftp.slackware.com/pub/slackware/slackware-10.0/slackware/n/epic4-2.0-i486-1.tgz</literal></ulink></para>
</listitem>
<listitem>
<para>irssi 0.8.9 - <ulink url="ftp://ftp.slackware.com/pub/slackware/slackware-10.0/slackware/n/irssi-0.8.9-i486-3.tgz">
<literal>ftp://ftp.slackware.com/pub/slackware/slackware-10.0/slackware/n/irssi-0.8.9-i486-3.tgz</literal></ulink></para>
</listitem>
<listitem>
<para>KSirc from KDE Network 3.2.3 - <ulink url="ftp://ftp.slackware.com/pub/slackware/slackware-10.0/slackware/kde/kdenetwork-3.2.3-i486-1.tgz">
<literal>ftp://ftp.slackware.com/pub/slackware/slackware-10.0/slackware/kde/kdenetwork-3.2.3-i486-1.tgz</literal></ulink></para>
</listitem>
<listitem>
<para>X-Chat 2.0.9 - <ulink url="ftp://ftp.slackware.com/pub/slackware/slackware-10.0/slackware/gnome/xchat-2.0.9-i486-1.tgz">
<literal>ftp://ftp.slackware.com/pub/slackware/slackware-10.0/slackware/gnome/xchat-2.0.9-i486-1.tgz</literal></ulink></para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem>
<para>Slackware -current (current development)</para>
</listitem>
<listitem>
<para><ulink url="ftp://ftp.slackware.com/pub/slackware/slackware-current/">
<literal>ftp://ftp.slackware.com/pub/slackware/slackware-current/</literal></ulink>
. Use at your own risk.</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="thanks">
<title>Hell and Paradise</title>
<sect2>
<title>Gods (developers)</title>
<itemizedlist>
<listitem>
<para>Thanks to all authors. Without their hard and volunteer work I'd
never write it, and we'd never get our hands on Linux nor IRC.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Saints (contributors)</title>
<itemizedlist>
<listitem>
<para>See <ulink url="http://www.pervalidus.net/documentation/IRC-mini-HOWTO/">
<literal>http://www.pervalidus.net/documentation/IRC-mini-HOWTO/</literal></ulink></para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Angels (feedback)</title>
<itemizedlist>
<listitem>
<para>See above.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Devils</title>
<itemizedlist>
<listitem>
<para>Khaled Mardam-Bey must be stopped <emphasis>:-)</emphasis></para>
</listitem>
<listitem>
<para>'If idiots could fly, IRC would be an airport'. I don't know who
wrote that, but it makes sense. For those of you using IRC to annoy
people I ordered a /kill.</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="history">
<title>Revision History</title>
<itemizedlist>
<listitem><para>20050107 - v0.4, fifth draft</para>
</listitem>
</itemizedlist>
</sect1>
</article>