JustAnotherArchivist
e8b54c6ec0
Fix missing f-string marker
3 роки тому
JustAnotherArchivist
4f2d8c6cb5
Log exception type on process errors
4 роки тому
JustAnotherArchivist
c2803274d1
Handle message-less Grafana alerts
4 роки тому
JustAnotherArchivist
e34772fb70
Fix crash in IRCClientProtocol.send_messages due to missing overlongmode in unconfirmedMessages
4 роки тому
JustAnotherArchivist
f1275fc7ca
Evaluate module paths relative to the config file or the code path
4 роки тому
JustAnotherArchivist
b9b2eedcaf
Evaluate client cert paths relative to config file
4 роки тому
JustAnotherArchivist
10633e12fb
Add README.md and LICENSE
4 роки тому
JustAnotherArchivist
98f8821fda
Add option to truncate overlong messages instead of splitting them
4 роки тому
JustAnotherArchivist
ced83b2fd4
Add Grafana module
4 роки тому
JustAnotherArchivist
4d0a4c8c8e
Log request body
4 роки тому
JustAnotherArchivist
6c358a207c
Clean up duplicate encoding
4 роки тому
JustAnotherArchivist
609829bf55
Track usermask and account for it in the message splitting
Since the ircd will prefix each message with the origin usermask when broadcasting to the other users, it will have to split or truncate the message sent by the user. Charybdis and ratbox silently truncate it.
4 роки тому
JustAnotherArchivist
46d48a480c
Tighten length limit for channel names according to RFC 1459
4 роки тому
JustAnotherArchivist
843775e948
Crash loudly if an IRC message is too long despite all the checks and splits
4 роки тому
JustAnotherArchivist
8f8e7cb0ed
Ensure that everything fits into IRC's line length limit or split up accordingly
4 роки тому
JustAnotherArchivist
8f84c2a81c
Handle various possible error messages from the IRC server
4 роки тому
JustAnotherArchivist
aa375f81c0
Validate IRC channel name
4 роки тому
JustAnotherArchivist
383637ec05
Validate maps
4 роки тому
JustAnotherArchivist
471290356d
Switch from CertFP to the more reliable and secure SASL EXTERNAL
4 роки тому
JustAnotherArchivist
ffee32980d
Clean up logging
4 роки тому
JustAnotherArchivist
d00c59e6bc
Add a way to pass additional arguments into the module
4 роки тому
JustAnotherArchivist
a91e61b84c
Add support for transformation/translation modules that do arbitrary request processing to generate the message
Fixes #3
4 роки тому
JustAnotherArchivist
ca525c6b84
Support web server config changes
4 роки тому
JustAnotherArchivist
7fcf7d5f0e
Make logging configurable through config file
4 роки тому
JustAnotherArchivist
5077db0a6b
Fix InvalidStateError in MessageQueue when the IRC server closes the connection
4 роки тому
JustAnotherArchivist
859146621a
Get rid of the SimpleNamespace for configuration since it complicates config change detection
SimpleNamespace's documentation does not say anything about equality tests, which is why the update_config methods checked the relevant values using a tuple instead. But as more config values are added, this makes the comparisons unnecessarily long. A dict simplifies this. As a side-effect, the constraints of the maps keys being a valid identifier are no longer relevant either.
4 роки тому
JustAnotherArchivist
a1b4969ccf
Add welcome message and PING handling
4 роки тому
JustAnotherArchivist
8f069ccac1
Catch config errors on reload
4 роки тому
JustAnotherArchivist
a888c9b9cb
Wait for connection registration before trying to join channels and send messages
4 роки тому
JustAnotherArchivist
86746f55a0
Handle prefixed messages from the server
4 роки тому
JustAnotherArchivist
03dfcf3e79
Add CertFP support
4 роки тому
JustAnotherArchivist
542cdb7140
Use plain text message payloads instead of JSON
4 роки тому
JustAnotherArchivist
abe75596c8
Fix usage string
4 роки тому
JustAnotherArchivist
b73483c62b
Add example config file
4 роки тому
JustAnotherArchivist
8e5fbe765d
Confirm message delivery by periodic PINGs
This assumes that a PONG response from the server means the connection is still intact. The messages could still have been dropped for weird reasons, but short of using a second client to confirm the delivery directly, there is no better option to test this.
RFC 1459 actually specifies that "servers should not respond to PING commands". However, this recommendation has been removed in RFC 2812, and in practice, all common IRC servers seem to respond to PINGs.
4 роки тому
JustAnotherArchivist
e9a7780450
Refactor into more flexible tool supporting multiple endpoints and channels (nodeping2irc -> http2irc) with no-downtime config changes using a TOML config file and SIGUSR1 to reload and adapt accordingly
4 роки тому
JustAnotherArchivist
12fe8d1e3f
Move hardcoded data to command-line arguments
4 роки тому
JustAnotherArchivist
804ebbf866
Cleanup
4 роки тому
JustAnotherArchivist
3728d0224e
Add fake IRC server for testing/dev
4 роки тому
JustAnotherArchivist
a738562a6e
Replace message queue with own implementations that permits putting messages back on the queue
4 роки тому
JustAnotherArchivist
a11f745056
Initial commit
4 роки тому