opinionated sqlite-only fork of https://codeberg.org/emersion/soju
  • Go 99.5%
  • Makefile 0.3%
  • Shell 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-02 17:48:05 +01:00
auth Introduce constants for DB, message store, auth and file upload drivers 2026-03-18 09:12:45 +01:00
cmd add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
config add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
contrib contrib/quassel-import: add quassel postgresql importer 2026-04-12 15:54:38 +02:00
database add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
doc IRCv3 spec no-implicit-names has been ratified. 2026-05-16 09:36:54 +02:00
fileupload Introduce constants for DB, message store, auth and file upload drivers 2026-03-18 09:12:45 +01:00
identd identd: use UNKNOWN for OS name 2023-02-23 13:27:25 +01:00
msgstore Introduce constants for DB, message store, auth and file upload drivers 2026-03-18 09:12:45 +01:00
vendor add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
xirc Take map in GenerateIsupport 2026-03-12 20:33:57 +01:00
.build.yml Migrate to Codeberg 2024-07-04 21:28:11 +02:00
.editorconfig Add .editorconfig 2020-11-30 11:39:41 +01:00
.gitignore gitignore: add doc/sojuctl.1 2023-04-05 10:56:36 +02:00
certfp.go Split CertFP logic into separate file 2021-10-08 09:47:25 +02:00
config.in Switch message-store to db in default config file 2025-05-13 13:05:03 +02:00
conn.go add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
downstream.go add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
go.mod add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
go.sum add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
irc.go Migrate to Codeberg 2024-07-04 21:28:11 +02:00
irc_test.go Ignore highlights in URLs 2024-03-01 11:33:01 +01:00
LICENSE Switch license to AGPLv3 2020-02-07 17:41:51 +01:00
Makefile pam: change service name to soju and install etc/pam.d/soju 2025-04-04 09:03:44 -04:00
rate.go Add exponential backoff when re-connecting to upstream 2021-12-02 12:14:35 +01:00
README.md add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
server.go add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
server_test.go add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
service.go service: fix not accepting irc+unix:// for network address 2026-07-26 18:18:36 +01:00
service_test.go Hand-made word splitter for BouncerServ 2021-06-24 19:33:46 +02:00
upstream.go add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00
user.go add websocket ping, remove metrics, remove postgres, use ncruces/go-sqlite3, update deps 2026-08-02 17:48:05 +01:00

soju

Opinionated fork of soju. Changes:

  • no postgres support, only sqlite
  • uses github.com/ncruces/go-sqlite3 driver
  • opens sqlite3 with journal_mode(WAL), synchronous(NORMAL)
  • allows 2 * $GOMAXPROCS max open sqlite3 connections
  • removes metrics

soju is a user-friendly IRC bouncer. soju connects to upstream IRC servers on behalf of the user to provide extra functionality. soju supports many features such as multiple users, numerous IRCv3 extensions, chat history playback and detached channels. It is well-suited for both small and large deployments.

Usage

Building and installing

Dependencies:

  • Go
  • BSD or GNU make
  • 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. See the development setup page.

Contributing

Send patches on Codeberg and report bugs on the issue tracker. Discuss in #soju on Libera Chat.

License

AGPLv3, see LICENSE.

Copyright (C) 2020 The soju Contributors