Improved ipquery

Signed-off-by: Georg <georg@lysergic.dev>
This commit is contained in:
Georg Pfuetzenreuter 2021-08-26 19:32:19 +02:00
parent aef250882f
commit 599fe4f38b
Signed by: Georg
GPG Key ID: 1DAF57F49F8E8F22
4 changed files with 12 additions and 3 deletions

Binary file not shown.

Binary file not shown.

View File

@ -140,6 +140,13 @@ conf.registerGlobalValue(SnoParser.whois, 'sample',
"""
, private=True
))
conf.registerGlobalValue(SnoParser.whois, 'ttl',
registry.Integer('3600',
"""
SnoParser: How long to cache WHOIS entries for.
"""
, private=True
))
conf.registerGroup(SnoParser.whois, 'redis')
conf.registerGlobalValue(SnoParser.whois.redis, 'db',
registry.Integer('0',

View File

@ -141,7 +141,8 @@ class SnoParser(callbacks.Plugin):
def whois_set_cache(self, key: str, value: str) -> bool:
"""Data to Redis."""
state = self.redis_client_whois.setex(key, timedelta(seconds=3600), value=value,)
duration = self.registryValue('whois.ttl')
state = self.redis_client_whois.setex(key, timedelta(seconds=duration), value=value,)
return state
def whois_run(self, sourceip: str) -> dict:
@ -238,12 +239,13 @@ class SnoParser(callbacks.Plugin):
"""
data = self.whois_get_cache(key=ipaddress)
decoded = data.decode('utf-8')
decoded_data = data.decode('utf-8')
ttl = self.redis_client_whois.ttl(ipaddress)
count = self.redis_client_ips.get(ipaddress)
decoded_count = count.decode('utf-8')
print('SnoParser manual query: ', data, ' ', ttl)
irc.reply(f'{decoded} - Count: {count} - Remaining: {ttl}s')
irc.reply(f'{decoded_data} - Count: {decoded_count} - Remaining: {ttl}s')
ipquery = wrap(ipquery, ['anything'])