From 266231cf1c97e56f414b1268e74057c1f6394889 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Roland=20H=C3=A4der?=
Date: Fri, 23 Jun 2023 00:46:40 +0200
Subject: [PATCH] Continued: - added metrics for blocking levels
---
api.py | 4 ++++
templates/views/index.html | 3 ++-
templates/views/scoreboard.html | 8 +++++---
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/api.py b/api.py
index 9217716..7ffa3c3 100644
--- a/api.py
+++ b/api.py
@@ -75,6 +75,8 @@ def api_scoreboard(mode: str, amount: int):
database.cursor.execute("SELECT software, COUNT(domain) AS cnt FROM instances WHERE has_obfuscation = 1 GROUP BY software ORDER BY cnt DESC LIMIT ?", [amount])
elif mode == "obfuscation":
database.cursor.execute("SELECT has_obfuscation, COUNT(domain) AS cnt FROM instances WHERE software IN ('pleroma', 'mastodon', 'friendica') GROUP BY has_obfuscation ORDER BY cnt DESC LIMIT ?", [amount])
+ elif mode == "block_level":
+ database.cursor.execute("SELECT block_level, COUNT(rowid) AS cnt FROM blocks GROUP BY block_level ORDER BY cnt DESC LIMIT ?", [amount])
else:
raise HTTPException(status_code=400, detail="No filter specified")
@@ -185,6 +187,8 @@ def scoreboard(request: Request, mode: str, amount: int):
response = requests.get(f"http://{config.get('host')}:{config.get('port')}{config.get('base_url')}/api/scoreboard.json?mode=obfuscator&amount={amount}")
elif mode == "obfuscation" and amount > 0:
response = requests.get(f"http://{config.get('host')}:{config.get('port')}{config.get('base_url')}/api/scoreboard.json?mode=obfuscation&amount={amount}")
+ elif mode == "block_level" and amount > 0:
+ response = requests.get(f"http://{config.get('host')}:{config.get('port')}{config.get('base_url')}/api/scoreboard.json?mode=block_level&amount={amount}")
else:
raise HTTPException(status_code=400, detail="No filter specified")
diff --git a/templates/views/index.html b/templates/views/index.html
index 4c91f2b..a179703 100644
--- a/templates/views/index.html
+++ b/templates/views/index.html
@@ -33,7 +33,8 @@
error codes /
average peers /
obfuscating software /
- obfuscation metrics
+ obfuscation metrics /
+ block level metrics
{% endblock %}
{% block footer %}
diff --git a/templates/views/scoreboard.html b/templates/views/scoreboard.html
index 547a5ea..b4615e1 100644
--- a/templates/views/scoreboard.html
+++ b/templates/views/scoreboard.html
@@ -1,6 +1,6 @@
{% extends "base.html" %}
-{% block title %}Scoreboard - {% if mode == 'software' %}TOP {{amount}} used software{% elif mode == 'obfuscation' %}obfuscation metrics{% elif mode == 'obfuscator' %}TOP {{amount}} obfuscating software{% elif mode == 'avg_peers' %}TOP {{amount}} average peer count{% elif mode == 'command' %}TOP {{amount}} commands{% elif mode == 'error_code' %}TOP {{amount}} error codes{% elif mode == 'reference' %}TOP {{amount}} referencing instances{% elif mode == 'blocked' %}TOP {{amount}} deferated instances{% elif mode == 'blocker' %}TOP {{amount}} deferating instances{% endif %}{% endblock %}
+{% block title %}Scoreboard - {% if mode == 'software' %}TOP {{amount}} used software{% elif mode == 'block_level' %}TOP {{amount}} block level metrics{% elif mode == 'obfuscation' %}obfuscation metrics{% elif mode == 'obfuscator' %}TOP {{amount}} obfuscating software{% elif mode == 'avg_peers' %}TOP {{amount}} average peer count{% elif mode == 'command' %}TOP {{amount}} commands{% elif mode == 'error_code' %}TOP {{amount}} error codes{% elif mode == 'reference' %}TOP {{amount}} referencing instances{% elif mode == 'blocked' %}TOP {{amount}} deferated instances{% elif mode == 'blocker' %}TOP {{amount}} deferating instances{% endif %}{% endblock %}
{% block header %}
{% if mode == 'blocker' %}
@@ -21,6 +21,8 @@
TOP {{amount}} obfuscating software
{% elif mode == 'obfuscation' %}
obfuscation metrics
+ {% elif mode == 'block_level' %}
+ TOP {{amount}} block levels
{% endif %}
{% endblock %}
@@ -30,7 +32,7 @@
â |
{% if mode in ('software', 'avg_peers', 'obfuscator') %}Software{% elif mode == 'obfuscation' %}obfuscation status{% elif mode == 'error_code' %}Error code{% else %}Instance{% endif %} |
- {% if mode == 'reference' %}References{% elif mode == 'avg_peers' %}Average{% elif mode in('software', 'error_code', 'obfuscator', 'obfuscation') %}Total{% else %}Blocks{% endif %} |
+ {% if mode == 'reference' %}References{% elif mode == 'avg_peers' %}Average{% elif mode in('software', 'error_code', 'obfuscator', 'obfuscation', 'block_level') %}Total{% else %}Blocks{% endif %} |
@@ -38,7 +40,7 @@
{{loop.index}} |
- {% if mode in ('software', 'command', 'error_code', 'avg_peers', 'obfuscator', 'obfuscation') %}
+ {% if mode in ('software', 'command', 'error_code', 'avg_peers', 'obfuscator', 'obfuscation', 'block_level') %}
{{entry['domain']}}
{% elif entry['domain'] == None %}
-
--
2.39.5
|