NAME
  snowcone - solanum server notice console
SYNOPSIS
  snowcone MODE [--config PATH]

DESCRIPTION
  snowcone provides a live view of server notices focused on awareness
  of recent connections and disconnections to the network. It can show
  information about the most recent connections as well as various load
  meters split by server and operators. It does this with a run-time
  editable scripting environment to support rapidly adapting to the
  needs of the current situation.

MODES
  F1  recent connections
  F2  server connection load
  F3  recent exits
  F4  server exit load
  F5  bans
  F6  channel creates and floods
  F7  network-mask connection tracker
  F8  raw IRC console
  C-n  next view
  C-p  previous view
  C-s  live filtering mode
  C-u  kill to beginning of buffer
  C-k  kill to end of buffer
  C-w  kill previous word
  M-d  kill next word
  C-y  paste yanked region
  C-a  move to beginning of buffer
  C-e  move to end of buffer
  C-f  move right
  C-b  move left
  C-t  swap characters
  M-f  next word
  M-b  previous word
  UP   older command history
  DOWN  newer command history
  PgUp  scroll up
  PgDn  scroll down
  Esc   clear filters, reset scroll, clear status message

SH RECENT CONNECTIONS
  The recent connections view has a number of special features. Click on
  a connection to select it for kline or unkline. The buttons below will
  allow you to set kline reasons, durations, and to see the number of
  affected users before you commit to the action.

  Q     only live connections
  W     only dead connections
  E     all connections
  K     issue kline

  The first column shows when a user connected. It fades from white a
  character per second to indicate the most recent connections. Times
  are displayed in UTC.

  The second column usually shows reconnection counts for that nickname.
  When a client triggers a server-side filter, this counter will switch
  to showing the number of times this connection has tripped a filter.
  This is indicated with an exclamation point after the number.

  The third column shows the nickname, username, and hostname of the
  connected user. It will be green while the user is connected and turns
  red when the user disconnects. It updates when a user changes nicknames.

  The fourth column can show disconnect reasons, IP addresses, and GeoIP
  ASN names (in that order of preference). You can override that preference
  by cycling through modes using the first button in the toolbar.

  The fifth column shows the server the user is connected to.

  The sixth column shows the SASL identified account name for the user,
  if applicable, as well as the GECOS field.

SERVER LOAD
  The server load views (for connections and disconnections) provide a
  view of the load rates as well as the current state of the DNS
  rotations. Each column heading can be clicked in order to chose a
  sort order for this view.

  The rotating bar graphs show the number of events per second for the
  last minute. The bar graphs max out at 8 events per second.

  The load averages give an approximation of the number of connections
  per second in either the last 1, 5, or 15 minutes. These varying
  time windows can help interpret the numbers as showing when rates
  are increasing or decreasing over time and to help put spikes into
  perspective.

  The various columns full of 4 and 6 show which servers have known
  IPv4 and IPv6 address. They turn yellow when that address is in
  the DNS rotation corresponding to the column.

  The Mn column shows the MAIN rotation. The region column shows the
  region a server is in and if the server is in that region's DNS
  rotation. The AF column shows the IPV4 and IPV6 rotations.

  The Conns column shows the number number of connections for that
  server.

  The Up column shows the server this server is linked to in the
  direction of the configured primary_hub.

RAW CLIENT
  The raw client view (F8) is primarily intended for debugging. It exists
  to see what snowcone sees. To see details about any one message, click
  on its command text.

COMMANDS
  You can run client commands from any window. When you startup typing
  a command with a '/' character, the input buffer will replace the last
  line in the client.

  /eval luacode             Evaluate arbitrary Lua code
  /filter pattern           Update the recent connection filter
                            using Lua pattern syntax
  /nettrack label address/prefix  Add a network to the F7 tracking view
  /quote raw_command        Send a raw IRC command
  /reload                   Reload Lua files
  /sync                     Manually refresh user counts
  /addwatch pattern         Add a new watch
  /delwatch number          Remove watch by number
  /banload                  Load meters for kline setting
  /spamload                 Load meters for filter events
  /repeats                  List of repeated connections by nicknames and masks
  /stats                    Internal client metrics
  /versions                 Populate the server list version column
  /uptimes                  Populate the server list startup column
GEOIP SUPPORT
  Both legacy GeoIP and modern GeoIP Maxmind database are supported
  and will be used if they are found at startup time.
NETWORK CONFIGURATION
  Information about your network can be populated in the servers
  configuration file. The MAIN, IPV4, and IPV6 regions get special
  rendering treatment in the server list.

	{
	  primary_hub = 'hub.irc.tld',
	  regions = {
	    MAIN = { hostname = 'irc.tld' },
	    US   = { hostname = 'us.irc.tld', color = 'red' },
	  },
	  servers = {
	    'xyz.irc.tld' =
	      { alias = 'Xy', region = 'US',
	        ipv4 = '192.0.2.1', ipv6 = '2001:db8::16' }
	  },
	  kline_reasons = {
	    { 'banned', 'You are banned.' },
	  },
	}
SASL SUPPORT
  mechanism          One of the mechanisms below
  username           Authentication identity
  password           Authentication password or private key password
  authzid            Authorization identity
  key                Private key path

  For password-based authentication mechanisms the password
  will be used as your credential. For asymmetric cryptography
  mechanisms, this will be used to decrypt the private key.

  Private key files should be PEM encoded.

  An optional (and very uncommon) authorization identity can be specified
  with authzid.

  PLAIN
  EXTERNAL
  ECDH-X25519-CHALLENGE
  ECDSA-NIST256P-CHALLENGE
  SCRAM-SHA-1
  SCRAM-SHA-256
  SCRAM-SHA-512

FILES
  ~/.config/snowcone/settings.lua
    Connection configuration file using lua syntax

  ~/.config/snowcone/servers.lua
    Lua syntax table specifying server addresses and regions.

  /usr/share/snowcone/dashboard
    Lua run-time source files for dashboard mode

  /usr/share/snowcone/ircc
    Lua run-time source files for ircc mode

  ~/.config/snowcone/GeoLite2-ASN.mmdb
    If the mmdb Lua library is installed, and the GeoLite2-ASN.mmdb
    database is in the current directory, snowcone will use it to provide
    more information about recent connections.
AUTHOR
  snowcone was written by Eric Mertens <glguy@libera.chat> and is published
  under the ISC license.
