soju forked to be LESS SHIT
Go to file
2022-06-13 11:11:15 +02:00
cmd config: add message-store memory 2022-05-09 16:59:27 +02:00
config config: add message-store memory 2022-05-09 16:59:27 +02:00
contrib Introduce a database package 2022-05-09 15:08:04 +02:00
database database: add User.{Check,Set}Password 2022-06-08 13:27:33 +02:00
doc Add soju.im/account-required 2022-06-04 10:52:28 +02:00
identd Move identd to separate package 2022-05-09 16:36:54 +02:00
msgstore Add msgstore package 2022-05-09 16:25:57 +02:00
xirc xirc: add GenerateSASL 2022-05-30 09:41:47 +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
certfp.go Split CertFP logic into separate file 2021-10-08 09:47:25 +02:00
config.in Rename "log" config directive to "message-store" 2022-05-09 16:41:41 +02:00
conn.go Add context to {conn,upstreamConn}.SendMessage 2021-12-08 18:03:40 +01:00
downstream.go database: add User.{Check,Set}Password 2022-06-08 13:27:33 +02:00
go.mod Upgrade dependencies 2022-06-13 11:11:15 +02:00
go.sum Upgrade dependencies 2022-06-13 11:11:15 +02:00
irc_test.go irc: add isHighlight tests 2022-02-25 11:31:41 +01:00
irc.go Don't provide name in channel casemapMap Set and ForEach 2022-06-06 10:05:31 +02:00
LICENSE Switch license to AGPLv3 2020-02-07 17:41:51 +01:00
Makefile makefile: switch to BSD/GNU make 2022-02-08 16:10:19 +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
rate.go Add exponential backoff when re-connecting to upstream 2021-12-02 12:14:35 +01:00
README.md readme: restrict CI badge to master branch 2022-04-28 14:13:13 +02:00
server_test.go Introduce a database package 2022-05-09 15:08:04 +02:00
server.go Move identd to separate package 2022-05-09 16:36:54 +02:00
service_test.go Hand-made word splitter for BouncerServ 2021-06-24 19:33:46 +02:00
service.go database: add User.{Check,Set}Password 2022-06-08 13:27:33 +02:00
upstream.go Don't provide name in channel casemapMap Set and ForEach 2022-06-06 10:05:31 +02:00
user.go Don't provide name in channel casemapMap Set and ForEach 2022-06-06 10:05:31 +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
  • BSD or GNU make
  • 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, set 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