soju forked to be LESS SHIT
Go to file
Simon Ser 241e27b00e Add support for WHOX
This adds support for WHOX, without bothering about flags and mask2
because Solanum and Ergo [1] don't support it either.

The motivation is to allow clients to reliably query account names.

It's not possible to use WHOX tokens to route replies to the right
client, because RPL_ENDOFWHO doesn't contain it.

[1]: https://github.com/ergochat/ergo/pull/1184

Closes: https://todo.sr.ht/~emersion/soju/135
2021-11-02 18:25:43 +01:00
cmd Add context args to Database interface 2021-10-18 19:15:15 +02:00
config Add bouncer MOTD 2021-10-13 10:58:34 +02:00
contrib Add context args to Database interface 2021-10-18 19:15:15 +02:00
doc Add bouncer MOTD 2021-10-13 10:58:34 +02: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 Workaround lack of net.ErrClosed in WebSocket library 2021-09-21 11:49:48 +02:00
db_postgres_test.go db_postgres: add migration test 2021-10-11 15:55:07 +02:00
db_postgres.go Add context args to Database interface 2021-10-18 19:15:15 +02:00
db_sqlite_test.go db_sqlite: add migration test 2021-10-11 12:26:51 +02:00
db_sqlite.go Add context args to Database interface 2021-10-18 19:15:15 +02:00
db.go Add context args to Database interface 2021-10-18 19:15:15 +02:00
downstream.go Add support for WHOX 2021-11-02 18:25:43 +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 WHOX 2021-11-02 18:25:43 +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: rename log dir when network is renamed 2021-10-15 18:11:04 +02:00
msgstore_memory.go Check message stores implement expected interfaces 2021-05-18 14:19:34 +02:00
msgstore.go Implement CHATHISTORY TARGETS 2021-06-02 20:32:11 +02: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 Add context args to Database interface 2021-10-18 19:15:15 +02:00
server.go Fix missing imports in server.go 2021-10-29 16:18:34 +02:00
service_test.go Hand-made word splitter for BouncerServ 2021-06-24 19:33:46 +02:00
service.go Add context args to Database interface 2021-10-18 19:15:15 +02:00
upstream.go Add support for WHOX 2021-11-02 18:25:43 +01:00
user.go Add context args to Database interface 2021-10-18 19:15:15 +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

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