Find a file
delthas a64e1d6761
Add support for downstream LIST to a single upstream
Sometimes, doing a LIST on a single upstream can be useful: if a user is
already connected to Rizon and freenode, sending a LIST will contain
tens of thousands of LIST replies that may not be useful if the user is
interested in another upstream.

This adds support for sending `LIST */network`, which follows the ELIST
M mask extension, that will only send LIST to that specific network. No
other masks are supported by this commit.
2020-05-27 23:43:46 +02:00
cmd Add ability to change password 2020-04-10 10:09:02 +02:00
config config: use shlex 2020-04-01 14:58:14 +02:00
doc Add support for detached channels 2020-05-01 15:18:14 +02:00
.build.yml ci: add builds.sr.ht manifest 2020-03-18 10:28:58 +01:00
.gitignore doc: document "network delete" 2020-04-01 17:38:09 +02:00
bridge.go Add support for multiple user channel memberships 2020-05-11 12:25:49 +02:00
conn.go Use a lock to protect conn.{closed,outgoing} 2020-04-30 10:35:02 +02:00
db.go Add support for detached channels 2020-05-01 15:18:14 +02:00
downstream.go Add support for downstream LIST to a single upstream 2020-05-27 23:43:46 +02: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 Fix parsing MODE messages by updating channel memberships 2020-05-21 22:36:54 +02:00
LICENSE Switch license to AGPLv3 2020-02-07 17:41:51 +01:00
logger.go Parse timestamp from message tags in messageLogger.Append 2020-04-08 10:19:33 +02:00
Makefile Move man page to doc/ 2020-03-27 19:23:41 +01:00
README.md readme: add CI badge 2020-05-01 21:58:29 +02:00
ring.go Remove Ring.consumers 2020-04-07 14:46:31 +02:00
server.go Introduce conn for common connection logic 2020-04-03 16:35:08 +02:00
service.go Remove network.upstream 2020-04-30 10:25:16 +02:00
upstream.go Update downstream nicks in single-server mode and after NICK 2020-05-27 23:42:38 +02:00
user.go Update downstream nicks in single-server mode and after NICK 2020-05-27 23:42:38 +02:00

soju

builds.sr.ht status

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

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 doc/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