1
0
forked from bip/bip
Reviews and pull-requests of the Bip IRC proxy project take place here.
Go to file
Loïc Gomez 7ba4297a92 Documentation :
- fix typos
- include README.floodcontrol into README
2008-01-08 10:50:31 +01:00
samples rename client_side_ssl_key to client_side_ssl_pem 2008-01-07 20:42:40 +01:00
scripts bipgenconfig: 2008-01-07 22:57:11 +01:00
src SSL options: 2008-01-08 10:31:22 +01:00
AUTHORS Fix AUTHORS 2007-02-01 22:07:10 +00:00
bip.1 add -s option to set bip homedir 2006-07-02 13:24:43 +00:00
bip.conf.1 Cosmetic fix for man page. 2008-01-07 22:31:28 +01:00
bipmkpw.1 man fixe, author fixes 2005-10-18 08:00:55 +00:00
bootstrap Drop autostuff noise. Add boostrap to regenerate it. 2007-09-02 18:26:27 +02:00
BUGS Add comment in sample. 2007-05-23 19:29:56 +00:00
ChangeLog Update Changelog and NEWS. 2008-01-07 23:32:34 +01:00
configure.in Lots of structural changes. 2007-09-02 14:59:19 +02:00
COPYING typos 2005-11-17 15:36:19 +00:00
INSTALL Initial import 2005-04-28 08:26:44 +00:00
Makefile.am Initial import 2005-04-28 08:26:44 +00:00
NEWS Documentation : 2008-01-08 10:50:31 +01:00
README Documentation : 2008-01-08 10:50:31 +01:00
README.floodcontrol Documentation : 2008-01-08 10:50:31 +01:00
TODO Documentation : 2008-01-08 10:50:31 +01:00

This is the BIP IRC Proxy README.

Bip can be used in two different ways:
- Old school bnc user style: easy and straightforward.
- Unix service style with and init.d scripts and the logs in /var/log

This small README file explains the usage "Old school" with which :
 - you do not need the root privileges.
 - gives easy access to the logs to the owner of the shell.

Table of contents :

	I.	Installation
	II.	Configuration
	   A.	  Manual configuration
	   B.	  Automated configuration
	III.	Running bip
	IV.	Using bip
	   A.	  Connecting your client(s)
	   B.	  Backlog and flood control



I. INSTALLATION

    Install bip on the machine that will be running bip (which is likely to be
    your personnal or shared server) either compiling the package or using your
    distro's package. Then create a configuration file.

    Choose your distribution package if available. If not, build bip the
    old-fashioned way. You will need make, gcc, lex and yacc to build bip.
    Just issue:

    # ./configure --enable-oidentd && make

    If openssl and its developement files are installed, bip should build with
    SSL support. After a successful build the bip binary can be found in
    ./src/bip.


II. CONFIGURATION

    First of all, create your bip configuration an log directory:

    # mkdir -p ~/.bip/logs

    There are two ways to create your bip configuration :
    - edit the sample bip.conf file to match your needs
    - use the bipgenconfig script to easily generate a configuration

    If you want to connect to bip using an SSL client, you'll need to create
    a certificate / key pair (in a bip.pem file) to allow bip to serve SSL
    sockets.

    A. MANUAL CONFIGURATION

      If you are using a distribution package, the bip.conf sample configuration
      file is likely to be shipped in /usr/share/doc/bip/examples/bip.conf.gz or
      something similar.

      If not, you'll find sample configuration file in the source package's
      `samples' subdirectory.

      Put the uncompressed configuration file in your ~/.bip directory (its
      path should be ~/.bip/bip.conf), and edit it, most importantly the "user"
      section that contains information about you and the servers you will want
      to connect to. The "name" field in the "user" section is your login to
      connect to bip.
      The "name" field of the "connection" subsections are the server identifier
      for when you connect to bip.

      The "password" field is a hash of the password you will use to connect to
      bip. To generate a hash value from a password, use bipmkpw, program which
      comes in the bip package and source.

      If you've set client_side_ssl to true, you'll need to generate a bip.pem
      file containing a certificate / key pair. In order to do so, you can use
      the third party `openssl' binary :

      # openssl req -new -x509 -days 365 -nodes -out bip.pem -keyout bip.pem

      You can then remove the passphrase with :

      # openssl x509 -subject -dates -fingerprint -noout -in bip.pem

    B. AUTOMATED CONFIGURATION

      You can also use the bipgenconfig script to generate a new configuration.
      This script will also help you generate the SSL certificate / key pair
      needed for clients to connect to BIP through SSL.

      This script can be found either in the source package's `scripts'
      directory or shipped with your distribution's package.

      Using the script is very simple, and it will generate a configuration
      file but won't overwrite any existing configuration.

      It will ask you the path to the bipmkpw binary, to automatically hash the
      passwords you'll provide. Please make sure to enter the correct path to
      the binary or you might observe unexpected behaviour.

      You'll need to move the generated configuration from bip.conf.autogen to
      bip.conf and the generated PEM file from bip.pem.autogen to bip.pem (or
      whatever path you've configured in bip.conf).


III. RUNNING BIP

    Once all this is configured, start bip as your regular user:

    # ./src/bip

    If you have installed bip in your path (or if you are using you
    distribution's package), simply use:

    # bip

    Once bip starts, it connects to the different servers your defined in
    all "user"'s "connection" blocks.


IV. USING BIP

    A. CONNECTING YOUR CLIENT(S)

      Then you want to use your regular irc client and connect to bip.  Point
      your client to the machine bip is running and set the proper port number
      (defined in your bip.conf). You should then configure the client to use a
      specific irc server password constructed this way:
  
      user:password:connection
  
      The user is the name field of the "user" section, the password is the
      password (*not* the hash) corresponding to the "password" field of the
      same user section (which is the hash generated with bipmkpw) and the
      connection is the "name" field of the "connection" subsection. This is
      how bip authenticates you and puts your client to the correct network.
  
      Using the default (or sample file) configuration, logs are in ~/.bip/logs/
  
    B. BACKLOG AND FLOOD CONTROL

      Bip has a backlogging system which will send back parts of the last logs
      upon client connection. Depending on your configuration, that may mean a
      *lot* of data sent back to your client.
      
      Users' messages will be replayed as if they were being sent at the moment
      your client connects to bip, and if not disabled, system messages will
      appear as coming from the "-bip" user.
      
      Considering that, you may want to disable your client's anti-flood system,
      totally or not, depending on it's flexibility.
      Since bip doesn't replay CTCP messages, you can safely let your client's
      anti-flood system manage them.
      
      [Xchat]
      If you're using Xchat, you can "disable" it by issuing these commands :
      /set flood_msg_num = 1000
      /set flood_msg_time = 10
      In fact you'll tell xchat to activate its anti-flood system when you're
      receiving more than 1000 messages in less than 10 seconds.
      
      If you forgot to set these, private messages may not appear in separate
      tabs as usual. If so, simply issue a :
      /set gui_auto_open_dialog on
        

  Happy ircing!

-- Arnaud Cornet <nohar@t1r.net> and Loïc Gomez <opensource@kyoshiro.org>