Find a file
2020-03-20 00:29:03 +01:00
cmd Rename project to soju 2020-03-13 18:13:03 +01:00
config Rename project to soju 2020-03-13 18:13:03 +01:00
.build.yml ci: add builds.sr.ht manifest 2020-03-18 10:28:58 +01:00
.gitignore Add sojuctl to .gitignore 2020-03-13 18:14:14 +01:00
bridge.go Rename project to soju 2020-03-13 18:13:03 +01:00
db.go schema: add Network.name 2020-03-19 00:06:48 +01:00
downstream.go Add WHO support 2020-03-20 00:29:03 +01:00
go.mod Remove some IRCv3 constants 2020-03-19 14:51:45 +01:00
go.sum Remove some IRCv3 constants 2020-03-19 14:51:45 +01:00
irc.go Remove some IRCv3 constants 2020-03-19 14:51:45 +01:00
LICENSE Switch license to AGPLv3 2020-02-07 17:41:51 +01:00
Makefile Add basic Makefile 2020-03-19 15:11:43 +01:00
README.md readme: add ref to man page, add link to GitHub repo 2020-03-19 14:33:49 +01:00
ring.go Rename project to soju 2020-03-13 18:13:03 +01:00
schema.sql schema: add Network.name 2020-03-19 00:06:48 +01:00
server.go Per-user dispatcher goroutine 2020-03-16 12:44:59 +01:00
service.go Add create-network bouncer service command 2020-03-19 01:14:44 +01:00
soju.1.scd man: fix typo 2020-03-19 14:18:31 +01:00
upstream.go Add WHO support 2020-03-20 00:29:03 +01:00
user.go Add create-network bouncer service command 2020-03-19 01:14:44 +01:00

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.

License

AGPLv3, see LICENSE.

Copyright (C) 2020 Simon Ser