soju forked to be LESS SHIT
27f21eab94
Fixes the following: goroutine 4380762 [running]: runtime/debug.Stack() runtime/debug/stack.go:24 +0x65 git.sr.ht/~emersion/soju.(*Server)addUserLocked.func1.1() git.sr.ht/~emersion/soju/server.go:318 +0x66 panic({0x563f090c4460, 0xc002bff998}) runtime/panic.go:1038 +0x215 git.sr.ht/~emersion/soju.(*upstreamConn).isChannel(...) git.sr.ht/~emersion/soju/upstream.go:288 git.sr.ht/~emersion/soju.(*downstreamConn).handleMessageRegistered(0xc00c23a000, {0x563f0910eb20, 0xc0027539e0}, 0xc01b8d6240) git.sr.ht/~emersion/soju/downstream.go:1836 +0xd4ec git.s.ht/~emersion/soju.(*downstreamConn).handleMessage(0xc00c3a000, {0x563f0910eae8, 0xc000026058}, 0xc01b8d6240) git.sr.ht/~emersion/soju/downstream.go:697 +0xde git.sr.ht/~emersion/soju.(*user).run(0xc00be4a0b0) git.sr.ht/~emersion/soju/user.go:675 +0xbe5 git.sr.ht/~emersion/soju.(*Server).addUserLocked.func1() git.sr.ht/~emersion/soju/server.go:328 +0x70 |
||
---|---|---|
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_test.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