README(7) FreeBSD Miscellaneous Information Manual README(7)

web interface for litterbox

scooper is a CGI and FastCGI web interface for litterbox 1.4 and later. It provides IRC log listings and full-text search.

scooper targets FreeBSD, OpenBSD and Linux, and requires kcgi and SQLite.
make all
make install

On FreeBSD and OpenBSD, scooper is statically linked so it can easily run in chroot(2) with kfcgi(8). The default install PREFIX is also set to ~/.local, which is a convenient chroot(2) path with access to the default litterbox(1) database.

scooper automatically detects if it is being run as CGI or as a FastCGI worker. The kfcgi(8) daemon included with kcgi(3) can be used to run FastCGI workers.

scooper can be configured on the command line or through environment variables. See scooper(1) for details.

Use kfcgi(8) to run scooper as the user who owns litterbox(1):
kfcgi -u www -s /var/run/scooper.sock \
	-U $user -p /home/$user/.local \
	-- /bin/scooper /share/litterbox/litterbox.sqlite

Configure nginx(8) to serve scooper at /scooper/, for example:

location /scooper/ {
	fastcgi_pass unix:/var/run/scooper.sock;
	fastcgi_split_path_info (/scooper)(.*);
	fastcgi_param PATH_INFO $fastcgi_path_info;
	include fastcgi_params;

Use kfcgi(8) to run scooper as the user who owns litterbox(1):
kfcgi -u www -s /var/www/run/scooper.sock \
	-U $user -p /home/$user/.local \
	-- /bin/scooper /share/litterbox/litterbox.sqlite

Configure httpd(8) to serve scooper at /scooper/, for example:

location "/scooper/*" {
	request strip 1
	fastcgi socket "/run/scooper.sock"

On FreeBSD and OpenBSD, the kfcgi(8) daemon can be managed by the catsit process supervisor. For example with the following lines in catsit.conf(5):
% sock=/var/run/scooper.sock
% scooper='/bin/scooper /share/litterbox/litterbox.sqlite'
@scooper kfcgi -d -u www -s $sock -U $USER -p ~/.local -- $scooper

shared declarations and inline functions
CGI and FastCGI dispatch
networks page handler
contexts page handler
events page handler
search page handler
shared HTML generation
default stylesheet
IRC color definitions
CSS concatenation for static inclusion

The upstream URL of this project is ⟨https://git.causal.agency/scooper⟩. Contributions in any form can be sent to <list+scooper@causal.agency>. For sending patches by email, see ⟨https://git-send-email.io⟩.



August 23, 2020 Causal Agency