From c70cd5cccc966a35f175913f2281ce251fd62425 Mon Sep 17 00:00:00 2001 From: Luke Bratch Date: Mon, 17 Jun 2019 01:46:28 +0100 Subject: Implement a per-client identifier so auto replay can replay everything a given client has missed. --- README | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 6 deletions(-) (limited to 'README') diff --git a/README b/README index e531121..b0c30d0 100644 --- a/README +++ b/README @@ -20,9 +20,11 @@ Arguments are all optional, but they must be specified in the order shown above. 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. +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. +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 @@ -42,21 +44,58 @@ 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. +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. +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. +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. +Server TLS is also enabled by default in the example configuration file, and can be disabled (not +recommended) using the "servertls" configuration file option. -- cgit v1.2.3