Implement indexing into Apache Druid #1

Closed
m wants to merge 263 commits from druid into master

263 Commits

Author SHA1 Message Date
Mark Veidemanis 143f2a0bf0
Implement sentiment/NLP annotation and optimise processing 2022-09-16 17:09:49 +01:00
Mark Veidemanis 4ea77ac543
Properly process Redis buffered messages and ingest into Kafka 2022-09-14 18:32:32 +01:00
Mark Veidemanis fec0d379a6
Ingest into Kafka and queue messages better 2022-09-13 22:17:46 +01:00
Mark Veidemanis 3c2adfc16e
Implement Apache Druid/Kafka and Metabase 2022-09-13 22:17:32 +01:00
Mark Veidemanis 79a430be04
Begin implementing Apache Druid 2022-09-08 07:20:30 +01:00
Mark Veidemanis baea6aebeb
Use stable after all 2022-09-08 07:20:30 +01:00
Mark Veidemanis eaecc5cdbe
Switch production image back to dev 2022-09-08 07:20:30 +01:00
Mark Veidemanis 764e36ef14
Lower memory requirements to prevent crashes 2022-09-08 07:20:30 +01:00
Mark Veidemanis 50a873dbba
Set dev image back to the default 2022-09-12 08:43:18 +01:00
Mark Veidemanis 21182629b4
Treat text fields as string and try beta Kibana image 2022-09-12 08:27:13 +01:00
Mark Veidemanis dfd71b6c64
Add Mysql port to ports instead of expose 2022-09-10 13:20:06 +01:00
Mark Veidemanis 1b0817b047
Expose the Mysql port 2022-09-10 13:16:19 +01:00
Mark Veidemanis 0ba4929294
Use dev image of manticore 2022-09-10 12:03:45 +01:00
Mark Veidemanis caded433b7
Remove indexer block to attempt to prevent Manticore DB crash 2022-09-08 07:20:30 +01:00
Mark Veidemanis bf802d7fdf
Reformat 2022-09-07 07:20:30 +01:00
Mark Veidemanis 89328a827a
Raise open files limit for Redis 2022-09-07 07:20:30 +01:00
Mark Veidemanis 32249a1d99
Add 4chan update message type to main types 2022-09-07 07:20:30 +01:00
Mark Veidemanis cdd12cd082
Implement threshold writing to Redis and manticore ingesting from Redis 2022-09-07 07:20:30 +01:00
Mark Veidemanis 137299fe9e
Add config directories to gitignore 2022-09-08 09:45:18 +01:00
Mark Veidemanis 2aedcf77a0
Add aioredis 2022-09-08 09:44:27 +01:00
Mark Veidemanis 49784dfbe5
Implement ingesting to Redis from Threshold 2022-09-07 07:20:30 +01:00
Mark Veidemanis a6b5348224
Config relative to Git dir 2022-09-05 07:20:30 +01:00
Mark Veidemanis d0fe2baafe
Store persistent database elsewhere 2022-09-05 07:20:30 +01:00
Mark Veidemanis e092327932
Improve DB performance with caching 2022-09-05 07:20:30 +01:00
Mark Veidemanis 8b9ad05089
Reformat legacy project 2022-09-05 07:20:30 +01:00
Mark Veidemanis 6b082adeb2
Merge branch 'threshold' 2022-09-06 12:50:25 +01:00
Mark Veidemanis bd9f9378cf
Moved files to subdirectory 2022-09-06 12:50:09 +01:00
Mark Veidemanis 62fe03a6cb
Increase thread delay time 2022-09-05 07:20:30 +01:00
Mark Veidemanis 297bbbe035
Alter schemas and 4chan performance settings 2022-09-05 07:20:30 +01:00
Mark Veidemanis ed7c439b56
Remove some debugging code 2022-09-05 07:20:30 +01:00
Mark Veidemanis ecb8079b5b
Change Python to 3.10 2022-09-05 07:20:30 +01:00
Mark Veidemanis 6811ce4af5
Update production env file path 2022-09-05 07:20:30 +01:00
Mark Veidemanis e34d281774
Remove development dotenv loading 2022-09-05 07:20:30 +01:00
Mark Veidemanis 91e18c60e6
Add debug statement 2022-09-05 07:20:30 +01:00
Mark Veidemanis 9c9d49dcd2
Reformat and set the net and channel for 4chan 2022-09-05 07:20:30 +01:00
Mark Veidemanis dcd648e1d2
Make crawler more efficient and implement configurable parameters 2022-09-05 07:20:30 +01:00
Mark Veidemanis 318a8ddbd5
Split thread list into chunks to save memory 2022-09-05 07:20:30 +01:00
Mark Veidemanis 20e22ae7ca
Reformat code 2022-09-04 21:40:04 +01:00
Mark Veidemanis 8feccbbf00
Reinstate Redis cache 2022-09-04 21:38:53 +01:00
Mark Veidemanis db46fea550
Run processing in thread 2022-09-04 21:29:00 +01:00
Mark Veidemanis 22cef33342
Implement aiohttp 2022-09-04 19:44:25 +01:00
Mark Veidemanis 663a26778d
Begin implementing aiohttp 2022-09-04 13:47:32 +01:00
Mark Veidemanis 36de004ee5
Implement running Discord and 4chan gathering simultaneously 2022-09-02 22:30:45 +01:00
Mark Veidemanis 2c3d83fe9a
Fix error when no email can be found 2022-08-27 11:19:28 +01:00
Mark Veidemanis d7adffb47f
Fix getting first relay when they are not sequential 2022-08-26 22:17:12 +01:00
Mark Veidemanis 4f4820818a
Log authentication messages 2022-08-16 23:01:42 +01:00
Mark Veidemanis 5cc38da00e
Implement deduplicating channels 2022-08-16 22:01:35 +01:00
Mark Veidemanis a4dae2a583
Switch to siphash 2022-08-18 07:20:30 +01:00
Mark Veidemanis 5f1667869f
Re-add fake messages 2022-08-15 19:49:21 +01:00
Mark Veidemanis 09a5cd14ad
Detect queries if nick and channel are the same 2022-08-15 19:24:42 +01:00
Mark Veidemanis 96de70aaf2
Add sinst fetch and fix message send logic 2022-08-15 19:15:12 +01:00
Mark Veidemanis f8c1e952bb
Switch debugging statements to trace in ChanKeep 2022-08-15 19:15:00 +01:00
Mark Veidemanis 36628e157d
Fix query handling and don't send a fake message 2022-08-15 17:59:31 +01:00
Mark Veidemanis aeee745ac9
Only run pingmsg after negative has completed 2022-08-18 07:20:30 +01:00
Mark Veidemanis d795af164f
Fix debug statements and amend function names 2022-08-18 07:20:30 +01:00
Mark Veidemanis 4acadd3508
Properly format string 2022-08-18 07:20:30 +01:00
Mark Veidemanis 5c4904ba56
Improve regPing debugging 2022-08-18 07:20:30 +01:00
Mark Veidemanis 4e88b93856
Improve regPing negative handling logic 2022-08-18 07:20:30 +01:00
Mark Veidemanis af1dba5741
Fix double messages and regPing logic 2022-08-18 07:20:30 +01:00
Mark Veidemanis 553e2eb2b7
Set the channel limit on connected relays, not active 2022-08-18 07:20:30 +01:00
Mark Veidemanis 3dfc6d736a
Look before you leap to confirming registrations 2022-08-18 07:20:30 +01:00
Mark Veidemanis 7ef76d1424
Fix IRC config mutation 2022-08-18 07:20:30 +01:00
Mark Veidemanis d78600a2f1
Change authentication endpoint 2022-08-18 07:20:30 +01:00
Mark Veidemanis f004bd47af
Reorder API endpoints to prevent clashing 2022-08-18 07:20:30 +01:00
Mark Veidemanis fafcff1427
Add more debugging information 2022-08-15 00:39:22 +01:00
Mark Veidemanis e56bd61362
Figure out the channel parsing logic 2022-08-15 00:36:36 +01:00
Mark Veidemanis 2b7bd486f1
Pass a list instead of listinfo 2022-08-15 00:29:08 +01:00
Mark Veidemanis a9592a85d0
Fix variable placement 2022-08-15 00:27:16 +01:00
Mark Veidemanis e77c046965
Fix list parsing 2022-08-15 00:26:11 +01:00
Mark Veidemanis 7a8cee1431
Fix debugging code in keepChannels 2022-08-15 00:08:11 +01:00
Mark Veidemanis e6527b4f9f
Add debugging code in keepChannels 2022-08-15 00:07:29 +01:00
Mark Veidemanis 8979a03bbd
Subtract one from length of list for indices 2022-08-15 00:04:49 +01:00
Mark Veidemanis f7b84913f2
Lower max_chans to length of LIST if it's shorter 2022-08-15 00:03:12 +01:00
Mark Veidemanis d46c98a211
Reset negative pass status when requesting recheck 2022-08-14 23:58:35 +01:00
Mark Veidemanis d68f0589cb
Implement initial WHO loop delay 2022-08-14 20:58:41 +01:00
Mark Veidemanis d9ec68708b
Fix getting all unregistered relays 2022-08-14 20:58:30 +01:00
Mark Veidemanis 1b77c50552
Blacklist channels we are kicked from 2022-08-14 20:44:04 +01:00
Mark Veidemanis 1ce5a8228c
Use JSON for sending messages 2022-08-14 16:45:40 +01:00
Mark Veidemanis f6f515b308
Implement API call to register 2022-08-14 16:26:09 +01:00
Mark Veidemanis 9864b4e2b5
Convert num to number in registration confirmation 2022-08-14 16:09:32 +01:00
Mark Veidemanis 2fdd0cf6b8
Allow current nick substitution in IRC commands 2022-08-14 15:53:18 +01:00
Mark Veidemanis 8c809ad444
Fix variable shadowing 2022-08-14 15:43:48 +01:00
Mark Veidemanis 2022ab985b
Print identification message 2022-08-14 13:51:13 +01:00
Mark Veidemanis b5e78bc4de
Implement manual authentication mode 2022-08-14 13:13:05 +01:00
Mark Veidemanis eba2c387f0
Implement API for authentication management actions 2022-08-14 12:43:33 +01:00
Mark Veidemanis 5123941c79
More debugging for reg tests and getstr command 2022-08-14 11:41:29 +01:00
Mark Veidemanis 6cc07c9171
Add allRelaysActive output to network info 2022-08-14 10:58:28 +01:00
Mark Veidemanis ed1f3cdca7
Add debug statements and only check if network is connected when parting channels 2022-08-14 09:25:54 +01:00
Mark Veidemanis 128e005611
Use JSON for joining channels and don't shadow auth variable when getting network info 2022-08-14 09:25:01 +01:00
Mark Veidemanis 713e03b66e
Make channel deletion endpoint accept JSON 2022-08-14 00:01:14 +01:00
Mark Veidemanis a0761ff1ae
LBYL 2022-08-13 23:38:13 +01:00
Mark Veidemanis 15523bed96
Add more information to relay API return 2022-08-13 23:36:39 +01:00
Mark Veidemanis 653d9ea4f9
Add even more debugging 2022-08-13 23:18:56 +01:00
Mark Veidemanis f1229a76e1
Extra debugging for getting active relays 2022-08-13 23:17:26 +01:00
Mark Veidemanis d4bcbf99e5
Fix typo in module name 2022-08-13 23:14:51 +01:00
Mark Veidemanis e517d04095
Extra debugging for get_first_relay 2022-08-13 23:14:17 +01:00
Mark Veidemanis 65697ce8f0
Filter queries more carefully 2022-08-13 22:46:10 +01:00
Mark Veidemanis ab9b0a1c9f
Update CHANLIMIT on all instances when set via API 2022-08-13 22:36:52 +01:00
Mark Veidemanis 60f7a84383
Add helper to get all active relays 2022-08-13 22:36:18 +01:00
Mark Veidemanis 956d328fd3
Implement API endpoint to enable authentication 2022-08-13 22:25:29 +01:00
Mark Veidemanis dcd7fcc3c0
Filter AUTH channel (OFTC fix) 2022-08-13 22:15:50 +01:00
Mark Veidemanis 7415ca5556
Use ChanKeep system for joining channels with joinSingle 2022-08-13 21:54:14 +01:00
Mark Veidemanis 9780a2dfc8
Fully make use of ECA for multiple channels 2022-08-13 21:40:53 +01:00
Mark Veidemanis c7fa508a38
Return chanlimit for each relay 2022-08-13 21:22:43 +01:00
Mark Veidemanis b83062c34f
Check token before attempting to confirm 2022-08-13 20:55:36 +01:00
Mark Veidemanis 2e57e0930a
Implement API endpoint for provisioning relays 2022-08-13 20:51:31 +01:00
Mark Veidemanis 43c5625b3b
Implement configurable chanlimit and add more fields about LIST output to Redis 2022-08-13 20:37:21 +01:00
Mark Veidemanis 291968fbc7
Implement updating registration via API 2022-08-13 20:36:51 +01:00
Mark Veidemanis dd67e9cc8b
Implement ChanKeep without requiring persistent chanlimits on all networks 2022-08-13 19:20:29 +01:00
Mark Veidemanis c145e5cf18
Add some debug statements and statistics for chanlimits 2022-08-13 18:40:13 +01:00
Mark Veidemanis 5db0373731
Print message if relay is unauthenticated/disconnected 2022-08-13 14:06:34 +01:00
Mark Veidemanis 6c11bbe912
Return relay numbers with channel list 2022-08-13 13:47:42 +01:00
Mark Veidemanis 4d543f31ec
Add connected status to IRC info return and check when getting active relays 2022-08-13 13:40:33 +01:00
Mark Veidemanis 6c92e8e7d9
Reformat code 2022-08-13 13:32:22 +01:00
Mark Veidemanis 836e621063
Implement getting LIST information from API 2022-08-13 13:27:20 +01:00
Mark Veidemanis 852d62a9c9
Provision relay on creation 2022-08-13 00:18:06 +01:00
Mark Veidemanis ddc9af0ddf
Add docstrings to chankeep 2022-08-12 23:53:02 +01:00
Mark Veidemanis edfb3f15eb
Implement migrating networks 2022-08-12 23:32:00 +01:00
Mark Veidemanis 14967f662c
Subtract allocated channel slots from total 2022-08-12 22:31:12 +01:00
Mark Veidemanis 0b370fc155
Improve channel allocation and write basic tests for it 2022-08-12 22:27:49 +01:00
Mark Veidemanis 9804f30060
Make channel join notification a TRACE 2022-08-12 20:19:39 +01:00
Mark Veidemanis f7d6cec896
Fix email command 2022-08-12 20:19:33 +01:00
Mark Veidemanis b871fea039
Add endpoint to get the bot's nickname 2022-08-09 07:20:30 +01:00
Mark Veidemanis e69ce5090a
Properly implement querying with API 2022-08-09 07:20:30 +01:00
Mark Veidemanis 813c9baf30
Get our hostname from WHO when we create fake events 2022-08-09 07:20:30 +01:00
Mark Veidemanis 220ce976f2
Fire a fake event when we send a message 2022-08-09 07:20:30 +01:00
Mark Veidemanis 719f014265
Implement best effort allocation 2022-08-11 21:44:19 +01:00
Mark Veidemanis 1ef600a9df
Simplify variable names and reformat 2022-08-11 20:51:41 +01:00
Mark Veidemanis b72a0672a5
Use ceil instead of round for relay number rounding 2022-08-11 20:46:44 +01:00
Mark Veidemanis bb3b96e7f7
Expand ECA secondary allocation algorithm 2022-08-11 20:43:34 +01:00
Mark Veidemanis c4db8ec99d
Adding more debug statements in ECA system 2022-08-11 20:36:24 +01:00
Mark Veidemanis 73b0518a8f
Print information about received LIST 2022-08-11 20:32:49 +01:00
Mark Veidemanis 571a527f43
Return correct data type for provisioning relays 2022-08-11 20:29:01 +01:00
Mark Veidemanis 4c3bab6d96
Simplify is_first_relay 2022-08-11 20:26:19 +01:00
Mark Veidemanis 14eb05722c
Add even more debugging 2022-08-11 20:21:39 +01:00
Mark Veidemanis 11c226833d
Add more LIST handling debugging 2022-08-11 20:18:49 +01:00
Mark Veidemanis ea81fc80e3
Don't add 1 to current relays when iterating 2022-08-11 20:13:30 +01:00
Mark Veidemanis 8cd22888b7
Add extra debug call for allRelaysActive 2022-08-11 20:12:38 +01:00
Mark Veidemanis ba4b8c7501
Reformat helpers 2022-08-11 20:09:14 +01:00
Mark Veidemanis 0666c4a153
Enable debug mode with env vars 2022-08-11 20:09:01 +01:00
Mark Veidemanis 2a5e6766be
Update IRC template 2022-08-11 19:49:58 +01:00
Mark Veidemanis c983a8e3b6
Allow gaps in relay numbering 2022-08-11 19:22:09 +01:00
Mark Veidemanis a3fe92bea9
Implement deleting networks 2022-08-02 09:01:34 +01:00
Mark Veidemanis 9b03485b69
More error handling when joining channels with ChanKeep 2022-08-02 09:01:24 +01:00
Mark Veidemanis 98dcb99f90
Implement adding networks 2022-08-01 23:02:20 +01:00
Mark Veidemanis aa68bfd9be
Implement requesting channel list for network 2022-08-01 21:38:46 +01:00
Mark Veidemanis f3f717e693
Remove debugging code 2022-08-01 21:31:48 +01:00
Mark Veidemanis 864f0904f5
Implement automatic provisioning 2022-08-01 19:34:35 +01:00
Mark Veidemanis b72d3d67a1
Implement updating aliases 2022-08-01 19:05:12 +01:00
Mark Veidemanis 96d189290b
Implement API endpoint to add next relay 2022-07-29 22:39:08 +01:00
Mark Veidemanis c950bcbd43
Implement deleeting relays and fix adding 2022-07-29 22:11:43 +01:00
Mark Veidemanis 4472352785
Reformat code 2022-07-29 17:28:19 +01:00
Mark Veidemanis 75f79cf072
Fix joining channels with inactive relays 2022-07-29 17:28:09 +01:00
Mark Veidemanis 1ca6d79868
Implement creating relays via the API 2022-07-29 17:27:40 +01:00
Mark Veidemanis 33466b90ba
Fix Redis config path 2022-07-29 22:22:22 +01:00
Mark Veidemanis 659d5b391b
Use proper port for SSL listener 2022-07-29 22:22:22 +01:00
Mark Veidemanis 6e1dfecc95
Disable RelayAPI by default in stack file 2022-07-29 22:22:22 +01:00
Mark Veidemanis 3354a94024
Add stack example to test production 2022-07-29 09:09:08 +01:00
Mark Veidemanis a5b25b2048
Use Git dir to make redis config absolute path 2022-07-29 09:06:13 +01:00
Mark Veidemanis 1f51bf2972
Use paths relative to root in production compose 2022-07-29 09:04:18 +01:00
Mark Veidemanis 6e41c8dfc0
Switch paths 2022-07-29 09:00:08 +01:00
Mark Veidemanis ce0b26577f
Use relative paths 2022-07-29 08:59:02 +01:00
Mark Veidemanis 335e602072
Fix redis.conf location in prod compose 2022-07-29 08:48:30 +01:00
Mark Veidemanis 1fcc9d6643
Don't pass template directory 2022-07-29 08:35:56 +01:00
Mark Veidemanis 1ab9824e95
Fix path issue 2022-07-29 08:32:39 +01:00
Mark Veidemanis 47312b04d4
Pass through configuration directories to compose 2022-07-29 08:31:01 +01:00
Mark Veidemanis 743c1d6be8
Fix environment variable path on production compose 2022-07-29 08:11:37 +01:00
Mark Veidemanis 1b60ec62f6
Properly configure production compose file 2022-07-29 08:02:10 +01:00
Mark Veidemanis 94303b1108
Create separate production configuration 2022-07-29 08:01:48 +01:00
Mark Veidemanis 219fc8ac35
Remove print statements 2022-07-28 21:30:23 +01:00
Mark Veidemanis c5604c0ca8
Add trailing slash to example directory 2022-07-28 21:29:08 +01:00
Mark Veidemanis f9482cac63
Add Portainer Git directory to env file 2022-07-28 21:27:26 +01:00
Mark Veidemanis a61ba7b9e1
Seamlessly handle nonexistent configurations 2022-07-28 21:11:01 +01:00
Mark Veidemanis b3dce50ce4
Add stack.env file 2022-07-28 19:57:26 +01:00
Mark Veidemanis 7eee2ec929
Move env file to example 2022-07-28 19:50:48 +01:00
Mark Veidemanis 2ad61e6afa
Properly pass environment variables to the process 2022-07-28 19:50:07 +01:00
Mark Veidemanis a598bbab4b
Make some addresses and hosts configurable with environment variables 2022-07-28 19:38:37 +01:00
Mark Veidemanis 422d3d4cdc
Lower compose version 2022-07-28 19:25:15 +01:00
Mark Veidemanis 2b4e037b51
Add docker definitions 2022-07-28 19:21:08 +01:00
Mark Veidemanis 15583bdaab
Implement relay, channel and alias management 2022-07-27 22:03:42 +01:00
Mark Veidemanis 8050484b6f
Implement editing networks via the API 2022-07-27 08:59:17 +01:00
Mark Veidemanis 4f141b976a
Implement network and channels view 2022-07-26 22:16:35 +01:00
Mark Veidemanis c302cd25da
Implement API endpoint for network listing 2022-07-25 18:05:53 +01:00
Mark Veidemanis 24a2f79e8e
Don't send to Logstash if it's disabled 2022-07-21 13:40:40 +01:00
Mark Veidemanis 8c9ec3ab9c
Implement getting number of channels and users 2022-07-21 13:40:18 +01:00
Mark Veidemanis a8d0a7d886
Implement more API functions 2022-07-21 13:40:17 +01:00
Mark Veidemanis e3e150c805
Update config 2022-07-21 13:40:15 +01:00
Mark Veidemanis 071d6f4579
Implement API 2022-07-21 13:40:13 +01:00
Mark Veidemanis 4a8605626a
Begin work on API endpoint 2022-07-21 13:40:11 +01:00
Mark Veidemanis 80c016761f
Reformat again 2022-07-21 13:40:09 +01:00
Mark Veidemanis 7a0e2be66c
Remove some legacy code 2022-07-21 13:40:07 +01:00
Mark Veidemanis 2fecd98978
Reformat project 2022-07-21 13:40:05 +01:00
Mark Veidemanis 4ecb37b179
Reformat and fix circular import 2022-07-21 13:40:03 +01:00
Mark Veidemanis 27cafa1def
Revert "Reformat project"
This reverts commit 64e3e1160aa76d191740342ab3edc68807f890fb.
2022-07-21 13:40:01 +01:00
Mark Veidemanis da678617d8
Reformat project 2022-07-21 13:39:59 +01:00
Mark Veidemanis 4669096fcb
Don't attempt secondary registration if it is disabled 2022-07-21 13:39:57 +01:00
Mark Veidemanis 404fdb000f
Don't attempt to register if it is disabled 2022-07-21 13:39:56 +01:00
Mark Veidemanis 2177766d90
Rename time to ts 2022-07-21 13:39:54 +01:00
Mark Veidemanis 4734a271a1
Extra error handling around emails 2022-07-21 13:39:52 +01:00
Mark Veidemanis ef3151f34c
Make Redis DBs configurable 2022-07-21 13:39:50 +01:00
Mark Veidemanis 8442c799be
Add Redis DB numbers to configuration 2022-07-21 13:39:48 +01:00
Mark Veidemanis e0f86ec853
Fix provisioning with emails 2022-07-21 13:39:46 +01:00
Mark Veidemanis f88e6dec5a
Fix some issues with the default config 2022-07-21 13:39:44 +01:00
Mark Veidemanis 4ff111a216
Improve email command 2022-07-21 13:39:43 +01:00
Mark Veidemanis 7c855e09c0
Reformat code with pre-commit 2022-07-21 13:39:41 +01:00
Mark Veidemanis 61f6715b20 Start implementing email command 2021-08-25 07:47:54 +00:00
Mark Veidemanis 0854c6d60d Add Logstash file 2021-08-24 20:08:18 +00:00
Mark Veidemanis 5179c43972 Implement modifying emails for aliases 2021-06-06 10:31:13 +00:00
Mark Veidemanis 7439d97c71 Finish Logstash implementation 2021-06-06 10:16:04 +00:00
Mark Veidemanis 391f917b38 Update requirements without versions 2021-06-06 10:13:43 +00:00
Mark Veidemanis 2686e4ab04 Merge branch 'master' into datarestructure 2020-11-02 20:18:36 +00:00
Mark Veidemanis 08b5dc06f0 Implement relay-independent join 2020-11-02 20:14:02 +00:00
Mark Veidemanis 5deb0649fb Don't discard server messages 2020-11-02 20:13:36 +00:00
Mark Veidemanis 9959231d50 Use substitutions in registration tests 2020-11-01 22:19:03 +00:00
Mark Veidemanis 73e596dac3 Additional error handling for command parsing 2020-11-01 22:18:48 +00:00
Mark Veidemanis be405160e4 Fix bug with reg command 2020-11-01 20:43:51 +00:00
Mark Veidemanis 7489512a82 Add example file for blacklist 2020-11-01 19:55:32 +00:00
Mark Veidemanis 1f178a20ed Implement channel blacklisting 2020-11-01 19:54:24 +00:00
Mark Veidemanis cb21ad8fca Fix bug with using muser attribute when absent 2020-11-01 19:03:56 +00:00
Mark Veidemanis c10274ccd6 Fix syntax error in reg command 2020-11-01 18:50:17 +00:00
Mark Veidemanis 9fd6688892 Implement setting modes in ZNC 2020-11-01 03:39:32 +00:00
Mark Veidemanis f54a448d54 Prepare command loader for reloading commands 2020-11-01 03:38:47 +00:00
Mark Veidemanis fe52561b71 Implement registration at net-level 2020-11-01 03:37:29 +00:00
Mark Veidemanis 09405f374e Clarify message output on confirm command 2020-11-01 03:36:23 +00:00
Mark Veidemanis 16ab37cc0c Log error when ZNC says a channel can't be joined 2020-10-31 23:58:51 +00:00
Mark Veidemanis fc3a349cb3 Fix registration cancellation bug in regproc 2020-10-31 23:58:03 +00:00
Mark Veidemanis fe86d30155 Fix various bugs and off by one with provisioning 2020-10-31 23:55:11 +00:00
Mark Veidemanis 7485bbefd1 Move WHO and NAMES logging to trace 2020-10-31 16:52:00 +00:00
Mark Veidemanis 82a98c9539 Don't deduplicate global messages (NICK/QUIT) 2020-10-31 16:51:24 +00:00
Mark Veidemanis 45f02c323b Improve authentication detection
Add a negative check in the event we are authenticated and registered,
but not confirmed, as this fools other checks.
2020-10-31 16:49:37 +00:00
Mark Veidemanis bdb3d059e3 Use zero-padded numbers to maximise usuable ports 2020-10-31 00:13:59 +00:00
Mark Veidemanis e403852778 Error checking in testing for registration message 2020-10-31 00:13:09 +00:00
Mark Veidemanis f3dd102096 Deauth bot when disconnected and lowercase user 2020-10-31 00:12:06 +00:00
Mark Veidemanis 1fec14d759 Clarify error message to be more helpful 2020-10-31 00:11:28 +00:00
Mark Veidemanis b67eee42c1 Implement another level of logging for tracing 2020-10-31 00:10:33 +00:00
Mark Veidemanis 9e6dd5e03d Note that arguments to list are optional 2020-10-31 00:06:35 +00:00
Mark Veidemanis 77e8ef4c16 Implement authentication checking on connection 2020-10-28 22:50:12 +00:00
Mark Veidemanis c879caa9d7 Add checks in dedup for time-less messages 2020-10-28 22:46:22 +00:00
Mark Veidemanis db7e5677d3 Fix decoding issue with some Redis keys 2020-10-28 22:30:49 +00:00
Mark Veidemanis f848b5afd6 Provision users with lowercase names 2020-10-28 22:30:04 +00:00
Mark Veidemanis 3bc65f8456 Add the time field to some notifications 2020-10-28 22:26:41 +00:00
Mark Veidemanis 95ee63e399 Fix circular import in ChanKeep/provisioning modules 2020-10-28 18:38:27 +00:00
Mark Veidemanis a1e045793c
Start implementing prefixes 2020-07-09 19:43:47 +01:00
Mark Veidemanis f50a40d207
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
2020-06-07 17:26:53 +01:00
Mark Veidemanis 4c08225a50
Remove condition-based monitoring system 2020-06-07 15:31:43 +01:00
Mark Veidemanis 11f15ac960
Fix various bugs in the event system
Squash many bugs in the event notification system and simplify the
code.
2020-06-02 21:34:15 +01:00
Mark Veidemanis 8103c16253
Fix syntax error in redis query 2020-05-31 21:54:43 +01:00
Mark Veidemanis 45070b06e2
Implement authentication detection
* pending command to see which instances have never authenticated
* authcheck command to see which instances are not currently
  authenticated
