soju forked to be LESS SHIT
Go to file
Simon Ser 6143e6f12d Introduce conn.NewContext
This function wraps a parent context, and returns a new context
cancelled when the connection is closed. This will make it so
operations started from downstreamConn.handleMessage will be
cancelled when the connection is closed.
2021-11-17 13:13:55 +01:00
cmd sojuctl: use background context 2021-11-17 11:54:28 +01:00
config Add config option to globally disable multi-upstream mode 2021-11-17 11:41:11 +01:00
contrib contrib/znc-import: use background context 2021-11-17 11:56:16 +01:00
doc Add config option to globally disable multi-upstream mode 2021-11-17 11:41:11 +01:00
.build.yml ci: switch to alpine/latest 2021-10-15 09:59:53 +02:00
.editorconfig Add .editorconfig 2020-11-30 11:39:41 +01:00
.gitignore doc: document "network delete" 2020-04-01 17:38:09 +02:00
bridge.go Implement casemapping 2021-03-24 18:15:52 +01:00
certfp.go Split CertFP logic into separate file 2021-10-08 09:47:25 +02:00
config.in Make db and log config options more future-proof 2021-04-21 18:15:04 +02:00
conn.go Introduce conn.NewContext 2021-11-17 13:13:55 +01:00
db_postgres_test.go db_postgres: add migration test 2021-10-11 15:55:07 +02:00
db_postgres.go Make Network.Nick optional 2021-11-02 23:33:17 +01:00
db_sqlite_test.go db_sqlite: add migration test 2021-10-11 12:26:51 +02:00
db_sqlite.go Make Network.Nick optional 2021-11-02 23:33:17 +01:00
db.go Fix upstream USER command when both username and nick are empty 2021-11-07 18:33:59 +01:00
downstream.go Introduce conn.NewContext 2021-11-17 13:13:55 +01:00
go.mod Upgrade dependencies 2021-10-12 16:54:51 +02:00
go.sum Upgrade dependencies 2021-10-12 16:54:51 +02:00
ident.go ident: remove leftover debug log 2020-08-18 17:57:12 +02:00
irc.go Add support for MONITOR 2021-11-15 14:34:04 +01:00
LICENSE Switch license to AGPLv3 2020-02-07 17:41:51 +01:00
Makefile build: don't clobber config file 2021-10-08 09:11:31 +02:00
msgstore_fs.go msgstore_fs: abort on timeout 2021-11-03 18:21:12 +01:00
msgstore_memory.go msgstore_memory: add comment about Append dropping messages 2021-11-03 18:25:39 +01:00
msgstore.go msgstore: add context to messageStore methods 2021-11-03 18:21:05 +01:00
net_go113.go go fmt: add go:build tags 2021-09-09 10:07:37 +02:00
net_go116.go go fmt: add go:build tags 2021-09-09 10:07:37 +02:00
README.md readme: add note to use system libsqlite3 2021-09-21 11:44:08 +02:00
server_test.go Use background context in tests 2021-11-17 12:04:24 +01:00
server.go Add config option to globally disable multi-upstream mode 2021-11-17 11:41:11 +01:00
service_test.go Hand-made word splitter for BouncerServ 2021-06-24 19:33:46 +02:00
service.go Allow most config options to be reloaded 2021-11-16 00:38:04 +01:00
upstream.go Add support for draft/extended-monitor 2021-11-15 14:38:19 +01:00
user.go Add context arg to downstreamConn.welcome() 2021-11-17 12:33:30 +01: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

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