From 3f1296895a96ce02a7e034c19cf941bc1d54fcbd Mon Sep 17 00:00:00 2001 From: user Date: Fri, 22 Mar 2024 13:35:44 +0100 Subject: initial commit, shows data --- src/ssh_login_attempts.py | 50 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/ssh_login_attempts.py (limited to 'src/ssh_login_attempts.py') diff --git a/src/ssh_login_attempts.py b/src/ssh_login_attempts.py new file mode 100644 index 0000000..cb5f477 --- /dev/null +++ b/src/ssh_login_attempts.py @@ -0,0 +1,50 @@ +import logging + +import flask + +import db_handler + + +class CustomFormatter(logging.Formatter): + grey = "\x1b[90;20m" + blue = "\x1b[34;20m" + yellow = "\x1b[33;20m" + red = "\x1b[31;20m" + bold_red = "\x1b[31;1m" + reset = "\x1b[0m" + format = "%(asctime)s,%(msecs)03d %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s" + + FORMATS = { + logging.DEBUG: grey + format + reset, + logging.INFO: blue + format + reset, + logging.WARNING: yellow + format + reset, + logging.ERROR: red + format + reset, + logging.CRITICAL: bold_red + format + reset + } + + def format(self, record): + log_fmt = self.FORMATS.get(record.levelno) + formatter = logging.Formatter(log_fmt) + return formatter.format(record) + + +logger = logging.getLogger(__name__) +logger.root.setLevel(logging.INFO) + +stream_handler = logging.StreamHandler() +stream_handler.setFormatter(CustomFormatter()) +logger.root.addHandler(stream_handler) + +app = flask.Flask(__name__, template_folder='templates', static_folder='static', static_url_path='') + + +@app.route("/") +def index(): + latest_loging_attempts = db_handler.get_latest_login_attempts() + top_usernames = db_handler.get_top('username') + top_passwords = db_handler.get_top('password') + return flask.render_template( + 'index.html', + latest_login_attempts=latest_loging_attempts, + top_usernames=top_usernames, + top_passwords=top_passwords) -- cgit v1.2.3