soju forked to be LESS SHIT
cae248f672
READ lets downstream clients share information between each other about what messages have been read by other downstreams. Each target/entity has an optional corresponding read receipt, which is stored as a timestamp. - When a downstream sends: READ #chan timestamp=2020-01-01T01:23:45.000Z the read receipt for that target is set to that date - soju sends READ to downstreams: - on JOIN, if the client uses the soju.im/read capability - when the read receipt timestamp is set by any downstream The read receipt date is clamped by the previous receipt date and the current time. |
||
---|---|---|
cmd | ||
config | ||
contrib | ||
doc | ||
.build.yml | ||
.editorconfig | ||
.gitignore | ||
bridge.go | ||
certfp.go | ||
config.in | ||
conn.go | ||
db_postgres_test.go | ||
db_postgres.go | ||
db_sqlite_test.go | ||
db_sqlite.go | ||
db.go | ||
downstream.go | ||
go.mod | ||
go.sum | ||
ident.go | ||
irc.go | ||
LICENSE | ||
Makefile | ||
msgstore_fs.go | ||
msgstore_memory.go | ||
msgstore.go | ||
net_go113.go | ||
net_go116.go | ||
rate.go | ||
README.md | ||
server_test.go | ||
server.go | ||
service_test.go | ||
service.go | ||
upstream.go | ||
user.go |
soju
A user-friendly IRC bouncer.
- Multi-user
- Support multiple clients for a single user, with proper backlog synchronization
- Support connecting to multiple upstream servers via a single IRC connection to the bouncer
Usage
Building and installing
Dependencies:
- Go
- BSD or GNU make
- a C89 compiler (for SQLite)
- scdoc (optional, for man pages)
For end users, a Makefile
is provided:
make
sudo make install
For development, you can use go run ./cmd/soju
as usual.
To link with the system libsqlite3, set GOFLAGS="-tags=libsqlite3"
.
Contributing
Send patches on the mailing list or on GitHub, report bugs on the issue tracker. Discuss in #soju on Libera Chat.
License
AGPLv3, see LICENSE.
Copyright (C) 2020 The soju Contributors