diff options
Diffstat (limited to 'README.7')
-rw-r--r-- | README.7 | 156 |
1 files changed, 126 insertions, 30 deletions
diff --git a/README.7 b/README.7 index 225a7a7..b15a8e2 100644 --- a/README.7 +++ b/README.7 @@ -1,4 +1,4 @@ -.Dd March 1, 2020 +.Dd October 21, 2023 .Dt README 7 .Os "Causal Agency" . @@ -9,11 +9,38 @@ .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 +It maintains a persistent connection +to an IRC server, +acting as a proxy and buffer +for a number of clients. +When a client connects, +any messages received +since it last disconnected +will be relayed to it. +Unlike some other bouncers, +.Nm +uses a single buffer +for all IRC messages, +which acts as a queue +from which each client +reads messages independently. +. +.Pp +.Nm +speaks regular modern IRC +to both servers and clients, +using the .Sy server-time -extension to communicate with clients. +extension to indicate +when messages originally occurred. +Clients identify themselves to +.Nm +by their IRC usernames. +See +.Xr QUIRKS 7 +for notes on connecting +.Nm +with particular networks and clients. . .Sh RATIONALE As a former @@ -42,35 +69,95 @@ rather than being limited to messages. . .Sh INSTALLING .Nm -requires LibreSSL -.Pq Fl ltls -and primarily targets -.Fx , -as well as macOS and Linux. -On -.Fx , -processes are sandboxed with -.Xr capsicum 4 . -On other systems, -who knows what might happen? +requires +.Sy libtls , +provided by either +.Lk https://git.causal.agency/libretls/about LibreTLS +(for OpenSSL) +or by LibreSSL. +.Nm +and +.Sy libtls +may be packaged for your system. +Check the Repology pages for +.Lk https://repology.org/project/pounce/versions pounce +and +.Lk https://repology.org/project/libretls/versions libretls . . +.Pp +.Nm +primarily targets +.Ox , +where it is sandboxed with +.Xr pledge 2 +and +.Xr unveil 2 . +.Fx , +Linux and macOS +are also supported. .Bd -literal -offset indent \&./configure make all -sudo make install PREFIX=/usr/local +sudo make install .Ed . .Pp -If your system installs LibreSSL -in a non-standard path, set +If installing +.Sy libtls +manually to +.Pa /usr/local , +for example, +make sure +.Pa /usr/local/lib +appears in +.Pa /etc/ld.so.conf +or +.Pa /etc/ld.so.conf.d/* +and be sure to run +.Xr ldconfig 8 +once the library is installed. +Set .Ev PKG_CONFIG_PATH for -.Nm ./configure . -For example, +.Nm ./configure +to find it. .Bd -literal -offset indent -PKG_CONFIG_PATH=/opt/libressl/lib/pkgconfig ./configure +PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure .Ed . +.Pp +On +.Ox +the recommended way to run +.Nm +is with the process supervisor +.Lk https://git.causal.agency/kitd kitd . +. +.Ss Additional Components +Additional functionality can be provided +by special-purpose clients connected to +.Nm . +.Bl -inset +.It Lk https://git.causal.agency/litterbox litterbox +provides logging and search. +.It Xr pounce-notify 1 +provides notifications +by running an external command. +Configure with +.Fl \-enable-notify +to build. +.It Xr pounce-palaver 1 +provides push notifications +for the Palaver IRC app. +Configure with +.Fl \-enable-palaver +to build. +Requires +.Sy libcurl +and +.Sy libsqlite3 . +.El +. .Sh FILES .Bl -tag -width "dispatch.c" -compact .It Pa bounce.h @@ -90,23 +177,25 @@ buffer between server and clients .It Pa config.c .Xr getopt_long 3 Ns -integrated configuration parsing +.It Pa xdg.c +XDG base directories .It Pa dispatch.c SNI socket dispatch -.It Pa compat.h -compatibility with lesser operating 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 . -I'm happy to receive contributions in any form at -.Aq Mt june@causal.agency . +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 . +Mailing list archives are available at +.Aq Lk https://causal.agency/list/pounce.html . +. +.Pp +Monetary contributions can be +.Lk https://liberapay.com/june/donate "donated via Liberapay" . . .Sh SEE ALSO .Xr calico 1 , @@ -115,3 +204,10 @@ For sending patches by email, see .Pp Central logging with full-text search: .Lk https://git.causal.agency/litterbox "litterbox" +. +.Rs +.%A June McEnroe +.%T IRC Suite +.%U https://text.causal.agency/010-irc-suite.txt +.%D June 19, 2020 +.Re |