Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
BIP.CONF(5)		       File Formats Manual		     BIP.CONF(5)

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  con-
     figuration,  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 vari-
     able $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 ac-
	    cept 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 parame-
	    ters.

     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 in-
	    coming 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  at-
	    tempt.  The delay increases with the number of attempts: delay = re-
	    conn_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 sec-
     tions. 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  vari-
	    able name from the connection section.

SERVER SUB-SECTION
     BIP will cycle through the server sections list when reconnecting to a net-
     work.  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 con-
	    nected 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  discon-
	    nect. 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
	    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 ses-
	    sion, 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 resetted 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 re-
	    alname 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_for-
	    mat.

     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 cer-
	    tificates 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 con-
     nect 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 con-
	    nected 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 ad-
	    vertises  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.

     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 sup-
	    port (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 particu-
     lar 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  sec-
	    tion.

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:
     Arn_ud 'nohar' Cornet
     LoA c 'Kyoshiro' Gomez

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

				23 February 2017		     BIP.CONF(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bip.conf&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help