1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
blabouncer - An IRC client written in C
== Compiling ==
To compile run "make".
== Running ==
To run from the current directory once compiled run "./blabouncer".
Running with command line arguments takes the form:
./blabouncer [-f] [-c /path/to/blabouncer.conf]
-f sets foreground mode (without this, blabouncer will detach and run in the background as a daemon)
-c sets a path to a configuration file (this is optional)
Arguments are all optional, but they must be specified in the order shown above.
== Configuration ==
An example configuration file is provided named "blabouncer.conf".
If you don't specify one using "-c /path/to/configuration/file" then the example configuration one will
be created for you in $HOME/.blabouncer/ when starting.
Certain configuration options can be changed at runtime, either at any time, or by issuing a BLABOUNCER
REHASH command or by sending SIGHUP to blabouncer.
These options can be changed by issuing a BLABOUNCER REHASH command or by sending SIGHUP to blabouncer:
- nick
- nick2
- nick3
- replaymode
- replayseconds
- password
- logging
- replaylogging
- debug
== Commands ==
Once connected to blabouncer with a client, you can use the following commands:
"BLABOUNCER REPLAY [[[[days:]hours:]minutes:]seconds]" (To replay a given length of time of replay log.)
"BLABOUNCER QUIT [quit message]" (To quit blabouncer, optionally sending [quit message] to the server.)
"BLABOUNCER REHASH" (To reload settings from the configuration file, see above for details.)
"BLABOUNCER CLIENTCODE [clientcode]" (To set an identifier for the current client for auto replaying just
what this client has missed.)
Blabouncer commands are all prefixed with BLABOUNCER which you can usually send using "/QUOTE BLABOUNCER".
== Replaying history ==
You can request that history is replayed at any time by using the command BLABOUNCER REPLAY
[[[[days:]hours:]minutes:]seconds], assuming replaylogging is enabled in blabouncer.conf.
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:
- "none"
Don't auto replay.
- "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.
== Client SSL/TLS ==
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.
One way of creating these is to use OpenSSL:
# openssl genrsa 2048 > ~/.blabouncer/key.pem
# openssl req -x509 -days 30 -new -key ~/.blabouncer/key.pem -out ~/.blabouncer/cert.pem
But you can create them however you like, or disable client TLS (not recommended) using the "clienttls"
configuration file option.
By default blabouncer looks for the certificate and key files in $HOME/.blabouncer/cert.pem and
$HOME/.blabouncer/key.pem, respectively.
== Server SSL/TLS ==
Server TLS is also enabled by default in the example configuration file, and can be disabled (not
recommended) using the "servertls" configuration file option.
|