diff --git a/frontend/Dockerfile b/frontend/Dockerfile index fdf56d4..5e9d1d2 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.10-slim # Install Python dependencies -RUN pip install Flask requests tabulate texttable +RUN pip install Flask requests tabulate WORKDIR /app/static RUN mkdir fonts diff --git a/frontend/main.py b/frontend/main.py index de0c800..6e1f2ec 100644 --- a/frontend/main.py +++ b/frontend/main.py @@ -5,8 +5,9 @@ import json from flask import Flask, render_template_string, jsonify from socket import gethostbyname_ex from datetime import datetime -from texttable import Texttable # For ASCII tables +from tabulate import tabulate # For ASCII tables import time # For timestamp conversion +import uuid # For report IDs app = Flask(__name__) @@ -99,37 +100,50 @@ HTML_TEMPLATE = """
$> ./dws_ntp_report
+**INFO**: INITIALIZING DWS NTP MONITORING SYSTEM
**INFO**: COLLECTING DWS NTP POOL INFORMATION
-CURRENT TIME
-=================================
+
+{{ report_header }}
+
+SECTION 1: CURRENT TIME SYNCHRONIZATION
+════════════════════════════════════════════════════════════════════════════════
TIME: --:--:--
DATE: ----------
STATUS: Syncing...
CLOCK OFFSET: ---
+════════════════════════════════════════════════════════════════════════════════
-**INFO**: DETAILED METRICS:
-**INFO**: COLLECTING TRACKING STATUS METRICS:
+SECTION 2: NODE TRACKING STATUS METRICS
+════════════════════════════════════════════════════════════════════════════════
+**INFO**: COLLECTING TRACKING STATUS METRICS FROM ALL NODES
-
-TRACKING STATUS
{{ tracking_table_ascii }}
-**INFO**: COLLECTING UPSTREAM SOURCES METRICS:
+════════════════════════════════════════════════════════════════════════════════
+
+
+SECTION 3: UPSTREAM NTP SOURCES
+════════════════════════════════════════════════════════════════════════════════
+**INFO**: COLLECTING UPSTREAM SOURCES METRICS FROM ALL NODES
-UPSTREAM SOURCES
{{ sources_table_ascii }}
-**INFO**: REPORT COMPLETE
+════════════════════════════════════════════════════════════════════════════════
-**INFO**: DEVELOPER INFO
+
+SECTION 4: DEVELOPER INFORMATION
+════════════════════════════════════════════════════════════════════════════════
USE DWS AS YOUR NTP POOL BY SETTING time.dws.rip AS YOUR NTP SOURCE
-
**INFO**: DWS LLC // "IT'S YOUR INTERNET, TAKE IT BACK" // https://dws.rip
**INFO**: DWS LLC // UNITED STATES OF AMERICA // 2025
-**INFO**: DWS NTP REPORT COMPLETE {{ gen_time_utc }}
+
+════════════════════════════════════════════════════════════════════════════════
+**INFO**: REPORT GENERATION COMPLETE {{ gen_time_utc }}
+**INFO**: END OF REPORT
+════════════════════════════════════════════════════════════════════════════════