86 Commits (f942e94ee56c8d4d16fb3881ff8f83c45c029fd2)

Author SHA1 Message Date
Mark Veidemanis f0acbdbfa3 Begin work on API endpoint 2 years ago
Mark Veidemanis e5a14b2c91 Reformat again 2 years ago
Mark Veidemanis a5fd7d60fd Remove some legacy code 2 years ago
Mark Veidemanis f4c5323de1 Reformat project 2 years ago
Mark Veidemanis 6c7d0d5c45 Reformat and fix circular import 2 years ago
Mark Veidemanis 3229d9b806 Revert "Reformat project"
This reverts commit 64e3e1160aa76d191740342ab3edc68807f890fb.
2 years ago
Mark Veidemanis 760e43b59a Reformat project 2 years ago
Mark Veidemanis 9d4d31fdc2 Don't attempt secondary registration if it is disabled 2 years ago
Mark Veidemanis 7ffdc63eeb Rename time to ts 2 years ago
Mark Veidemanis 757b22c4a1 Extra error handling around emails 2 years ago
Mark Veidemanis ff1ee63900 Reformat code with pre-commit 2 years ago
Mark Veidemanis 152bc08970 Add Logstash file 3 years ago
Mark Veidemanis 14daa9dfef Don't discard server messages 4 years ago
Mark Veidemanis 0473c57291 Additional error handling for command parsing 4 years ago
Mark Veidemanis 399075afd1 Implement channel blacklisting 4 years ago
Mark Veidemanis a0bea0b18a Fix bug with using muser attribute when absent 4 years ago
Mark Veidemanis e22349802b Log error when ZNC says a channel can't be joined 4 years ago
Mark Veidemanis d60d89dbf6 Improve authentication detection
Add a negative check in the event we are authenticated and registered,
but not confirmed, as this fools other checks.
4 years ago
Mark Veidemanis b986d6ac45 Deauth bot when disconnected and lowercase user 4 years ago
Mark Veidemanis 7d9a45ee91 Add the time field to some notifications 4 years ago
Mark Veidemanis 82c5c2d163 Start implementing prefixes 4 years ago
Mark Veidemanis 3acf182171 Fixes to auth detection and message parsing
* don't check authentication if the network doesn't need to
  register
* don't pass through muser for ZNC type messages
* avoid duplicate message for queries containing highlights
* make a copy of the cast for metadata analysis to avoid poisoning it
* set up callback for when the instance is authenticated, so we can
  request a LIST immediately if so desired
* separate out seeding functions to populate CHANLIMIT to ease future
  work involving other options, such as PREFIX
4 years ago
Mark Veidemanis 2a9869d0f9 Remove condition-based monitoring system 4 years ago
Mark Veidemanis 1640955e5c Fix various bugs in the event system
Squash many bugs in the event notification system and simplify the
code.
4 years ago
Mark Veidemanis 097f100ec5 Implement authentication detection
* pending command to see which instances have never authenticated
* authcheck command to see which instances are not currently
  authenticated
4 years ago
Mark Veidemanis 5c6b626396 Check registration status before joining channels
Do not join channels if any relay for a network is unregistered.
4 years ago
Mark Veidemanis a3cdb35e05 Implement registration and confirmation of nicks 4 years ago
Mark Veidemanis 690bf93676 Fix variable scope in LIST error handling 4 years ago
Mark Veidemanis 06903d872e Add more comments and remove obsolete code 5 years ago
Mark Veidemanis 7ffb6125aa Fix various bugs uncovered by the LIST system
* Work around Twisted's broken handling of spaces
* Work around Twisted's broken line decoding
* Don't run signedOn twice for relays
* Improved detection of whether the endpoint is connected to ZNC
* Delay a LIST until all configured relays are online
* Discard a LIST if there are no callbacks for it
* Get rid of some double-negative ternary blocks
5 years ago
Mark Veidemanis b4fa747853 Fix LIST handling and message parsing
* Always use simple LIST syntax if it succeeded once after a failed
complex query
* Reject asking for a LIST twice
* Quickly discard any ISUPPORT messages that don't contain things we
need to use
* Detect the server name and drop any messages from the server
5 years ago
Mark Veidemanis f34de8940f Improve performance in userinfo
* Implement a nick -> user mapping, preventing a superfluous SSCAN on
the entire dataset for when networks are disconnected
* Use one thread for all channels when a network instance is
disconnected, instead of one thread per channel
* Made returns comprising of only a list into tuples
5 years ago
Mark Veidemanis 5777ef0cfe Improve ZNC error message detection 5 years ago
Mark Veidemanis 0321651c20 Implement fair channel allocation in ChanKeep
* Allocate channels to relays only if they have free space based on
their chanlimit value
* Minify channels by removing ones that are already covered before
passing them off to be joined
5 years ago
Mark Veidemanis 7a6e3338c0 Implement ChanKeep joining functions
* Low-key channel joining with incrementally increasing delay
* Spin up needed instances to be able to cover a certain channel space
* Fix provisioning functions to prevent race conditions with lots of
relays being created at once
* Tweakable switchover from covering all channels to only covering
channels with more users than the mean of the cumulative user count
5 years ago
Mark Veidemanis da14a86e70 Fix getting LIST output to work with more networks
* Parse ISUPPORT properly if more than one channel prefix is supported
* Retry getting LIST another way is the response is empty
5 years ago
Mark Veidemanis 06d3dd4d7e Implement storing analytics on a LIST response 5 years ago
Mark Veidemanis 15b394bd79 Implement requesting a LIST and parsing the output 5 years ago
Mark Veidemanis 5eda50af13 Use net and num instead of name in relay output 5 years ago
Mark Veidemanis 78e4d6bd66 Rename 'message' to 'msg' and 'target' to 'channel' 5 years ago
Mark Veidemanis ddadeb617c Change message to msg in relay output and in functions, include name in connection notifications instead of net 5 years ago
Mark Veidemanis 89894287b3 Add error handling to exec command and fix minor bug in cleaning up relays 5 years ago
Mark Veidemanis 32309ecec2 Change alias definitions to be global, so aliases can be reused across different networks 5 years ago
Mark Veidemanis 355a80b19b Fix the all and allc commands so they work with the new data format 5 years ago
Mark Veidemanis 15ca45e5df Implement Ctrl-C handling and fix a large number of small bugs 5 years ago
Mark Veidemanis 2d70d5af11 Add error checking in places, set up automatic relay provisioning and fix starting bots 5 years ago
Mark Veidemanis ff74968ff8 Merge branch 'master' into datarestructure 5 years ago
Mark Veidemanis c63f301b7f Defer initialUsers, initialNames and delChannel to threads to improve performance 5 years ago
Mark Veidemanis 22bd0d3ac6 Don't crash if the part message is null 5 years ago
Mark Veidemanis f34ddab6fc Improvements to query and self event detection, implement all command and debug flags 5 years ago