]> git.mxchange.org Git - fba.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Fri, 8 Dec 2023 03:56:26 +0000 (04:56 +0100)
committerRoland Häder <roland@mxchange.org>
Fri, 8 Dec 2023 03:56:26 +0000 (04:56 +0100)
- added list/scoreboard mode for column 'original_software'

daemon.py
templates/views/index.html
templates/views/list.html
templates/views/scoreboard.html

index cd91932acc654156435419724f3e77b2c6176705..dc298236bf13f896d6af856baf8ddaa3d5ce38dd 100755 (executable)
--- a/daemon.py
+++ b/daemon.py
@@ -77,6 +77,8 @@ def api_scoreboard(mode: str, amount: int):
         database.cursor.execute("SELECT blocker, COUNT(blocker) AS score FROM blocks GROUP BY blocker ORDER BY score DESC LIMIT ?", [amount])
     elif mode == "reference":
         database.cursor.execute("SELECT origin, COUNT(domain) AS score FROM instances WHERE origin IS NOT NULL GROUP BY origin ORDER BY score DESC LIMIT ?", [amount])
+    elif mode == "original_software":
+        database.cursor.execute("SELECT original_software, COUNT(domain) AS score FROM instances WHERE original_software IS NOT NULL GROUP BY original_software ORDER BY score DESC, original_software ASC LIMIT ?", [amount])
     elif mode == "software":
         database.cursor.execute("SELECT software, COUNT(domain) AS score FROM instances WHERE software IS NOT NULL GROUP BY software ORDER BY score DESC, software ASC LIMIT ?", [amount])
     elif mode == "command":
@@ -115,7 +117,7 @@ def api_list(request: Request, mode: str, value: str, amount: int):
     elif amount > config.get("api_limit"):
         raise HTTPException(status_code=500, detail=f"amount={amount} is to big")
 
-    if mode in ("detection_mode", "software", "command", "origin"):
+    if mode in ("detection_mode", "original_software", "software", "command", "origin"):
         database.cursor.execute(
             f"SELECT * \
 FROM instances \
index 8660d39634ca233eeca50f2abb2de5aa433e50ce..d51b3eab487d6c41375bf69a968fedc015ff01ce 100644 (file)
@@ -59,6 +59,7 @@
         <li><a href="scoreboard?mode=blocked&amp;amount=50">Defederated instances</a></li>
         <li><a href="scoreboard?mode=reference&amp;amount=50">Referencing instances</a></li>
         <li><a href="scoreboard?mode=software&amp;amount=50">Used software</a></li>
+        <li><a href="scoreboard?mode=original_software&amp;amount=50">... original</a></li>
         <li><a href="scoreboard?mode=command&amp;amount=20">Commands</a></li>
         <li><a href="scoreboard?mode=error_code&amp;amount=50">Error codes</a></li>
         <li><a href="scoreboard?mode=detection_mode&amp;amount=10">Detection modes</a></li>
index 1e48ebdbf3a36b7862891b08e5f3277cf1916788..101e926f4f36e84396234a3f8f050198ef37fc1b 100644 (file)
@@ -2,6 +2,7 @@
 
 {% block title %}
     {% if mode == 'detection_mode' %} - Detection mode {{value}}
+    {% elif mode == 'original_software' %} - Original software {{value}}
     {% elif mode == 'software' %} - Used software {{value}}
     {% elif mode == 'command' %} - Command {{value}}
     {% elif mode == 'recently' %} - {{amount}} recently added instances
@@ -11,6 +12,8 @@
 {% block header %}
     {% if mode == 'detection_mode' %}
         <h1>Instances detected by method {{value}}</h1>
+    {% elif mode == 'original_software' %}
+        <h1>Original software name {{value}}</h1>
     {% elif mode == 'software' %}
         <h1>Instances using software {{value}}</h1>
     {% elif mode == 'command' %}
@@ -39,7 +42,8 @@
         <thead>
             <th>Domain</th>
             <th>Origin</th>
-            <th>Software</th>
+            <th title="Aliased software name">Software</th>
+            <th title="Original software name">Original</th>
             <th>Detection mode</th>
             <th>Command</th>
             <th>Total peers</th>
                     {% include "widgets/links.html" %}
                     {% endwith %}
                 </td>
+                <td>
+                    {% with mode='original_software', amount=amount, value=row['original_software'] %}
+                    {% include "widgets/list_links.html" %}
+                    {% endwith %}
+                </td>
                 <td>
                     {% with mode='software', amount=amount, value=row['software'] %}
                     {% include "widgets/list_links.html" %}
index 2f7619485f73bff71c0458f4772a64dd5cd86891..1cc68b7bf487e737b7c383c2a31c522802427213 100644 (file)
@@ -2,7 +2,8 @@
 
 {% block title %}
     Scoreboard -
-    {% if mode == 'software' %}TOP {{amount}} used software
+    {% if mode == 'original_software' %}TOP {{amount}} original software
+    {% elif mode == 'software' %}TOP {{amount}} aliased software
     {% elif mode == 'detection_mode' %}Detection mode statistics
     {% elif mode == 'block_level' %}TOP {{amount}} block level statistics
     {% elif mode == 'obfuscation' %}Obfuscation statistics
         <h1>Top {{amount}} defederated instances</h1>
     {% elif mode == 'reference' %}
         <h1>Top {{amount}} referencing instances</h1>
+    {% elif mode == 'original_software' %}
+        <h1>Top {{amount}} original software names</h1>
     {% elif mode == 'software' %}
-        <h1>Top {{amount}} used software</h1>
+        <h1>Top {{amount}} aliased software</h1>
     {% elif mode == 'command' %}
         <h1>TOP {{amount}} commands</h1>
     {% elif mode == 'error_code' %}
@@ -53,7 +56,7 @@
             <thead>
                 <th>№</th>
                 <th>
-                    {% if mode in ('software', 'avg_peers', 'avg_blocks', 'obfuscator') %}Software
+                    {% if mode in ('original_software', 'software', 'avg_peers', 'avg_blocks', 'obfuscator') %}Software
                     {% elif mode == 'obfuscation' %}Obfuscation status
                     {% elif mode == 'detection_mode' %}Detection mode
                     {% elif mode == 'error_code' %}Error code
@@ -63,7 +66,7 @@
                 <th>
                     {% if mode == 'reference' %}References
                     {% elif mode in('avg_peers', 'avg_blocks') %}Average
-                    {% elif mode in('software', 'error_code', 'obfuscator', 'obfuscation', 'block_level', 'detection_mode', 'command') %}Total
+                    {% elif mode in('original_software', 'software', 'error_code', 'obfuscator', 'obfuscation', 'block_level', 'detection_mode', 'command') %}Total
                     {% else %}Blocks
                     {% endif %}
                 </th>
@@ -82,7 +85,7 @@
                             <a href="top?mode={{mode}}&amp;value={{entry['domain']}}&amp;amount=50">{{entry['domain']}}</a>
                         {% elif mode in ('avg_peers', 'avg_blocks', 'obfuscator') %}
                             <a href="list?mode=software&amp;value={{entry['domain']}}&amp;amount=50">{{entry['domain']}}</a>
-                        {% elif mode in ('software', 'detection_mode', 'command') %}
+                        {% elif mode in ('original_software', 'software', 'detection_mode', 'command') %}
                             <a href="list?mode={{mode}}&amp;value={{entry['domain']}}&amp;amount=50">{{entry['domain']}}</a>
                         {% else %}
                             {% with domain=entry['domain'] %}