소스 검색

traffic: ignore web crawlers

Rodja Trappe 2 년 전
부모
커밋
6cff64be76
1개의 변경된 파일5개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 2
      traffic_tracking.py

+ 5 - 2
traffic_tracking.py

@@ -40,8 +40,11 @@ class TrafficChard(ui.chart):
         })
 
     def on_connect(self, request: Request) -> None:
-        if request.client.host == '206.81.24.204':
-            return  # ignore monitoring requests from zauberzeug
+        # ignore monitoring, web crawlers and the like
+        agent = request.headers['user-agent'].lower()
+        if any(s in agent for s in ('bot', 'spider', 'crawler', 'monitor', 'curl', 'wget', 'python-requests', 'kuma')):
+            return
+        logging.warning(agent)
 
         def seconds_to_day(seconds: float) -> int: return int(seconds / 60 / 60 / 24)
         def day_to_milliseconds(day: int) -> float: return day * 24 * 60 * 60 * 1000