-
Notifications
You must be signed in to change notification settings - Fork 0
/
bip.conf.5
389 lines (311 loc) · 11.9 KB
/
bip.conf.5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
.TH BIP.CONF 5 "10 October 2005"
.SH NAME
bip.conf \- Configuration file for BIP IRC Proxy
.SH DESCRIPTION
A BIP configuration file consists of a list of variable affectations or
sections. It contains the global options, networks definitions, users
configuration, users connections declarations. Each section is described in
this manpage.
The bip.conf skeleton should be something like this :
.nf
option1 = value;
option2 = value;
...
network {
net_opt = value;
...
server { ... };
server { ... };
};
...
user {
user_opt = value;
...
connection {
conn_opt = value;
...
channel { ... };
};
connection {
conn_opt = value;
...
channel { ... };
channel { ... };
...
};
};
.fi
.SH SYNTAX RULES
The syntax is quite simple :
.br
\- everything after the \fB#\fP character is ignored (comments)
.br
\- each variable affectation must be finished with a \fB;\fP
.br
\- each section { } must be finished with a \fB;\fP
.br
If you use vim you will probably want to use vim with the provided
\fBbip.vim\fP syntax file to avoid common syntax and lexical mistakes. You can
also find an example configuration file along with BIP.
.SH GLOBAL OPTIONS
.TP
\fBclient_side_ssl\fP (default: \fBfalse\fP)
When true, clients will need to connect to BIP using SSL.
You'll also need to generate a SSL cert/key pair in <bipdir>/bip.pem (usually
~/.bip/bip.pem or /var/lib/bip/bip.pem) or <client_side_ssl_pem> if defined.
.TP
\fBclient_side_ssl_pem\fP (default: \fB<bipdir>/bip.pem\fP)
Set this to the full path of the cert/key pair bip should use to accept clients
SSL connections.
.TP
\fBip\fP
Ignored for the time being.
.TP
\fBlog\fP (default: \fBtrue\fP)
When true, the log system is enabled. Else, BIP will not write a single log
file. Backlog is then stored into memory.
.TP
\fBlog_system\fP (default: \fBtrue\fP)
When true, system messages such as connection errors are logged. Else, BIP will not write system logs.
.TP
\fBlog_format\fP (default: \fB%u/%n/%Y-%m/%c.%d.log\fP)
Determines the log file name depending on :
.br
\- %u username (name in user { }; section)
.br
\- %n network name (name in connection { }; section)
.br
\- %c channel name
.br
\- %Y 4 digits year
.br
\- %m 2 digits month
.br
\- %d 2 digits day
.TP
\fBlog_level\fP (default: \fB1\fP)
Specify the verbosity of BIP from 0 (fatal errors) to 6 (huge debug output)
.TP
\fBlog_root\fP (default: \fBHOME/.bip/logs\fP)
Main log directory. Sub-directories and files will be created from there
depending on \fBlog_format\fP.
.TP
\fBlog_sync_interval\fP (default: \fB5\fP)
Defines the delay between each logfiles sync to the disk. Must be a non null
positive integer.
.TP
\fBpid_file\fP (default: \fBHOME/.bip/bip.pid\fP)
Defines the file where BIP's pid will be stored. BIP checks if this file exists
and if the pid is still alive upon startup. If true, BIP refuses to start.
.TP
\fBport\fP (default: \fB7778\fP)
The port on which BIP should listen for clients.
.SH NETWORK SECTION
This section allows you to declare a network for use in the connection
sections. It may appear more than once in the configuration file.
.TP
\fBssl\fP (default: \fBfalse\fP)
If true, BIP will connect to this network using SSL only. You cannot mix
SSL servers and non-SSL servers in the same network section. This is by choice,
we believe it's a bad idea.
.TP
\fBname\fP
It's the network name used in the \fBconnection section\fP. Please note that
this value is not used in \fBlog_format\fP, since it uses the variable
\fBname\fP from the \fBconnection section\fP.
.SH SERVER SUB-SECTION
BIP will cycle through the server sections list when reconnecting to a network.
It may appear more than once in a network section.
.TP
\fBhost\fP
The server's hostname or IP address.
.TP
\fBport\fP (default: \fB6667\fP)
The server port to connect to.
.SH USER SECTION
This section allows you to define the users allowed to connect to BIP and their
options. It may appear more than once in the configuration file.
.TP
\fBadmin\fP (default: \fBfalse\fP)
If a user has admin set to true, he'll become a bip administrator, which allows
him for example to RELOAD bip from IRC or to see the user configuration.
.TP
\fBbacklog\fP (default: \fBtrue\fP)
Enable or disable the whole backlog system, which allows clients to see a
log replay upon connection.
.TP
\fBbacklog_always\fP (default: \fBfalse\fP)
If true, clients will always receive \fBbacklog_lines\fP log lines, even if
they were already sent before. That means :
If \fBbacklog_always\fP is false, backlog will be reset whenever there
is no more client connected to a network. Else backlog will not be reset.
This option should of course not be enabled if \fBbacklog_lines\fP is 0 !
If you still want to do so, don't forget to /BIP BLRESET sometimes.
.TP
\fBbacklog_lines\fP (default: \fB10\fP)
If set to 0, BIP will replay all the logs since last client disconnect. Else,
it'll replay exactly \fBbacklog_lines\fP lines on each channel and privates.
Be aware that BIP will replay \fBbacklog_lines\fP lines of all privates, even
if there are more. For example if Coyote told you 12 lines and then RoadRunner
6, you'll only have a replay of the 6 RoadRunner's lines and the last 4 of
Coyote's.
\fBbacklog_no_timestamp\fP (default: \fBfalse\fP)
If true, backlogged line won't include the timestamp.
.TP
\fBbacklog_reset_on_talk\fP (default: \fBfalse\fP)
When true, backlog will be reset upon client talk (channel/private message or
action). It means that next time you log to your bip session, the backlogging
will start at the time right after your last words on that specific channel or
query.
.TP
\fBbacklog_reset_connection\fP (default: \fBfalse\fP)
When true, backlog_reset_on_talk option above is changed in that the whole
network backlog is resetted when you talk in the network.
.TP
\fBbacklog_msg_only\fP (default: \fBfalse\fP)
When true, bip will backlog only channel/private messages/notices. No topic
change, nick change, user quit/part/join will be backlogged upon connection.
.TP
\fBbip_use_notice\fP (default: \fBfalse\fP)
If \fBbip_use_notice\fP is true, bip's notifications to the clients will be
send as notices instead of private messages. For example, this setting applies
to disconnection notifications or /BIP command replies.
.TP
\fBdefault_nick\fP
The default nick option for each \fBconnection section\fP where no \fBnick\fP
is defined. See \fBCONNECTION SECTION\fP for more details.
.TP
\fBdefault_realname\fP
The default realname option for each \fBconnection section\fP where no
\fBrealname\fP is defined. See \fBCONNECTION SECTION\fP for more details.
.TP
\fBdefault_user\fP
The default user option for each \fBconnection section\fP where no \fBuser\fP
is defined. See \fBCONNECTION SECTION\fP for more details.
.TP
\fBname\fP
The user name. It'll be used to authenticate to bip and in \fBlog_format\fP.
.TP
\fBpassword\fP
The password. It \fBMUST\fP be generated with \fBbipmkpw\fP or it'll not work.
.TP
\fBssl_check_mode\fP (default: \fBnone\fP)
Tells whether BIP should check the server SSL certificate and against what.
Can be \fBnone\fP for no check at all, \fBca\fP to check if the cert is signed
by a Certificate Authority in repository, or \fBbasic\fP to check if cert
exists in repository. The repository is defined by \fBssl_check_store\fP. This
allows a "ssh-like" private key generation scheme. Note that in basic mode:
.br
- expired certificates that are in the store are considered valid.
.br
- CA-signed certificates are considered valid even if not in store.
.TP
\fBssl_check_store\fP (default: \fBnot set\fP)
This repository is browsed by BIP when a SSL certificate or CA check is needed.
.TP
\fBssl_client_certfile\fP (default: \fBnot set\fP)
Some networks (OFTC at least) allow you to authenticate to nickserv services
using a client side certificate. Make this variable point to the .pem file to
use this feature.
.SH CONNECTION SUB-SECTION
Each connection section associates a user to the networks he wants to connect
to. Thus, it must be declared in the user sections, and can be used more than
once.
.TP
\fBaway_nick\fP (default: \fBnot set\fP)
If set, and if there are no more client attached, BIP will change nickname to
this \fBaway_nick\fP. Your nickname will be restored upon client connect.
.TP
\fBno_client_away_msg\fP (default: \fBnot set\fP)
This options allows you to set an away message. This away message will be set
when the last client disconnects, and removed when a client connects.
.TP
\fBfollow_nick\fP (default: \fBfalse\fP)
If set to true, when you change nick, BIP stores the new nickname as the new
default nickname value. Thus, if you are disconnected from the server, BIP will
restore the correct nickname.
.TP
\fBautojoin_on_kick\fP (default: \fBtrue\fP)
If set to false bip will not attempt to re-join a channel from which you were
kicked.
.TP
\fBignore_first_nick\fP (default: \fBfalse\fP)
If set to true, BIP will ignore the nickname sent by the client upon connect.
Further nickname changes will be processed as usual.
.TP
\fBignore_server_capab\fP (default: \fBtrue\fP)
By default bip ignores when a server advertises the CAPAB feature. Servers that
support this can prefix each line with a "+" or a "-" depending if a user is
registered or not. xchat checks if a server has the CAPAB feature and enables
it.
If you have two clients connected to a bip connection, one that supports this
mode and one that does not, you see the plus and the minuses on each line in
the client that does not support CAPAB. To avoid that, when a server advertises
CAPAB bip simply removes it. You can set this option to false to keep using
CAPAB (if you only use clients that support it for instance).
.TP
\fBnetwork\fP
The network name. See the \fBNETWORK SECTION\fP.
.TP
\fBnick\fP
BIP will send that string as your nickname upon connect. If not specified
and if \fBdefault_nickname\fP is specified in the \fBuser section\fP, BIP will
use that default nickname string.
.TP
\fBon_connect_send\fP
You can specify this field more than once. BIP will send the text as is to the
server. It'd be useful for a greet on connect or to send your NickServ password.
.TP
\fBpassword\fP
This is the irc server password, which is sent upon connection to the irc server
only.
.TP
\fBrealname\fP
BIP will send that string as the realname part (description in whois result)
upon connect. If not specified and if \fBdefault_realname\fP is specified in
the \fBuser section\fP, BIP will use that default realname string.
.TP
\fBsource_port\fP
If specified, tells BIP to connect from this port to the IRC server.
.TP
\fBssl_check_mode\fP (default: \fBthe user's option\fP)
See \fBssl_check_mode\fP option in User options.
.TP
\fBuser\fP
BIP will send that string as the user part (usually between ! and @ in a whois
result) upon connect. It's also used by the oidentd support (if enabled). If
not specified and if \fBdefault_user\fP is specified in the \fBuser section\fP,
BIP will use that default user string.
.TP
\fBvhost\fP
If specified, BIP will use \fBvhost\fP as the IP address to bind to when
connecting to the IRC server. It'll allow you to use a specific IP address
for this network when you have more than one. This options is totally useless
to people who only have one IP address.
.SH CHANNEL SUB-SUB-SECTION
This section defines the list of channels to join for a user on a particular
network. It is to be found in the connection sections and appear more than once
in a connection section.
.TP
\fBname\fP
The channel name (#bip, &bip, ...).
.TP
\fBkey\fP
The channel key if needed.
.TP
\fBbacklog\fP (default: \fBtrue\fP)
Enable or disable backlogging of this particular channel.
Setting this to true will NOT enable the backlog system, see the User section.
.SH SEE ALSO
bip, bipmkpw
.SH AUTHOR
bip authors:
.br
Arnaud 'nohar' Cornet
.br
Loïc 'Kyoshiro' Gomez
Thanks to jj, YS and lafouine, for hanging around while we were coding.
.br
Crypto shamelessly taken from Christophe 'sexy' Devine.
.br
This man page is written by Loïc 'Kyoshiro' Gomez.