2020-05-31 21:52:56 +01:00
Mark Veidemanis 12db2f349e
Add help for pending command 2020-05-31 16:40:51 +01:00
Mark Veidemanis 40e1f38508
Add additional error handling in user queries 2020-05-31 13:44:34 +01:00
Mark Veidemanis 63c97db12e
Function to select and merge IRC network defs 2020-05-31 13:23:09 +01:00
Mark Veidemanis 91885170f1
Check registration status before joining channels
Do not join channels if any relay for a network is unregistered.
2020-05-31 13:09:58 +01:00
Mark Veidemanis 7c23766763
Allow sending LIST to all networks at once 2020-05-31 13:08:00 +01:00
Mark Veidemanis 9e62ac62bc
Add confirm command
Confirm command to check which relays need manual
confirmation.
2020-05-31 12:32:12 +01:00
Mark Veidemanis 014de9f958
Remove leftover irc.json file 2020-05-30 21:42:26 +01:00
Mark Veidemanis f90f2fdef7
Implement registration and confirmation of nicks 2020-05-30 21:40:10 +01:00
Mark Veidemanis e0549cdd30
Restructure provisioning into fewer functions 2020-05-30 21:37:22 +01:00
Mark Veidemanis a78229a288
Add irc.json to gitignore 2020-05-30 21:35:50 +01:00
Mark Veidemanis 918d410927
Fix variable scope in LIST error handling 2020-04-21 23:32:17 +01:00
Mark Veidemanis bc4d5cba8e
Separate provisioning into user and auth info 2019-12-28 17:51:03 +00:00
Mark Veidemanis 376d1bd911
Add IRC network definitions 2019-12-28 17:50:38 +00:00
Mark Veidemanis 778690ae3a
Add more comments and remove obsolete code 2019-12-07 16:35:29 +00:00
Mark Veidemanis da3ba4ea8c
Add requirements 2019-11-17 19:09:17 +00:00