24 Commits

Author SHA1 Message Date
chris
8d94f8a743 bump required go version to 1.15
requires functions added to the stdlib in 1.15

downstream.go references tls.Dialer
user.go references Resolver.LookupIP

git-svn-id: file:///srv/svn/repo/suika/trunk@763 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-01-03 20:01:44 +00:00
contact
5d8bf4f0ef Use golang.org/x/time/rate
Instead of hand-rolling our own rate-limiter based on goroutines,
use golang.org/x/time/rate.

git-svn-id: file:///srv/svn/repo/suika/trunk@741 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-12-02 22:52:29 +00:00
contact
9faf7f6b8f Upgrade dependencies
git-svn-id: file:///srv/svn/repo/suika/trunk@714 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-11-17 15:57:41 +00:00
contact
7eaaf2b78f Add basic Prometheus metrics exporter
This only exports the default metrics for now.

References: https://todo.sr.ht/~emersion/soju/142

git-svn-id: file:///srv/svn/repo/suika/trunk@707 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-11-17 14:58:18 +00:00
contact
bf890cb13a Upgrade dependencies
git-svn-id: file:///srv/svn/repo/suika/trunk@626 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-12 14:54:51 +00:00
hubert
bbe15df672 PostgreSQL support
git-svn-id: file:///srv/svn/repo/suika/trunk@620 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-11 13:21:04 +00:00
contact
fbf641890a Upgrade dependencies
git-svn-id: file:///srv/svn/repo/suika/trunk@587 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-09-13 12:23:33 +00:00
hubert
b29276873f Hand-made word splitter for BouncerServ
Remove the (direct) dependency on shlex (go-scfg still depends on it).

Co-authored-by: Simon Ser <contact@emersion.fr>

git-svn-id: file:///srv/svn/repo/suika/trunk@566 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-24 17:33:46 +00:00
contact
de665fc884 Update dependencies
git-svn-id: file:///srv/svn/repo/suika/trunk@490 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-03-31 16:18:16 +00:00
contact
00fbbb9d0d Use BARE for internal message IDs
This allows to have shorter and more future-proof IDs. This also
guarantees the IDs will only use reasonable ASCII characters (no
spaces), removing the need to encode them for PING/PONG tokens.

git-svn-id: file:///srv/svn/repo/suika/trunk@488 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-03-31 15:57:24 +00:00
contact
dd8e8e72e7 Update dependencies
In particular, go-irc v3.1.4 should fix empty IRC message handling.

git-svn-id: file:///srv/svn/repo/suika/trunk@445 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-01-19 18:20:04 +00:00
contact
913aa6a8a6 Upgrade dependencies
git-svn-id: file:///srv/svn/repo/suika/trunk@425 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-10-25 17:15:54 +00:00
contact
9ff097eeed Switch to go-scfg
We don't use child directives yet, but likely will in the future.

git-svn-id: file:///srv/svn/repo/suika/trunk@424 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-10-25 17:10:50 +00:00
contact
40d0ab8c62 Add support for the PROXY protocol
IPs whitelisted in accept-proxy-ip can now use the PROXY protocol to
indicate the original source/destination addresses.

Closes: https://todo.sr.ht/~emersion/soju/81

git-svn-id: file:///srv/svn/repo/suika/trunk@418 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-09-07 19:28:24 +00:00
contact
1651025402 Update dependencies
git-svn-id: file:///srv/svn/repo/suika/trunk@410 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-08-24 17:05:56 +00:00
contact
f38af41317 Add support for WebSocket connections
WebSocket connections allow web-based clients to connect to IRC. This
commit implements the WebSocket sub-protocol as specified by the pending
IRCv3 proposal [1].

WebSocket listeners can now be set up via a "wss" protocol in the
`listen` directive. The new `http-origin` directive allows the CORS
allowed origins to be configured.

[1]: https://github.com/ircv3/ircv3-specifications/pull/342

git-svn-id: file:///srv/svn/repo/suika/trunk@323 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-06-07 12:13:46 +00:00
contact
b7f48f8766 Remove some IRCv3 constants
go-irc v3.1.2 adds some missing IRCv3 constants.

git-svn-id: file:///srv/svn/repo/suika/trunk@125 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-19 13:51:45 +00:00
contact
0504ff78cf Add basic infrastructure for bouncer service
git-svn-id: file:///srv/svn/repo/suika/trunk@117 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-18 11:23:08 +00:00
contact
1a9d6a58a0 Rename project to soju
git-svn-id: file:///srv/svn/repo/suika/trunk@98 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-13 17:13:03 +00:00
contact
68661c503a Update dependencies
go-irc v3.1.1 contains a breaking change.

References: https://github.com/go-irc/irc/issues/76

git-svn-id: file:///srv/svn/repo/suika/trunk@96 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-13 15:18:53 +00:00
contact
68b7b4461c Add support for SASL authentication
We now store SASL credentials in the database and automatically populate
them on NickServ REGISTER/IDENTIFY.

References: https://todo.sr.ht/~emersion/jounce/10

git-svn-id: file:///srv/svn/repo/suika/trunk@95 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-13 14:12:44 +00:00
contact
79f3b73eab cmd/jouncectl: new command
Allows to create users.

git-svn-id: file:///srv/svn/repo/suika/trunk@84 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-11 18:01:03 +00:00
contact
18c962e5c0 Add SQLite database
Closes: https://todo.sr.ht/~emersion/jounce/9

git-svn-id: file:///srv/svn/repo/suika/trunk@77 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-04 17:22:58 +00:00
contact
d7aeee7cc9 Add basic IRC listener
git-svn-id: file:///srv/svn/repo/suika/trunk@1 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-04 09:46:22 +00:00