Find a file
2021-10-05 14:14:31 +02:00
cmd Set a higher timeout for proxyproto listeners 2021-09-19 17:00:40 +02:00
config Make db and log config options more future-proof 2021-04-21 18:15:04 +02:00
contrib contrib/clients: sort alphabetically and wrap lines 2021-07-07 10:37:18 +02:00
doc service: Introduce network quote 2021-07-07 10:34:46 +02:00
.build.yml ci: add gofmt check 2021-06-29 22:24:44 +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
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.go Add per-user realname setting 2021-06-25 20:33:13 +02:00
db_sqlite.go db_sqlite: fix realname not fetched in ListUsers 2021-10-05 11:10:48 +02:00
downstream.go Allow CAP negotiation to happen with CAP REQ 2021-09-19 16:50:47 +02:00
go.mod Upgrade dependencies 2021-09-13 14:23:33 +02:00
go.sum Upgrade dependencies 2021-09-13 14:23:33 +02:00
ident.go ident: remove leftover debug log 2020-08-18 17:57:12 +02:00
irc.go Implement CHATHISTORY BETWEEN 2021-05-18 10:44:10 +02:00
LICENSE Switch license to AGPLv3 2020-02-07 17:41:51 +01:00
Makefile Don't build soju when calling "make install" 2021-05-25 16:31:06 +02:00
msgstore.go Implement CHATHISTORY TARGETS 2021-06-02 20:32:11 +02:00
msgstore_fs.go msgstore_fs: escape "." and ".." 2021-09-19 16:55:12 +02:00
msgstore_memory.go Check message stores implement expected interfaces 2021-05-18 14:19:34 +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.go Use isErrClosed in Server.Serve 2021-10-05 14:02:59 +02:00
server_test.go test: add NOTICE broadcast 2021-10-05 14:14:31 +02:00
service.go service: Introduce network quote 2021-07-07 10:34:46 +02:00
service_test.go Hand-made word splitter for BouncerServ 2021-06-24 19:33:46 +02:00
upstream.go Add per-user realname setting 2021-06-25 20:33:13 +02:00
user.go Don't send network notification when removed 2021-09-13 10:33:46 +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