soju forked to be LESS SHIT
8951760733
Because msgstore_fs writes logs in localtime, the CHATHISTORY timestamps (UTC) must be converted to localtime prior to filtering ranges ensure the right range is sent back to the client. Prior to this patch, the iteration back from the BEFORE time failed to load the hours between midnight UTC and midnight localtime in each day's logged messages. This is because the final time to be considered in a day's log file (the "start" time) reuses the previous start time's locale: start = time.Date(year, month, day, 0, 0, 0, 0, start.Location()).Add(-1) By converting the original start and end from the CHATHISTORY commands to localtime in Load*Time and ListTargets, we ensure we read through midnight each day. |
||
---|---|---|
cmd | ||
config | ||
contrib | ||
doc | ||
.build.yml | ||
.editorconfig | ||
.gitignore | ||
bridge.go | ||
config.in | ||
conn.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 | ||
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
- 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, use make 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