LITTERBOX(1) General Commands Manual LITTERBOX(1) NAME litterbox – IRC logger SYNOPSIS litterbox [-Qqv] [-N network] [-U url] [-c cert] [-d path] [-h host] [-j join] [-k priv] [-l limit] [-n nick] [-p port] [-t trust] [-u user] [-w pass] [config ...] litterbox -i | -m [-d path] litterbox -b path [-d path] DESCRIPTION The litterbox daemon logs IRC (over TLS) activity to a database which may be queried with scoop(1). Messages, notices, joins, parts, quits, kicks, nick changes, topic changes, bans and unbans are recorded in the database. The contents of messages are indexed for full-text search. The litterbox daemon may be connected to the pounce(1) IRC bouncer alongside regular clients to provide central logging and a simple search query interface with -q. The database must be initialized with -i. If the database format has changed, it will be migrated automatically when litterbox starts, or can be migrated explicitly with -m. Live backups of the database can be made with -b. Instances of litterbox connected to different IRC networks will share the same database. Options can be loaded from files listed on the command line. Files are searched for in $XDG_CONFIG_DIRS/litterbox unless the path starts with ‘/’, ‘./’ or ‘../’. Each option is placed on a line, and lines beginning with ‘#’ are ignored. The options are listed below following their corresponding flags. The arguments are as follows: -N name | network = name Set the network name to be used if the server does not send RPL_ISUPPORT NETWORK. The default is the server hostname. -Q | public-query Enable the public search query interface. This allows anyone to perform searches in private messages to litterbox. Search results are limited to channels on the current network. Searches use the full-text search index. The searchable columns are channel, nick, user, target, message. -U url | scooper-url = url Set the base URL of a scooper(1) instance used to construct links to full search results in response to the search query interface enabled by -Q or -q. -b path Perform a live database backup to path and exit. This operation requires SQLite version 3.27.0 or newer. -c path | cert = path Load the TLS client certificate from path and authenticate with SASL EXTERNAL, also known as CertFP. The path is searched for in the same manner as configuration files. If the private key is in a separate file, it is loaded with -k. -d path | database = path Set the path to the database file. See FILES for the default paths. -h host | host = host Connect to host. -i Initialize the database and exit. -j chan | join = chan Join the comma-separated list of channels chan. -k path | priv = path Load the TLS client private key from path. The path is searched for in the same manner as configuration files. -l limit | limit = limit Limit the number of results in the search query interface enabled by -Q or -q. The default limit is 10. -m Migrate the database to the latest format and exit. -n nick | nick = nick Set the nickname to nick. The default nickname is “litterbox”. -p port | port = port Connect to port. The default port is 6697. -q | private-query Enable the private search query interface. When connected to pounce(1), this allows the user to private message their own nickname with search queries. Search results are limited to the current network. Searches use the full-text search index. The searchable columns are channel, query, nick, user, target, message. -t path | trust = path Trust the self-signed certificate loaded from path and disable server name verification. The path is searched for in the same manner as configuration files. -u user | user = user Set the username to user. The default username is the same as the nickname. -v | verbose Write sent and received IRC messages as well as SQL INSERT statements to standard error. -w pass | pass = pass Log in with the server password pass. FILES $XDG_CONFIG_DIRS/litterbox Configuration files are searched for first in $XDG_CONFIG_HOME, usually ~/.config, followed by the colon-separated list of paths $XDG_CONFIG_DIRS. $XDG_DATA_DIRS/litterbox/litterbox.sqlite The database file is searched for first in $XDG_DATA_HOME, usually ~/.local/share, followed by the colon-separated list of paths $XDG_DATA_DIRS. ~/.local/share/litterbox/litterbox.sqlite The most likely default path of the database file. EXAMPLES Configuration on the command line: litterbox -Q -h irc.example.org -j '#example' Configuration in a file: host = irc.example.org join = #example public-query SEE ALSO scoop(1), unscoop(1) Full-text Query Syntax: https://www.sqlite.org/fts5.html#full_text_query_syntax STANDARDS C. Kalt, Internet Relay Chat: Client Protocol, IETF, RFC 2812, https://tools.ietf.org/html/rfc2812, April 2000. Kyle Fuller, Stéphan Kochen, Alexey Sokolov, and James Wheare, IRCv3.2 server-time Extension, IRCv3 Working Group, https://ircv3.net/specs/extensions/server-time-3.2. Waldo Bastian, Ryan Lortie, and Lennart Poettering, XDG Base Directory Specification, https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html, November 24, 2010. William Pitcock and Jilles Tjoelker, IRCv3.1 SASL Authentication, IRCv3 Working Group, https://ircv3.net/specs/extensions/sasl-3.1.html. Extensions The litterbox daemon implements the causal.agency/consumer and causal.agency/passive vendor-specific IRCv3 capabilities offered by pounce(1). AUTHORS June McEnroe <june@causal.agency> BUGS Send mail to <list+litterbox@causal.agency> or join #ascii.town on irc.tilde.chat. Linux 6.10.6-artix1-1 April 3, 2021 Linux 6.10.6-artix1-1