1BIP.CONF(5)                   File Formats Manual                  BIP.CONF(5)
2
3
4

NAME

6       bip.conf - Configuration file for BIP IRC Proxy
7
8

SYNOPSIS

10       ~/.bip/bip.conf
11
12

DESCRIPTION

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

SYNTAX RULES

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

GLOBAL OPTIONS

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

NETWORK SECTION

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

SERVER SUB-SECTION

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

USER SECTION

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

CONNECTION SUB-SECTION

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

CHANNEL SUB-SUB-SECTION

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

IRC CLIENT CONFIGURATION

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

SEE ALSO

453       bip(1), bipmkpw(1)
454
455

AUTHOR

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)
Impressum