summary refs log tree commit diff
path: root/README.7
blob: 59220cc08dab596da49531ea2b2fb059ada59958 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
.Dd October 26, 2019
.Dt README 7
.Os "Causal Agency"
.
.Sh NAME
.Nm pounce
.Nd IRC pouncer :3
.
.Sh DESCRIPTION
.Nm
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.
.
.Pp
.Nm
requires LibreSSL
.Pq Fl ltls
and targets
.Fx .
.
.Sh RATIONALE
As a former
.Xr 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
.Xr 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.
.
.Pp
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.
.
.Sh FILES
.Bl -tag -width "rc.pounce" -compact
.It Pa bounce.h
common declarations and default paths
.It Pa bounce.c
command line parsing and event loop
.It Pa listen.c
local server functions
.It Pa server.c
remote server functions
.It Pa client.c
remote client functions
.It Pa state.c
state shared between clients
.It Pa ring.c
buffer between server and clients
.It Pa rc.pounce
.Fx
.Xr rc 8
script
.El
.
.Sh SEE ALSO
.Xr pounce 1
mp;follow=1'>Set up Makefile for gfxx-cocoa or gfxx-fbJune McEnroe 2018-02-04Avoid doing excessive work in gfxxJune McEnroe 2018-02-04Handle window resizing in gfcocoaJune McEnroe 2018-02-04Set cinoptionsJune McEnroe 2018-02-04Tweak colorscheme moreJune McEnroe 2018-02-04Color MatchParen DarkYellowJune McEnroe 2018-02-04Add palette sampling to gfxxJune McEnroe 2018-02-04Add 4-bit RGB to gfxxJune McEnroe 2018-02-04Add Quit menu item to gfcocoaJune McEnroe 2018-02-04Switch back to sane Objective-C styleJune McEnroe 2018-02-04Quit gfcocoa when window closesJune McEnroe 2018-02-03Apparently this is how people write Objective-CJune McEnroe