1BIP.CONF(5) File Formats Manual BIP.CONF(5)
2
3
4
6 bip.conf - Configuration file for BIP IRC Proxy
7
8
10 ~/.bip/bip.conf
11
12
14 A BIP configuration file consists of a list of variable affectations or
15 sections. It contains the global options, networks definitions, users
16 configuration, users connections declarations. Each section is
17 described in this manpage.
18
19 The bip.conf skeleton should be something like this :
20
21 option1 = value;
22 option2 = value;
23 ...
24
25 network {
26 net_opt = value;
27 ...
28 server { ... };
29 server { ... };
30 };
31 ...
32
33 user {
34 user_opt = value;
35 ...
36 connection {
37 conn_opt = value;
38 ...
39 channel { ... };
40 };
41 connection {
42 conn_opt = value;
43 ...
44 channel { ... };
45 channel { ... };
46 ...
47 };
48 };
49
50
52 The syntax is quite simple :
53
54 · everything after the # character is ignored (comments)
55
56 · each variable affectation must be finished with a ;
57
58 · each section { } must be finished with a ;
59
60 If you use vim you will probably want to use vim with the provided
61 bip.vim syntax file to avoid common syntax and lexical mistakes. You
62 can also find an example configuration file along with BIP.
63
64 By default, bipdir is the $HOME/.bip directory and the parent directory
65 for client certificate, configuration, logs, pid, oidentd. If environ‐
66 ment variable $HOME doesn't exist, -s parameter must be used.
67
68
70 client_side_ssl (default: false)
71 When true, clients will need to connect to BIP using SSL.
72 You'll also need to generate a SSL cert/key pair in
73 bipdir/bip.pem (usually ~/.bip/bip.pem or /var/lib/bip/bip.pem)
74 or client_side_ssl_pem if defined.
75
76
77 client_side_ssl_pem (default: <bipdir>/bip.pem)
78 Set this to the full path of the cert/key pair bip should use to
79 accept clients SSL connections.
80
81
82 client_side_ciphers
83 OpenSSL cipher lists used for clients SSL connections. If not
84 set, OpenSSL default ciphers will be used.
85
86
87 client_side_dh_param DH parameters filename (default: <bipdir>/dh.pem)
88 Used for clients SSL connections, Supply at least 2048-bit
89 parameters.
90
91
92 ssl_default_ciphers
93 OpenSSL cipher lists used for server connections. If not set,
94 OpenSSL default ciphers will be used.
95
96
97 ip (default: 0.0.0.0)
98 Listening IP address. This is the IP address bip will listen for
99 incoming client connections.
100
101
102 log (default: true)
103 When true, the log system is enabled. Else, BIP will not write a
104 single log file. Backlog is then stored into memory.
105
106
107 log_system (default: true)
108 When true, system messages such as connection errors are logged.
109 Else, BIP will not write system logs.
110
111
112 log_format (default: %u/%n/%Y-%m/%c.%d.log)
113 Determines the log filename depending on :
114 - %u username (name in user { }; section)
115 - %n network name (name in connection { }; section)
116 - %c channel name
117 - %Y 4 digits year
118 - %m 2 digits month
119 - %d 2 digits day
120
121
122 log_level (default: 1)
123 Specify the verbosity of BIP from 0 (fatal errors) to 6 (huge
124 debug output)
125
126
127 log_root (default: <bipdir>/logs
128 Main log directory. Sub-directories and files will be created
129 from there depending on log_format.
130
131
132 log_sync_interval (default: 5)
133 Defines the delay between each logfiles sync to the disk. Must
134 be a non null positive integer.
135
136
137 reconn_timer (default: 120)
138 Defines the initial delay (in seconds) before a reconnection
139 attempt. The delay increases with the number of attempts: delay
140 = reconn_timer * number of attempts
141
142
143 pid_file (default: <bipdir>/bip.pid)
144 Defines the file where BIP's pid will be stored. BIP checks if
145 this file exists and if the pid is still alive upon startup. If
146 true, BIP refuses to start.
147
148
149 write_oidentd (default: false)
150 Must be set to true to overwrite oidentd configs.
151
152
153 oidentd_file (default: <bipdir>/.oidentd.conf)
154 oidentd configuration file (if oidentd enabled).
155
156
157 port (default: 7778)
158 The port on which BIP should listen for clients.
159
160
162 This section allows you to declare a network for use in the connection
163 sections. It may appear more than once in the configuration file.
164
165
166 ssl (default: false)
167 If true, BIP will connect to this network using SSL only. You
168 cannot mix SSL servers and non-SSL servers in the same network
169 section. This is by choice, we believe it's a bad idea.
170
171
172 ssl_ciphers (override global ssl_default_ciphers)
173 OpenSSL cipher lists used for this network.
174
175
176 name It's the network name used in the connection section. Please
177 note that this value is not used in log_format, since it uses
178 the variable name from the connection section.
179
180
182 BIP will cycle through the server sections list when reconnecting to a
183 network. It may appear more than once in a network section.
184
185
186 host The server's hostname or IP address.
187
188
189 port (default: 6667)
190 The server port to connect to.
191
192
194 This section allows you to define the users allowed to connect to BIP
195 and their options. It may appear more than once in the configuration
196 file.
197
198
199 admin (default: false)
200 If a user has admin set to true, he'll become a bip administra‐
201 tor, which allows him for example to reload bip from IRC or to
202 see the user configuration.
203
204
205 backlog (default: true)
206 Enable or disable the whole backlog system, which allows clients
207 to see a log replay upon connection.
208
209
210 backlog_always (default: false)
211 If true, clients will always receive backlog_lines log lines,
212 even if they were already sent before. That means : If back‐
213 log_always is false, backlog will be reset whenever there is no
214 more client connected to a network. Else backlog will not be
215 reset. This option should of course not be enabled if back‐
216 log_lines is 0 ! If you still want to do so, don't forget to
217 /BIP BLRESET sometimes.
218
219
220 backlog_lines (default: 10)
221 If set to 0, BIP will replay all the logs since last client dis‐
222 connect. Else, it'll replay exactly backlog_lines lines on each
223 channel and privates. Be aware that BIP will replay back‐
224 log_lines lines of all privates, even if there are more. For
225 example if Coyote told you 12 lines and then RoadRunner 6,
226 you'll only have a replay of the 6 RoadRunner's lines and the
227 last 4 of Coyote's.
228
229 backlog_no_timestamp (default: false) If true, backlogged line
230 won't include the timestamp.
231
232
233 backlog_reset_on_talk (default: false)
234 When true, backlog will be reset upon client talk (channel/pri‐
235 vate message or action). It means that next time you log to your
236 bip session, the backlogging will start at the time right after
237 your last words on that specific channel or query.
238
239
240 backlog_reset_connection (default: false)
241 When true, backlog_reset_on_talk option above is changed in that
242 the whole network backlog is resetted when you talk in the net‐
243 work.
244
245
246 backlog_msg_only (default: false)
247 When true, bip will backlog only channel/private mes‐
248 sages/notices. No topic change, nick change, user quit/part/join
249 will be backlogged upon connection.
250
251
252 bip_use_notice (default: false)
253 If bip_use_notice is true, bip's notifications to the clients
254 will be send as notices instead of private messages. For exam‐
255 ple, this setting applies to disconnection notifications or /BIP
256 command replies.
257
258
259 default_nick
260 The default nick option for each connection section where no
261 nick is defined. See CONNECTION SECTION for more details.
262
263
264 default_realname
265 The default realname option for each connection section where no
266 realname is defined. See CONNECTION SECTION for more details.
267
268
269 default_user
270 The default user option for each connection section where no
271 user is defined. See CONNECTION SECTION for more details.
272
273
274 name The username. It'll be used to authenticate to bip and in
275 log_format.
276
277
278 password
279 The password. It MUST be generated with bipmkpw or it'll not
280 work.
281
282
283 ssl_check_mode (default: none)
284 Tells whether BIP should check the server SSL certificate and
285 against what. Can be none for no check at all, ca to check if
286 the cert is signed by a Certificate Authority in repository, or
287 basic to check if cert exists in repository. The repository is
288 defined by ssl_check_store. This allows a "ssh-like" private
289 key generation scheme. Note that in basic mode:
290 - expired certificates that are in the store are considered
291 valid.
292 - CA-signed certificates are considered valid even if not in
293 store.
294
295
296 ssl_check_store (default: not set)
297 This repository is browsed by BIP when a SSL certificate or CA
298 check is needed. In ssl_check_mode basic it must be a file, to
299 which certificates you choose to trust will be appended. In
300 ssl_check_mode ca it may be a single file containing one or more
301 trusted certificates concatenated together between BEGIN CER‐
302 TIFICATE and END CERTIFICATE lines, a directory containing indi‐
303 vidual certificates in PEM format which has been processed by
304 c_rehash, or unset, in which case bip will attempt to use the
305 default certificate store of the OpenSSL it is built against.
306
307
308 ssl_client_certfile (default: not set)
309 Some networks (OFTC at least) allow you to authenticate to nick‐
310 serv services using a client side certificate. Make this vari‐
311 able point to the .pem file to use this feature.
312
313
315 Each connection section associates a user to the networks he wants to
316 connect to. Thus, it must be declared in the User sections, and can be
317 used more than once.
318
319
320 away_nick (default: not set)
321 If set, and if there are no more client attached, BIP will
322 change nickname to this away_nick. Your nickname will be
323 restored upon client connect.
324
325
326 no_client_away_msg (default: not set)
327 This options allows you to set an away message. This away mes‐
328 sage will be set when the last client disconnects, and removed
329 when a client connects.
330
331
332 follow_nick (default: false)
333 If set to true, when you change nick, BIP stores the new nick‐
334 name as the new default nickname value. Thus, if you are discon‐
335 nected from the server, BIP will restore the correct nickname.
336
337
338 autojoin_on_kick (default: true)
339 If set to false bip will not attempt to re-join a channel from
340 which you were kicked.
341
342
343 ignore_first_nick (default: false)
344 If set to true, BIP will ignore the nickname sent by the client
345 upon connect. Further nickname changes will be processed as
346 usual.
347
348
349 ignore_server_capab (default: true)
350 By default bip ignores when a server advertises the CAPAB fea‐
351 ture. Servers that support this can prefix each line with a "+"
352 or a "-" depending if a user is registered or not. xchat checks
353 if a server has the CAPAB feature and enables it. If you have
354 two clients connected to a bip connection, one that supports
355 this mode and one that does not, you see the plus and the
356 minuses on each line in the client that does not support CAPAB.
357 To avoid that, when a server advertises CAPAB bip simply removes
358 it. You can set this option to false to keep using CAPAB (if you
359 only use clients that support it for instance).
360
361
362 network
363 The network name. See the NETWORK SECTION.
364
365
366 log (override global log)
367 When true, the file logs are enabled for this connection. When
368 false, no log file is written, logs are kept in memory.
369
370
371 nick BIP will send that string as your nickname upon connect. If not
372 specified and if default_nickname is specified in the user sec‐
373 tion, BIP will use that default nickname string.
374
375
376 on_connect_send
377 You can specify this field more than once. BIP will send the
378 text as is to the server. It'd be useful for a greet on connect
379 or to send your NickServ password.
380
381
382 password
383 This is the IRC server password, which is sent upon connection
384 to the IRC server only.
385
386
387 realname
388 BIP will send that string as the realname part (description in
389 whois result) upon connect. If not specified and if
390 default_realname is specified in the user section, BIP will use
391 that default realname string.
392
393
394 source_port
395 If specified, tells BIP to connect from this port to the IRC
396 server.
397
398
399 ssl_check_mode (default: the user's option)
400 See ssl_check_mode option in User section.
401
402
403 user BIP will send that string as the user part (usually between !
404 and @ in a whois result) upon connect. It's also used by the
405 oidentd support (if enabled). If not specified and if
406 default_user is specified in the user section, BIP will use that
407 default user string.
408
409
410 vhost If specified, BIP will use vhost as the IP address to bind to
411 when connecting to the IRC server. It'll allow you to use a spe‐
412 cific IP address for this network when you have more than one.
413 This options is totally useless to people who only have one IP
414 address.
415
416
418 This section defines the list of channels to join for a user on a par‐
419 ticular network. It is to be found in the connection sections and
420 appear more than once in a connection section.
421
422
423 name The channel name (#bip, &bip, ...).
424
425
426 key The channel key if needed.
427
428
429 backlog (default: true)
430 Enable or disable backlogging of this particular channel. Set‐
431 ting this to true will NOT enable the backlog system, see the
432 user section.
433
434
436 On your IRC client, setup as many IRC servers as connections defined in
437 your connection section.
438
439 Host and port must match values defined in ip and port global option.
440 The password must be username:password:connectionname where:
441
442
443 · username is the name defined in the user section;
444
445 · password is the clear text value of the password correspond‐
446 ing to the hashed password defined in the user section;
447
448 · connectionname is the name defined in connection sub-sec‐
449 tion.
450
451
453 bip(1), bipmkpw(1)
454
455
457 bip authors:
458 Arnaud 'nohar' Cornet
459 Loïc 'Kyoshiro' Gomez
460
461 Thanks to jj, YS and lafouine, for hanging around while we were coding.
462 Crypto shamelessly taken from Christophe 'sexy' Devine.
463 This man page is written by Loïc 'Kyoshiro' Gomez.
464
465
466
467
468 23 February 2017 BIP.CONF(5)