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

scooper
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.
./configure
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

server.h
shared declarations and inline functions
server.c
CGI and FastCGI dispatch
networks.c
networks page handler
contexts.c
contexts page handler
events.c
events page handler
search.c
search page handler
html.c
shared HTML generation
default.css
default stylesheet
color.css
IRC color definitions
css.sh
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⟩.

scooper(1)

litterbox

August 23, 2020 Causal Agency