From 646c1844b162d8c6c76198349d261f5fb874b4cd Mon Sep 17 00:00:00 2001 From: DomySh Date: Fri, 8 Jul 2022 12:04:52 +0200 Subject: [PATCH] Fixed counter --- backend/proxy.py | 10 ++++------ backend/utils.py | 5 +++-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/backend/proxy.py b/backend/proxy.py index 4320664..27466cc 100755 --- a/backend/proxy.py +++ b/backend/proxy.py @@ -207,10 +207,6 @@ class Filter: def check(self, data): return True if self.compiled_regex.search(data) else False - - def inc_block(self): - print("INC", self.blocked) - self.blocked+=1 class Proxy: def __init__(self, port, filters=None): @@ -231,11 +227,13 @@ class Proxy: def regex_filter(pkt, data, by_client): packet = bytes(data[TCP if TCP in data else UDP].payload) try: - for filter in self.filters: + for i, filter in enumerate(self.filters): if (by_client and filter.c_to_s) or (not by_client and filter.s_to_c): match = filter.check(packet) if (filter.is_blacklist and match) or (not filter.is_blacklist and not match): - filter.inc_block() + filter.blocked+=1 + try: self.filters[i] = filter + except Exception: pass pkt.drop() return except IndexError: pass diff --git a/backend/utils.py b/backend/utils.py index bac2034..ae54b27 100755 --- a/backend/utils.py +++ b/backend/utils.py @@ -176,9 +176,11 @@ class ProxyManager: self.db = db self.proxy_table: Dict[ServiceManager] = {} self.lock = asyncio.Lock() + self.updater_task = None def init_updater(self): - asyncio.create_task(self._stats_updater()) + if not self.updater_task: + self.updater_task = asyncio.create_task(self._stats_updater()) async def close(self): for key in list(self.proxy_table.keys()): @@ -202,7 +204,6 @@ class ProxyManager: async def _stats_updater(self): while True: - print("ALIVE!") try: for key in list(self.proxy_table.keys()): self.proxy_table[key].update_stats()