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 oidentd_file (default: <bipdir>/.oidentd.conf)
150 oidentd configuration file (if oidentd enabled).
151
152
153 port (default: 7778)
154 The port on which BIP should listen for clients.
155
156
158 This section allows you to declare a network for use in the connection
159 sections. It may appear more than once in the configuration file.
160
161
162 ssl (default: false)
163 If true, BIP will connect to this network using SSL only. You
164 cannot mix SSL servers and non-SSL servers in the same network
165 section. This is by choice, we believe it's a bad idea.
166
167
168 ssl_ciphers (override global ssl_default_ciphers)
169 OpenSSL cipher lists used for this network.
170
171
172 name It's the network name used in the connection section. Please
173 note that this value is not used in log_format, since it uses
174 the variable name from the connection section.
175
176
178 BIP will cycle through the server sections list when reconnecting to a
179 network. It may appear more than once in a network section.
180
181
182 host The server's hostname or IP address.
183
184
185 port (default: 6667)
186 The server port to connect to.
187
188
190 This section allows you to define the users allowed to connect to BIP
191 and their options. It may appear more than once in the configuration
192 file.
193
194
195 admin (default: false)
196 If a user has admin set to true, he'll become a bip administra‐
197 tor, which allows him for example to reload bip from IRC or to
198 see the user configuration.
199
200
201 backlog (default: true)
202 Enable or disable the whole backlog system, which allows clients
203 to see a log replay upon connection.
204
205
206 backlog_always (default: false)
207 If true, clients will always receive backlog_lines log lines,
208 even if they were already sent before. That means : If back‐
209 log_always is false, backlog will be reset whenever there is no
210 more client connected to a network. Else backlog will not be
211 reset. This option should of course not be enabled if back‐
212 log_lines is 0 ! If you still want to do so, don't forget to
213 /BIP BLRESET sometimes.
214
215
216 backlog_lines (default: 10)
217 If set to 0, BIP will replay all the logs since last client dis‐
218 connect. Else, it'll replay exactly backlog_lines lines on each
219 channel and privates. Be aware that BIP will replay back‐
220 log_lines lines of all privates, even if there are more. For
221 example if Coyote told you 12 lines and then RoadRunner 6,
222 you'll only have a replay of the 6 RoadRunner's lines and the
223 last 4 of Coyote's.
224
225 backlog_no_timestamp (default: false) If true, backlogged line
226 won't include the timestamp.
227
228
229 backlog_reset_on_talk (default: false)
230 When true, backlog will be reset upon client talk (channel/pri‐
231 vate message or action). It means that next time you log to your
232 bip session, the backlogging will start at the time right after
233 your last words on that specific channel or query.
234
235
236 backlog_reset_connection (default: false)
237 When true, backlog_reset_on_talk option above is changed in that
238 the whole network backlog is resetted when you talk in the net‐
239 work.
240
241
242 backlog_msg_only (default: false)
243 When true, bip will backlog only channel/private mes‐
244 sages/notices. No topic change, nick change, user quit/part/join
245 will be backlogged upon connection.
246
247
248 bip_use_notice (default: false)
249 If bip_use_notice is true, bip's notifications to the clients
250 will be send as notices instead of private messages. For exam‐
251 ple, this setting applies to disconnection notifications or /BIP
252 command replies.
253
254
255 default_nick
256 The default nick option for each connection section where no
257 nick is defined. See CONNECTION SECTION for more details.
258
259
260 default_realname
261 The default realname option for each connection section where no
262 realname is defined. See CONNECTION SECTION for more details.
263
264
265 default_user
266 The default user option for each connection section where no
267 user is defined. See CONNECTION SECTION for more details.
268
269
270 name The username. It'll be used to authenticate to bip and in
271 log_format.
272
273
274 password
275 The password. It MUST be generated with bipmkpw or it'll not
276 work.
277
278
279 ssl_check_mode (default: none)
280 Tells whether BIP should check the server SSL certificate and
281 against what. Can be none for no check at all, ca to check if
282 the cert is signed by a Certificate Authority in repository, or
283 basic to check if cert exists in repository. The repository is
284 defined by ssl_check_store. This allows a "ssh-like" private
285 key generation scheme. Note that in basic mode:
286 - expired certificates that are in the store are considered
287 valid.
288 - CA-signed certificates are considered valid even if not in
289 store.
290
291
292 ssl_check_store (default: not set)
293 This repository is browsed by BIP when a SSL certificate or CA
294 check is needed. In ssl_check_mode basic it must be a file, to
295 which certificates you choose to trust will be appended. In
296 ssl_check_mode ca it may be a single file containing one or more
297 trusted certificates concatenated together between BEGIN CER‐
298 TIFICATE and END CERTIFICATE lines, a directory containing indi‐
299 vidual certificates in PEM format which has been processed by
300 c_rehash, or unset, in which case bip will attempt to use the
301 default certificate store of the OpenSSL it is built against.
302
303
304 ssl_client_certfile (default: not set)
305 Some networks (OFTC at least) allow you to authenticate to nick‐
306 serv services using a client side certificate. Make this vari‐
307 able point to the .pem file to use this feature.
308
309
311 Each connection section associates a user to the networks he wants to
312 connect to. Thus, it must be declared in the User sections, and can be
313 used more than once.
314
315
316 away_nick (default: not set)
317 If set, and if there are no more client attached, BIP will
318 change nickname to this away_nick. Your nickname will be
319 restored upon client connect.
320
321
322 no_client_away_msg (default: not set)
323 This options allows you to set an away message. This away mes‐
324 sage will be set when the last client disconnects, and removed
325 when a client connects.
326
327
328 follow_nick (default: false)
329 If set to true, when you change nick, BIP stores the new nick‐
330 name as the new default nickname value. Thus, if you are discon‐
331 nected from the server, BIP will restore the correct nickname.
332
333
334 autojoin_on_kick (default: true)
335 If set to false bip will not attempt to re-join a channel from
336 which you were kicked.
337
338
339 ignore_first_nick (default: false)
340 If set to true, BIP will ignore the nickname sent by the client
341 upon connect. Further nickname changes will be processed as
342 usual.
343
344
345 ignore_server_capab (default: true)
346 By default bip ignores when a server advertises the CAPAB fea‐
347 ture. Servers that support this can prefix each line with a "+"
348 or a "-" depending if a user is registered or not. xchat checks
349 if a server has the CAPAB feature and enables it. If you have
350 two clients connected to a bip connection, one that supports
351 this mode and one that does not, you see the plus and the
352 minuses on each line in the client that does not support CAPAB.
353 To avoid that, when a server advertises CAPAB bip simply removes
354 it. You can set this option to false to keep using CAPAB (if you
355 only use clients that support it for instance).
356
357
358 network
359 The network name. See the NETWORK SECTION.
360
361
362 log (override global log)
363 When true, the file logs are enabled for this connection. When
364 false, no log file is written, logs are kept in memory.
365
366
367 nick BIP will send that string as your nickname upon connect. If not
368 specified and if default_nickname is specified in the user sec‐
369 tion, BIP will use that default nickname string.
370
371
372 on_connect_send
373 You can specify this field more than once. BIP will send the
374 text as is to the server. It'd be useful for a greet on connect
375 or to send your NickServ password.
376
377
378 password
379 This is the IRC server password, which is sent upon connection
380 to the IRC server only.
381
382
383 realname
384 BIP will send that string as the realname part (description in
385 whois result) upon connect. If not specified and if
386 default_realname is specified in the user section, BIP will use
387 that default realname string.
388
389
390 source_port
391 If specified, tells BIP to connect from this port to the IRC
392 server.
393
394
395 ssl_check_mode (default: the user's option)
396 See ssl_check_mode option in User section.
397
398
399 user BIP will send that string as the user part (usually between !
400 and @ in a whois result) upon connect. It's also used by the
401 oidentd support (if enabled). If not specified and if
402 default_user is specified in the user section, BIP will use that
403 default user string.
404
405
406 vhost If specified, BIP will use vhost as the IP address to bind to
407 when connecting to the IRC server. It'll allow you to use a spe‐
408 cific IP address for this network when you have more than one.
409 This options is totally useless to people who only have one IP
410 address.
411
412
414 This section defines the list of channels to join for a user on a par‐
415 ticular network. It is to be found in the connection sections and
416 appear more than once in a connection section.
417
418
419 name The channel name (#bip, &bip, ...).
420
421
422 key The channel key if needed.
423
424
425 backlog (default: true)
426 Enable or disable backlogging of this particular channel. Set‐
427 ting this to true will NOT enable the backlog system, see the
428 user section.
429
430
432 On your IRC client, setup as many IRC servers as connections defined in
433 your connection section.
434
435 Host and port must match values defined in ip and port global option.
436 The password must be username:password:connectionname where:
437
438
439 · username is the name defined in the user section;
440
441 · password is the clear text value of the password correspond‐
442 ing to the hashed password defined in the user section;
443
444 · connectionname is the name defined in connection sub-sec‐
445 tion.
446
447
449 bip(1), bipmkpw(1)
450
451
453 bip authors:
454 Arnaud 'nohar' Cornet
455 Loïc 'Kyoshiro' Gomez
456
457 Thanks to jj, YS and lafouine, for hanging around while we were coding.
458 Crypto shamelessly taken from Christophe 'sexy' Devine.
459 This man page is written by Loïc 'Kyoshiro' Gomez.
460
461
462
463
464 23 February 2017 BIP.CONF(5)