Add 'everything' target
[jelmer/ctrlproxy.git] / doc / introduction.xml
1 <chapter id="introduction">
2         <title>Introduction</title>
3
4         <sect1>
5                 <title>Why ctrlproxy?</title>
6
7 <para>
8 CtrlProxy is a project I started because I got bored with running irssi in 
9 screen on my server. My server isn't very fast and that meant 
10 when it was on high load ircing was getting pretty hard. I could 
11 of course run irssi on my workstation, but my workstation isn't on 
12 24/7 and some people depend on the channel logs I generate.
13 </para>
14
15 <para>
16 The structure of ctrlproxy is very modular and it is easily extendible.
17 </para>
18
19 </sect1>
20
21 <sect1><title>What is ctrlproxy?</title>
22
23         <para>Ctrlproxy is a so-called IRC proxy or BNC (bouncer). It keeps a 
24                 permanent connection to one or more IRC servers. The user can then 
25                 connect and disconnect his/her IRC client to the bouncer without actually disconnecting from the 'real' IRC server.</para>
26
27          <mediaobject>
28             <imageobject role="html">
29                       <imagedata format="PNG" align="center" fileref="overview2.png"/>
30         </imageobject>
31                 <imageobject role="fo">
32                         <imagedata format="EPS" align="center" fileref="overview2.eps"/>
33                 </imageobject>
34         </mediaobject>
35         
36 </sect1>
37
38 <sect1><title>Features</title>
39
40 <itemizedlist>
41         <listitem><para>Connect to one server with many clients under one nick transparently</para></listitem>
42  <listitem><para>Connect to multiple servers using only one process</para></listitem>
43  <listitem><para>CTCP support when no client is attached</para></listitem>
44  <listitem><para>irssi-style logging support</para></listitem>
45  <listitem><para>Transparent detaching and attaching of clients</para></listitem>
46  <listitem><para>Password support</para></listitem>
47  <listitem><para>Replication support (from memory)</para></listitem>
48  <listitem><para>Auto-Away support</para></listitem>
49  <listitem><para>Keeping track of events occuring </para></listitem>
50  <listitem><para>Direct, inetd-style interfacing with local IRC servers (such as bitlbee)</para></listitem>
51  <listitem><para>Responses to queries are only sent to the originator of the query</para></listitem>
52  <listitem><para>SSL/GNUTLS support</para></listitem>
53 </itemizedlist>
54
55 </sect1>
56
57 <sect1>
58         <title>Requirements</title>
59
60 <itemizedlist>
61         <listitem><para>libpopt</para></listitem>
62         <listitem><para>GNU glib</para></listitem>
63         <listitem><para>libxml2</para></listitem>
64 </itemizedlist>
65
66         <para>Some of the modules have additional requirements. Read the 
67         chapters about those specific modules for details.</para>
68
69 </sect1>
70
71 </chapter>