Thuban
2017-08-09 7767eaae2e36c239d3c1a33290186e11e3906642
vilain.py
@@ -156,7 +156,7 @@
                                    await self.bad_ip_queue.put({'ip' : bad_ip, 'maxtries': maxtries, 'reason' : reason})
                                    logger.debug('queue size: {}'.format(self.bad_ip_queue.qsize()))
                                else:
                                    logger.info('line match {}. But IP in ingore list'.format(bad_ip))
                                    logger.info('line match {}. But IP in ignore list'.format(bad_ip))
                    size = stat.st_size
    async def ban_ips(self):
@@ -164,7 +164,7 @@
        record time when this IP has been seen in ip_seen_at = { ip:{'time':<time>,'count':<counter} }
        and ban with pf
        """
        logger.info('ban_ips sarted')
        logger.info('ban_ips started')
        while True:
            ip_item = await self.bad_ip_queue.get()
            logger.debug('ban_ips awake')
@@ -185,9 +185,9 @@
        """
        check old ip in ip_seen_at : remove older than watch_while
        """
        logger.info('clean_ips sarted with sleeptime={}'.format(self.sleeptime))
        logger.info('clean_ips started with sleeptime={}'.format(self.sleeptime))
        while True:
            await asyncio.sleep(self.sleeptime)
            await asyncio.sleep(self.watch_while)
            to_remove = []
            for recorded_ip, data in self.ip_seen_at.items():
                if time.time() - data['time'] >= self.watch_while: