Merge trunk.
[jelmer/ctrlproxy.git] / doc / ctrlproxy_config.5.xml
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
3
4 <refentry id="ctrlproxy_config.5" xmlns:xi="http://www.w3.org/2003/XInclude">
5
6 <refmeta>
7         <refentrytitle>ctrlproxy_config</refentrytitle>
8         <manvolnum>5</manvolnum>
9 </refmeta>
10
11 <refnamediv>
12         <refname>ctrlproxy_config</refname>
13         <refpurpose>Configuration file for ctrlproxy</refpurpose>
14 </refnamediv>
15
16 <refsect1>
17         <title>DESCRIPTION</title>
18 <para>
19 Ctrlproxy uses a configuration directory called <filename>.ctrlproxy</filename>
20 that lives inside the users' home directory. The main configuration 
21 file lives in this directory and is called <filename>config</filename>. It 
22 is an ini-style configuration file with sections and key-value pairs.
23 </para>
24
25 <para>
26 This manpage discusses the variables that can be set in this file 
27 in a standard ControlProxy installation.
28 </para>
29
30 </refsect1>
31
32 <refsect1>
33         <title>SETTINGS</title>
34
35 <refsect2>
36         <title>[global]</title>
37
38         <para>The [global] section contains some of the most important settings.</para>
39
40         <xi:include href="config-reference.xml"/>
41
42 </refsect2>
43
44 <refsect2>
45         <title>[admin]</title>
46
47         <para>If the [admin] section is present, ControlProxy will 
48                 create a fake network with a control channel that can 
49                 be used for administration.
50         </para>
51
52         <variablelist>
53                 <varlistentry>
54                         <term>no_privmsg</term>
55                         <listitem><para>
56                                Don't interpret messages to the 
57                                user <emphasis>ctrlproxy</emphasis> as administration commands.
58                         </para>
59                         <para>
60                                 This option would be needed if you want to be able to 
61                                send messages to an actual user with the 
62                                nickname <emphasis>ctrlproxy</emphasis>.
63                 </para></listitem>
64                 </varlistentry>
65         </variablelist>
66 </refsect2>
67
68 <refsect2>
69         <title>[log-custom]</title>
70
71         <para>
72                 If the [log-custom] section is present, ControlProxy 
73                 will write a log to <filename>~/.ctrlproxy/log-custom/</filename>
74         </para>
75 </refsect2>
76
77 <refsect2>
78         <title>[log-irssi]</title>
79
80         <para>If the [log-irssi] section is present, ControlProxy 
81                 will write irssi-style log files to <filename>~/.ctrlproxy/log-irssi/NETWORK/CHANNEL</filename>.
82         </para>
83
84         <variablelist>
85                 <varlistentry>
86                         <term>logfile</term>
87                         <listitem><para>
88                                        Directory in which logs will be written (defaults 
89                                        to <filename>~/.ctrlproxy/log-irssi/</filename>.
90                         </para></listitem>
91                 </varlistentry>
92         </variablelist>
93 </refsect2>
94
95 <refsect2>
96         <title>[auto-away]</title>
97
98         <para>
99                 Add this section to automatically change the state of the 
100                 user to AWAY when the user is idle for a specific username.</para>
101
102         <variablelist>
103                 <varlistentry>
104                         <term>message</term>
105                         <listitem><para>
106                                         Away message to set.
107                         </para></listitem>
108                 </varlistentry>
109                 <varlistentry>
110                         <term>client_limit</term>
111                         <listitem><para>
112                                         Integer variable. After idle for the specified time,
113                                         the connection will only be changed to away if there are
114                                         not more than client_limit connected. The default is -1
115                                         (always set idle no matter how many clients there are).
116                                         To achive the behavior of the old variable <term>only_noclient</term>,
117                                         set client_limit to 0.
118                         </para></listitem>
119                 </varlistentry>
120
121                 <varlistentry>
122                         <term>time</term>
123                         <listitem><para>
124                                         Number of seconds of idleness after which the 
125                                         connection should be set to away. Default is 10 minutes.
126                         </para></listitem>
127                 </varlistentry>
128         </variablelist>
129
130
131
132
133 </refsect2>
134
135 <refsect2>
136         <title>[socks]</title>
137
138         <para>
139                 If the [socks] section is present, ControlProxy will listen 
140                 for SOCKS connections.</para>
141
142         <variablelist>
143                 <varlistentry>
144                         <term>port</term>
145                         <listitem><para>
146                                         TCP/IP port to listen on for new connections.
147                         </para></listitem>
148                 </varlistentry>
149                 <varlistentry>
150                         <term>allow</term>
151                         <listitem><para>
152                                         Semicolon-separeted list of usernames and passwords allowed 
153                                         to connect. Separate user name and password by a colon.
154                         </para></listitem>
155                 </varlistentry>
156         </variablelist>
157
158 </refsect2>
159
160 <refsect2>
161         <title>[nickserv]</title>
162
163         <variablelist>
164                 <varlistentry>
165                         <term>learn</term>
166                 </varlistentry>
167         </variablelist>
168 </refsect2>
169
170 <refsect2>
171         <title>[listener]</title>
172
173         <variablelist>
174                 <varlistentry>
175                         <term>auto</term>
176                         <listitem><para>
177                                         Automatically start a listener on a new port for 
178                                         each network that ctrlproxy connects to.</para></listitem>
179                 </varlistentry>
180                 <varlistentry>
181                         <term>autoport</term>
182                         <listitem><para>
183                                         First port of port range used when adding new listeners.
184                         </para></listitem>
185                 </varlistentry>
186
187                 <varlistentry>
188                         <term>password</term>
189                         <listitem><para>
190                                         Password that the user should specify to log in.
191                         </para></listitem>
192                 </varlistentry>
193
194                 <!--
195                 <varlistentry>
196                         <term>ssl</term>
197                         <listitem><para>
198                                         Specifies whether the incoming connections will be SSL.
199                         </para></listitem>
200                 </varlistentry>
201
202                 <varlistentry>
203                         <term>network</term>
204                         <listitem><para>
205                                         The network this listener will connect clients to, if 
206                                         not specified otherwise.
207                                 </para>
208                                 <para>
209                                         If no network is set, clients will have to select 
210                                         a network upon connect using the <command>CONNECT</command>
211                                         command.
212                                 </para>
213                         </listitem>
214                 </varlistentry>-->
215         </variablelist>
216 </refsect2>     
217
218 </refsect1>
219
220 <refsect1>
221         <title>REPLICATION</title>
222
223         <para>When a client connects, ctrlproxy will send information about 
224                 the channels the user is on. Optionally, it can also send 
225                 some of the messages that were received before the client connected 
226                 (replication).
227         </para>
228
229         <para>
230                 The <parameter>replication</parameter> variable determines what 
231                 kind of replication is used. At the moment, the following 
232                 values are supported:
233         </para>
234
235         <variablelist>
236                 <varlistentry>
237                         <term>none</term>
238                         <listitem><para>No replication.</para></listitem>
239                 </varlistentry>
240
241                 <varlistentry>
242                         <term>highlight</term>
243                         <listitem><para>
244                                 Send messages that one of a set of regular expressions. 
245                                 The regular expressions should be specified in 
246                                 variable.</para></listitem>
247                 </varlistentry>
248
249                 <varlistentry>
250                         <term>lastdisconnect</term>
251                         <listitem><para>
252                                         Send all messages since the last client disconnected.
253                         </para></listitem>
254                 </varlistentry>
255
256                 <varlistentry>
257                         <term>simple</term>
258                         <listitem><para>
259                                         Send all messages since the last message said by 
260                                         the user.</para></listitem>
261                 </varlistentry>
262         </variablelist>
263
264 </refsect1>
265
266 <refsect1>
267         <title>SEE ALSO</title>
268
269         <para>ctrlproxy (1), config.example, http://ctrlproxy.vernstok.nl/</para>
270
271 </refsect1>
272
273 <refsect1>
274         <title>LICENSE</title>
275
276 <para>
277 This program is free software; you can redistribute it and/or modify
278 it under the terms of the GNU General Public License as published by
279 the Free Software Foundation; either version 2 of the License, or
280 (at your option) any later version.
281 </para>
282
283 <para>
284 This program is distributed in the hope that it will be useful, but
285 <emphasis>WITHOUT ANY WARRANTY</emphasis> without even the implied warranty of
286 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
287 General Public License for more details.
288 </para>
289
290 <para>
291 You should have received a copy of the GNU General Public License 
292 along with this program; if not, write to the Free Software
293 Foundation, Inc., 59 Temple PLace, Suite 330, Boston, MA  02111-1307  USA
294 </para>
295
296 </refsect1>
297
298 <refsect1>
299         <title>BUGS</title>
300
301         <para>
302                 CtrlProxy currently does not warn about unknown configuration 
303                 parameters.
304         </para>
305 </refsect1>
306
307 <refsect1>
308         <title>AUTHOR</title>
309
310 <para>
311 <ulink url="mailto:jelmer@nl.linux.org">Jelmer Vernooij</ulink>
312 </para>
313 </refsect1>
314 </refentry>