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
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
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
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
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
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
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
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
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