Provided by: bip_0.9.3-1build2_amd64 bug

NAME

       bip.conf - Configuration file for BIP IRC Proxy

SYNOPSIS

       ~/.bip/bip.conf

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 :

       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 { ... };
               ...
           };
       };

SYNTAX RULES

       The syntax is quite simple :

              •   everything after the # character is ignored (comments)

              •   each variable affectation must be finished with a ;

              •   each section { } must be finished with a ;

       If  you  use  vim you will probably want to use vim with the provided bip.vim syntax file to avoid common
       syntax and lexical mistakes. You can also find an example configuration file along with BIP.

       By default, bipdir is  the  $HOME/.bip  directory  and  the  parent  directory  for  client  certificate,
       configuration,  logs,  pid,  oidentd.  If  environment variable $HOME doesn't exist, -s parameter must be
       used.

GLOBAL OPTIONS

       client_side_ssl (default: false)
              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.

       client_side_ssl_pem (default: <bipdir>/bip.pem)
              Set this to the full path of the cert/key pair bip should use to accept clients SSL connections.

       client_side_ciphers
              OpenSSL cipher lists used for clients SSL connections. If not set, OpenSSL default ciphers will be
              used.

       client_side_dh_param DH parameters filename (default: <bipdir>/dh.pem)
              Used for clients SSL connections, Supply at least 2048-bit parameters.

       ssl_default_ciphers
              OpenSSL cipher lists used for server connections. If not set,  OpenSSL  default  ciphers  will  be
              used.

       ip (default: 0.0.0.0)
              Listening IP address. This is the IP address bip will listen for incoming client connections.

       log (default: true)
              When  true, the log system is enabled. Else, BIP will not write a single log file. Backlog is then
              stored into memory.

       log_system (default: true)
              When true, system messages such as connection errors are logged. Else, BIP will not  write  system
              logs.

       log_format (default: %u/%n/%Y-%m/%c.%d.log)
              Determines the log filename depending on :
              - %u username (name in user { }; section)
              - %n network name (name in connection { }; section)
              - %c channel name
              - %Y 4 digits year
              - %m 2 digits month
              - %d 2 digits day

       log_level (default: 1)
              Specify the verbosity of BIP from 0 (fatal errors) to 6 (huge debug output)

       log_root (default: <bipdir>/logs
              Main log directory. Sub-directories and files will be created from there depending on log_format.

       log_sync_interval (default: 5)
              Defines the delay between each logfiles sync to the disk. Must be a non null positive integer.

       reconn_timer (default: 120)
              Defines  the  initial  delay (in seconds) before a reconnection attempt.  The delay increases with
              the number of attempts: delay = reconn_timer * number of attempts

       pid_file (default: <bipdir>/bip.pid)
              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.

       write_oidentd (default: false)
              Must be set to true to overwrite oidentd configs.

       oidentd_file (default: <bipdir>/.oidentd.conf)
              oidentd configuration file (if oidentd enabled).

       port (default: 7778)
              The port on which BIP should listen for clients.

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.

       ssl (default: false)
              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.

       ssl_ciphers (override global ssl_default_ciphers)
              OpenSSL cipher lists used for this network.

       name   It's  the  network name used in the connection section. Please note that this value is not used in
              log_format, since it uses the variable name from the connection section.

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.

       host   The server's hostname or IP address.

       port (default: 6667)
              The server port to connect to.

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.

       admin (default: false)
              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.

       backlog (default: true)
              Enable or disable the whole backlog system,  which  allows  clients  to  see  a  log  replay  upon
              connection.

       backlog_always (default: false)
              If  true,  clients  will  always  receive  backlog_lines log lines, even if they were already sent
              before. That means : If backlog_always 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 backlog_lines is 0 !  If you still want to do  so,  don't  forget  to  /BIP  BLRESET
              sometimes.

       backlog_lines (default: 10)
              If set to 0, BIP will replay all the logs since last client disconnect. Else, it'll replay exactly
              backlog_lines  lines  on  each  channel and privates.  Be aware that BIP will replay backlog_lines
              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.

       backlog_timestamp (default: time)
              none  disables  timestamps in backlogged lines, time or datetime allow one to select the timestamp
              format in backlogged lines.

       backlog_no_timestamp (default: false)
              This parameter is deprecated, use backlog_timestamp instead.  false  implies  backlog_timestamp  =
              none and true implies backlog_timestamp = time .

       backlog_reset_on_talk (default: false)
              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.

       backlog_reset_connection (default: false)
              When  true,  backlog_reset_on_talk  option  above  is changed in that the whole network backlog is
              reset when you talk in the network.

       backlog_msg_only (default: false)
              When true, bip will backlog only channel/private messages/notices. No topic change,  nick  change,
              user quit/part/join will be backlogged upon connection.

       bip_use_notice (default: false)
              If  bip_use_notice  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.

       default_nick
              The default nick option for each connection section where  no  nick  is  defined.  See  CONNECTION
              SECTION for more details.

       default_realname
              The  default  realname  option  for  each  connection  section  where  no realname is defined. See
              CONNECTION SECTION for more details.

       default_user
              The default user option for each connection section where  no  user  is  defined.  See  CONNECTION
              SECTION for more details.

       name   The username. It'll be used to authenticate to bip and in log_format.

       password
              The password. It MUST be generated with bipmkpw or it'll not work.

       ssl_check_mode (default: none)
              Tells  whether  BIP  should check the server SSL certificate and against what.  Can be none for no
              check at all, ca to check if the cert is signed by a Certificate Authority in repository, or basic
              to check if cert exists in repository. The repository is defined by ssl_check_store.  This  allows
              a "ssh-like" private key generation scheme. Note that in basic mode:
               - expired certificates that are in the store are considered valid.
               - CA-signed certificates are considered valid even if not in store.

       ssl_check_store (default: not set)
              This repository is browsed by BIP when a SSL certificate or CA check is needed.  In ssl_check_mode
              basic  it  must  be  a  file,  to  which  certificates  you  choose  to trust will be appended. In
              ssl_check_mode ca it may be a single file containing one or more trusted certificates concatenated
              together between BEGIN CERTIFICATE and END CERTIFICATE lines, a  directory  containing  individual
              certificates  in PEM format which has been processed by c_rehash, or unset, in which case bip will
              attempt to use the default certificate store of the OpenSSL it is built against.

       ssl_client_certfile (default: not set)
              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.

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.

       away_nick (default: not set)
              If set, and if there are no more client attached, BIP will change nickname to this away_nick. Your
              nickname will be restored upon client connect.

       no_client_away_msg (default: not set)
              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.

       follow_nick (default: false)
              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.

       autojoin_on_kick (default: true)
              If set to false bip will not attempt to re-join a channel from which you were kicked.

       ignore_first_nick (default: false)
              If  set  to  true, BIP will ignore the nickname sent by the client upon connect.  Further nickname
              changes will be processed as usual.

       ignore_server_capab (default: true)
              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).

       network
              The network name. See the NETWORK SECTION.

       log (override global log)
              When true, the file logs are enabled for this connection.  When false, no  log  file  is  written,
              logs are kept in memory.

       nick   BIP  will send that string as your nickname upon connect. If not specified and if default_nickname
              is specified in the user section, BIP will use that default nickname string.

       on_connect_send
              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.

       password
              This is the IRC server password, which is sent upon connection to the IRC server only.

       realname
              BIP  will send that string as the realname part (description in whois result) upon connect. If not
              specified and if default_realname is specified in the user section,  BIP  will  use  that  default
              realname string.

       sasl_mechanism
              Tells  BIP to use specified SASL mechanism. Currently supported: PLAIN, EXTERNAL.  PLAIN mechanism
              requires sasl_username and sasl_password and is the default if these are set.

       sasl_username
              This connection's username to pass on using SASL authentication.

       sasl_password
              This connection's password to pass on using SASL authentication.

       source_port
              If specified, tells BIP to connect from this port to the IRC server.

       ssl_check_mode (default: the user's option)
              See ssl_check_mode option in User section.

       user   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 default_user
              is specified in the user section, BIP will use that default user string.

       vhost  If specified, BIP will use vhost 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.

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.

       name   The channel name (#bip, &bip, ...).

       key    The channel key if needed.

       backlog (default: true)
              Enable  or  disable  backlogging of this particular channel.  Setting this to true will NOT enable
              the backlog system, see the user section.

IRC CLIENT CONFIGURATION

       On your IRC client, setup as many IRC servers as connections defined in your connection section.

       Host and  port  must  match  values  defined  in  ip  and  port  global  option.  The  password  must  be
       username:password:connectionname where:

              •   username is the name defined in the user section;

              •   password  is the clear text value of the password corresponding to the hashed password defined
                  in the user section;

              •   connectionname is the name defined in connection sub-section.

SEE ALSO

       bip(1), bipmkpw(1)

AUTHOR

       bip authors:
       Arnaud 'nohar' Cornet
       Loïc 'Kyoshiro' Gomez

       Thanks to jj, YS and lafouine, for hanging around while we were coding.
       Crypto shamelessly taken from Christophe 'sexy' Devine.
       This man page is written by Loïc 'Kyoshiro' Gomez.

                                                 2 January 2022                                      BIP.CONF(5)