|README(7)||FreeBSD Miscellaneous Information Manual||README(7)|
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 server-time extension, all events can be accurately replayed, rather than being limited to messages.
pouncerequires libtls, provided by either LibreTLS (for OpenSSL) or by LibreSSL. It primarily targets FreeBSD, where it is sandboxed with capsicum(4), and OpenBSD, where it is sandboxed with pledge(2) and unveil(2). Linux and macOS are also supported. On OpenBSD, configure with
./configure make all sudo make install
If installing libtls manually to
/usr/local, for example, make sure
/usr/local/lib appears in
/etc/ld.so.conf.d/* and be sure to run
ldconfig(8) once the library is
./configure to find it.
On FreeBSD and
OpenBSD the recommended way to run
pounce is with the process supervisor
- Logging can be provided by litterbox.
- Push notifications for the Palaver IRC app can be provided by
pounce-palaver, located in the contrib/palaver directory. It additionally requires libcurl and libsqlite3.
- declarations and common functions
- configuration and event loop
- local server binding
- remote server connection
- remote client connections
- state shared between clients
- buffer between server and clients
- sandboxed certificate reloading
- getopt_long(3)-integrated configuration parsing
- XDG base directories
- SNI socket dispatch
Central logging with full-text search: litterbox
June Bug, IRC Suite, https://text.causal.agency/010-irc-suite.txt, June 19, 2020.
|August 30, 2020||Causal Agency|