soju forked to be LESS SHIT
cb52f393f4
This prevents this panic: panic: send on closed channel goroutine 9 [running]: git.sr.ht/~emersion/soju.(*upstreamConn).SendMessage(...) /home/simon/src/soju/upstream.go:866 git.sr.ht/~emersion/soju.(*upstreamConn).handleMessage(0xc000084b40, 0xc000144680, 0x2, 0x0) /home/simon/src/soju/upstream.go:152 +0x62b git.sr.ht/~emersion/soju.(*user).run(0xc0000b8070) /home/simon/src/soju/user.go:144 +0x53d created by git.sr.ht/~emersion/soju.(*Server).Run /home/simon/src/soju/server.go:88 +0x286 |
||
---|---|---|
cmd | ||
config | ||
.build.yml | ||
.gitignore | ||
bridge.go | ||
db.go | ||
downstream.go | ||
go.mod | ||
go.sum | ||
irc.go | ||
LICENSE | ||
Makefile | ||
README.md | ||
ring.go | ||
schema.sql | ||
server.go | ||
service.go | ||
soju.1.scd | ||
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
sqlite3 soju.db <schema.sql
go run ./cmd/sojuctl create-user <username>
go run ./cmd/soju
Then connect with username <username>@chat.freenode.net
and join #soju
.
See the man page at soju.1.scd
for more information.
Contributing
Send patches on the mailing list or on GitHub, report bugs on the issue tracker. Discuss in #soju on Freenode.
License
AGPLv3, see LICENSE.
Copyright (C) 2020 Simon Ser