about summary refs log tree commit diff
README(7) Miscellaneous Information Manual README(7)

scooperweb 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. scooper uses a local copy of 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"
}

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

October 21, 2023 Causal Agency
tr class='nohover-highlight'> 2019-10-22Add ConcreteJune McEnroe Fun. 2019-10-14Set the write variable for nvim man modeJune McEnroe Embarrassing... 2019-10-13Add All Systems RedJune McEnroe 2019-10-10Add The Book of PhoenixJune McEnroe 2019-10-03Add two Kim Petras songsJune McEnroe 2019-10-02Update neovim 0.4.2June McEnroe Finally a release with my man mode fix... Meanwhile neovim itself has probably gotten worse. 2019-10-02Claim to be curl(1) in titleJune McEnroe IMDB serves a page to our dumb User-Agent whose <title> is past the 8K boundary but serves something normal to curl(1). 2019-10-02Add The Red Threads of FortuneJune McEnroe 2019-09-28Add The Black Tides of HeavenJune McEnroe 2019-09-27Fail on HTTP failure status in titleJune McEnroe 2019-09-23Add Trail of LightningJune McEnroe 2019-09-22Revert "Enable cookies in title"June McEnroe This reverts commit 3231fe21d3b389448c9a5ca7b4c91fdd25c9e677. 2019-09-20Enable cookies in titleJune McEnroe Perhaps this will make it less suspicious to Google. Who knows. 2019-09-16Use sensitivity aliases in TF2June McEnroe 2019-09-16Add The Just CityJune McEnroe 2019-09-12Only GET the final redirect locationJune McEnroe 2019-09-12Consume entire bodyJune McEnroe Aborting the request and leaving data around may be causing intermittent errors. Just discard the rest of the data. 2019-09-10Add title -v flagJune McEnroe 2019-09-10Use curl error bufferJune McEnroe 2019-09-10Set Accept-Encoding in titleJune McEnroe Because apparently it's fine for servers to respond with Content-Encoding you didn't ask for, and curl won't decode it if you didn't ask for it. 2019-09-08Set title User-AgentJune McEnroe Some things don't like you if you don't send one. 2019-09-07Add -x flag to titleJune McEnroe 2019-09-07Ignore SIGPIPE in relayJune McEnroe Allows restarting consumers safely. 2019-09-07Add A Memory Called EmpireJune McEnroe 2019-09-05Handle lack of Content-TypeJune McEnroe 2019-09-05Use CURLINFO_CONTENT_TYPEJune McEnroe Oops, didn't see this. 2019-09-05Decode entities in titlesJune McEnroe 2019-09-05Print title as soon as it's availableJune McEnroe 2019-09-05Use CURL_PREFIX to set flagsJune McEnroe 2019-09-05Add titleJune McEnroe 2019-09-04Add Avorter n'est pas tuerJune McEnroe 2019-08-29Unset executable on shell scriptsJune McEnroe 2019-08-29Add long-missing setopt to bin.7June McEnroe 2019-08-29Add editJune McEnroe