IRC bouncer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Causal Agent db3433432b
Refactor filterUserhostInNames
пре 1 час
rc.d Set up /var/run/calico and /usr/local/etc/pounce пре 1 недеља
.gitignore Revert "Test getopt_config" пре 1 дан
Darwin.mk Assume LibreSSL from brew on Darwin пре 1 недеља
LICENSE Change license to GPLv3 пре 1 недеља
Linux.mk Use -l:filename in Linux.mk пре 6 дана
Makefile Revert "Test getopt_config" пре 1 дан
README.7 Add capsicum note to README пре 2 дана
bounce.c Rename listen to local пре 3 дана
bounce.h Filter userhost-in-names пре 2 дана
calico.1 Document calico service configuration пре 6 дана
client.c Refactor filterUserhostInNames пре 1 час
compat.h Fix compat.h for #defined strlcpy пре 6 дана
config.c Revert "Test getopt_config" пре 1 дан
dispatch.c Declare more missing functions and deal with lack of SO_NOSIGPIPE пре 1 недеља
local.c Rename listen to local пре 3 дана
pounce.1 Add userhost-in-names to manual пре 2 дана
ring.c Change license to GPLv3 пре 1 недеља
server.c Change license to GPLv3 пре 1 недеља
state.c Filter invite-notify пре 2 дана

README.7

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

NAME
     pounce – IRC pouncer :3

DESCRIPTION
     pounce is a multi-client, TLS-only IRC bouncer.  It takes a simple
     approach, using a multiple-consumer ring buffer and the IRCv3.2
     server-time extension to communicate with clients.

     pounce requires LibreSSL (-ltls) and targets FreeBSD.  It can also be
     built on Darwin or GNU/Linux by copying the appropriate file to config.mk
     and modifying as needed.  On FreeBSD, processes are sandboxed with
     capsicum(4).  On other systems, who knows what might happen?

RATIONALE
     As a former znc(1) user, I was dissatisfied with the multi-client
     experience it offered.  I wanted to connect from both my laptop and my
     phone and have full chat history on both.  With znc(1), my options were
     either having both clients spammed with redundant history every time they
     connect, or having one client consume the buffer and the other get no
     history at all.

     With a multiple-consumer ring buffer, each client has its own place in
     the history and can be brought up to date independently.  Additionally,
     by expecting clients to implement the server-time extension, all events
     can be accurately replayed, rather than being limited to messages.

FILES
     bounce.h    declarations and common functions
     bounce.c    configuration and event loop
     local.c     local server binding
     server.c    remote server connection
     client.c    remote client connections
     state.c     state shared between clients
     ring.c      buffer between server and clients
     config.c    getopt_long(3)-integrated configuration parsing
     dispatch.c  SNI socket dispatch
     compat.h    compatibility with lesser operating systems
     rc.d/       FreeBSD rc(8) scripts

SEE ALSO
     calico(1), pounce(1)

Causal Agency                  November 10, 2019                 Causal Agency