reporting server

@g7kse check this out
This commit is contained in:
SpudGunMan
2025-01-05 16:39:00 -08:00
parent f12fa0fe9b
commit 1ff5895bad

View File

@@ -1,25 +1,46 @@
#!/usr/bin/env python3
# This is a simple web server that serves up the content of the webRoot directory
# The reporting data is all that is currently being served up
# TODO - add interaction to mesh?
# to use this today run it seperately and open a browser to http://localhost:8420
SSL = False
PORT = 8008 # python3 -m http.server 8008
import os
import http.server
# Set the port for the server
PORT = 8420
# set webRoot index.html location
webRoot = "../etc/www"
# Set to True to enable logging sdtout
webServerLogs = False
# Generate with: openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
SSL = False
if SSL:
import ssl
# disable logging
class QuietHandler(http.server.SimpleHTTPRequestHandler):
def log_message(self, format, *args):
if webServerLogs:
super().log_message(format, *args)
# Change the current working directory to webRoot
os.chdir(webRoot)
# boot up simple HTTP server
httpd = http.server.HTTPServer(('127.0.0.1', PORT), http.server.SimpleHTTPRequestHandler)
httpd = http.server.HTTPServer(('127.0.0.1', PORT), QuietHandler)
if SSL:
# Generate with: openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
try:
ctx.load_cert_chain(certfile='./server.pem')
except FileNotFoundError:
print("SSL certificate file not found. Please generate it using the command provided in the comments.")
exit(1)
#ctx.load_cert_chain(certfile='server.crt', keyfile='server.key')
httpd.socket = ctx.wrap_socket(httpd.socket, server_side=True)
httpd.serve_forever()