soju forked to be LESS SHIT
Go to file
delthas 19795a2321 Add support for IRC address schemes
This is preparatory work for adding other connection types to upstream
servers. The service command `network create` now accepts a scheme in
the address flag, which specifies how to connect to the upstream server.

The only supported scheme for now is ircs, which is also the default if
no scheme is specified. ircs connects to a network over a TLS TCP
connection.
2020-04-28 11:41:13 +02:00
cmd Add ability to change password 2020-04-10 10:09:02 +02:00
config config: use shlex 2020-04-01 14:58:14 +02:00
doc Add support for IRC address schemes 2020-04-28 11:41:13 +02:00
.build.yml ci: add builds.sr.ht manifest 2020-03-18 10:28:58 +01:00
.gitignore doc: document "network delete" 2020-04-01 17:38:09 +02:00
LICENSE Switch license to AGPLv3 2020-02-07 17:41:51 +01:00
Makefile Move man page to doc/ 2020-03-27 19:23:41 +01:00
README.md readme: fix ref to manpage 2020-04-16 18:55:21 +02:00
bridge.go Make downstreamConn.marshal{Entity,UserPrefix} take a network 2020-04-16 17:19:00 +02:00
conn.go Introduce conn for common connection logic 2020-04-03 16:35:08 +02:00
db.go Add network.channels, remove DB.GetChannel 2020-04-23 16:36:20 +02:00
downstream.go Unmarshal nicks in texts of PRIVMSG and NOTICE from downstreams 2020-04-24 18:26:44 +02:00
go.mod Remove some IRCv3 constants 2020-03-19 14:51:45 +01:00
go.sum Remove some IRCv3 constants 2020-03-19 14:51:45 +01:00
irc.go Request server-time cap 2020-03-31 19:45:04 +02:00
logger.go Parse timestamp from message tags in messageLogger.Append 2020-04-08 10:19:33 +02:00
ring.go Remove Ring.consumers 2020-04-07 14:46:31 +02:00
server.go Introduce conn for common connection logic 2020-04-03 16:35:08 +02:00
service.go Add support for IRC address schemes 2020-04-28 11:41:13 +02:00
upstream.go Add support for IRC address schemes 2020-04-28 11:41:13 +02:00
user.go Add network.channels, remove DB.GetChannel 2020-04-23 16:36:20 +02:00

README.md

soju

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

go run ./cmd/sojuctl create-user <username>
go run ./cmd/soju

Then connect with username <username>/chat.freenode.net and join #soju.

See the man page at doc/soju.1.scd for more information.

Contributing

Send patches on the mailing list or on GitHub, report bugs on the issue tracker. Discuss in #soju on Freenode.

License

AGPLv3, see LICENSE.

Copyright (C) 2020 Simon Ser