Newer
Older
== Running ==
To run from the current directory once compiled run "./blabouncer".

Luke Bratch
committed
./blabouncer [-f] [-c /path/to/blabouncer.conf]
-f sets foreground mode (without this, blabouncer will detach and run in the background as a daemon)

Luke Bratch
committed
All arguments are optional, but they must be specified in the order shown above if given.

Luke Bratch
committed
An example configuration file is provided named "blabouncer.conf.example".

Luke Bratch
committed
Configuration options are either simple single string options, or multiple line arrays. The usage is
explained in the example configuration file.
If you don't specify one using "-c /path/to/configuration/file" then the example one will be created
for you at $HOME/.blabouncer/blabouncer.conf when starting for the first time.
Certain configuration options can be changed at runtime by changing them in the configuration file, then

Luke Bratch
committed
issuing a BLABOUNCER REHASH command, or by sending SIGHUP to the blabouncer process. This will also
reload the client-side TLS certificate and key if clienttls = "1".

Luke Bratch
committed

Luke Bratch
committed
These options can be changed by issuing a BLABOUNCER REHASH command or by sending SIGHUP to blabouncer:

Luke Bratch
committed
- nicks

Luke Bratch
committed
- replaymode
- replayseconds

Luke Bratch
committed
- replaydates

Luke Bratch
committed
- password

Luke Bratch
committed
- logging
- replaylogging
- debug

Luke Bratch
committed
- certfile
- keyfile

Luke Bratch
committed
- alertconnect
- alertauthfail
- alertauthsuccess
- alertunautheddisconnect
- alertautheddisconnect

Luke Bratch
committed
Once connected to blabouncer with an IRC client, you can use the following special blabouncer commands:

Luke Bratch
committed
"BLABOUNCER REPLAY [[[days:]hours:]minutes]" (To replay a given length of time of replay log.)
"BLABOUNCER QUIT [quit message]" (To quit blabouncer, optionally sending [quit message] to the server.)

Luke Bratch
committed
"BLABOUNCER REHASH" (To reload configuration file settings and the client-side TLS certificate/key - see above for details.)

Luke Bratch
committed
"BLABOUNCER CLIENTCODE [clientcode]" (To set an identifier for the current client for auto replaying just
what this client has missed.)
"BLABOUNCER LISTCLIENTS" (To list all connected clients and their authentication status.)
"BLABOUNCER DISCONNECT [FD]" (To disconnect a client with file descriptor number [FD] (see LISTCLIENTS
output).)

Luke Bratch
committed
"BLABOUNCER VERSION" (To show the current blabouncer version.)
Blabouncer commands are all prefixed with BLABOUNCER which you can usually send using "/QUOTE BLABOUNCER".

Luke Bratch
committed
== Replaying history ==
You can request that history is replayed at any time by using the command BLABOUNCER REPLAY

Luke Bratch
committed
[[[days:]hours:]minutes], assuming replaylogging is enabled in blabouncer.conf.

Luke Bratch
committed
In addition, you can have history automatically replayed upon a client connecting. There are multiple
automatic replay methods available by setting "replaymode" in blabouncer.conf:

Luke Bratch
committed
- "none"

Luke Bratch
committed
- "time"
Always send the last "replayseconds" worth of logs.
- "lastspoke"
All messages since your current nick last spoke.
- "noclients"
All messages since you last had no clients connected.
- "lastchange"
All messages since your last client connection/disconnection.
- "perclient".
All messages since the current client last disconnected. Clients are uniquely identified using the
BLABOUNCER CLIENTCODE command.
The intention is that a given client (for instance that on a given device) will be configured to send
BLABOUNCER CLIENTCODE as a connect command automatically, thus getting all replay history since it was
last connected.

Luke Bratch
committed
To use TLS for client connections, which is enabled by default in the example configuration file, you will
need to provide both a certificate and a key file.
$ openssl genrsa 2048 > ~/.blabouncer/key.pem
$ openssl req -x509 -days 30 -new -key ~/.blabouncer/key.pem -out ~/.blabouncer/cert.pem

Luke Bratch
committed
But you can create them however you like, or disable client TLS (not recommended) using the "clienttls"
configuration file option.

Luke Bratch
committed
By default blabouncer looks for the certificate and key files in $HOME/.blabouncer/cert.pem and
$HOME/.blabouncer/key.pem, respectively.

Luke Bratch
committed
Server TLS is also enabled by default in the example configuration file, and can be disabled (not
recommended) using the "servertls" configuration file option.