about summary refs log tree commit diff
path: root/README.7
diff options
context:
space:
mode:
Diffstat (limited to 'README.7')
-rw-r--r--README.7156
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