24 Commits

Author SHA1 Message Date
koizumi.aoi
94fa2da825 feat: replace mattn/go-sqlite3 with modernc.org/sqlite - this also means CGo is not needed anymore
git-svn-id: file:///srv/svn/repo/suika/trunk@813 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-23 19:27:39 +00:00
koizumi.aoi
96f31cd0d1 Update go.mod
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: file:///srv/svn/repo/suika/trunk@808 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-22 01:16:21 +00:00
contact
d2da74aa69 Upgrade dependencies
git-svn-id: file:///srv/svn/repo/suika/trunk@791 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-03-03 08:00:36 +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
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
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