.Dd July 24, 2020 .Dt README 7 .Os "Causal Agency" . .Sh NAME .Nm pounce .Nd IRC pouncer :3 . .Sh DESCRIPTION .Xr pounce 1 is a multi-client, TLS-only IRC bouncer. It takes a simple approach, using a multiple-consumer ring buffer and the IRCv3.2 .Sy server-time extension to communicate with clients. . .Sh RATIONALE As a former .Xr znc 1 user, I was dissatisfied with the multi-client experience it offered. I wanted to connect from both my laptop and my phone and have full chat history on both. With .Xr znc 1 , my options were either having both clients spammed with redundant history every time they connect, or having one client consume the buffer and the other get no history at all. . .Pp With a multiple-consumer ring buffer, each client has its own place in the history and can be brought up to date independently. Additionally, by expecting clients to implement the .Sy server-time extension, all events can be accurately replayed, rather than being limited to messages. . .Sh INSTALLING .Nm requires LibreSSL .Pq Fl ltls and primarily targets .Fx , where it is sandboxed with .Xr capsicum 4 . Linux and macOS are also supported. .Bd -literal -offset indent \&./configure make all sudo make install .Ed . .Pp If LibreSSL is installed in a non-standard prefix, set .Ev PKG_CONFIG_PATH appropriately. For example: .Bd -literal -offset indent PKG_CONFIG_PATH=/opt/libressl/lib/pkgconfig ./configure .Ed . .Sh FILES .Bl -tag -width "dispatch.c" -compact .It Pa bounce.h declarations and common functions .It Pa bounce.c configuration and event loop .It Pa local.c local server binding .It Pa server.c remote server connection .It Pa client.c remote client connections .It Pa state.c state shared between clients .It Pa ring.c buffer between server and clients .It Pa config.c .Xr getopt_long 3 Ns -integrated configuration parsing .It Pa dispatch.c SNI socket dispatch .It Pa compat.h compatibility with other systems .It Pa rc.d/ .Fx .Xr rc 8 scripts .El . .Sh CONTRIBUTING The upstream URL of this project is .Aq Lk https://git.causal.agency/pounce . Contributions in any form can be sent to .Aq Mt list+pounce@causal.agency . For sending patches by email, see .Aq Lk https://git-send-email.io . . .Sh SEE ALSO .Xr calico 1 , .Xr pounce 1 . .Pp Central logging with full-text search: .Lk https://git.causal.agency/litterbox "litterbox" . .Rs .%A June Bug .%T IRC Suite .%U https://text.causal.agency/010-irc-suite.txt .%D June 19, 2020 .Re