commit 85b44202f40e1094c4ca65d76e845b9ea4969a2e Author: ocueye2 Date: Thu Aug 29 21:36:14 2024 +0000 first commit diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..a7bf69b --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,10 @@ +{ + "configurations": [ + { + "type": "chrome", + "name": "http://127.0.0.1:3000/test.html", + "request": "launch", + "url": "http://127.0.0.1:3000/test.html" + } + ] +} \ No newline at end of file diff --git a/dash.py b/dash.py new file mode 100644 index 0000000..e0e2e2a --- /dev/null +++ b/dash.py @@ -0,0 +1,29 @@ +from http.server import BaseHTTPRequestHandler, HTTPServer +import sys +import os + +def load(path): + file_path = os.path.join(os.path.dirname(sys.argv[0]), path) + with open(file_path, 'rb') as f: # Open the file in binary mode + return f.read() # Return the file content as bytes + +# Define the request handler +class SimpleHTTPRequestHandler(BaseHTTPRequestHandler): + + # Handle GET requests + def do_GET(self): + if self.path == '/': + self.send_response(200) + self.send_header('Content-type', 'text/html') + self.end_headers() + self.wfile.write(load("render/render.html")) + +# Set up and start the HTTP server +def run(server_class=HTTPServer, handler_class=SimpleHTTPRequestHandler, port=1111): + server_address = ('', port) + httpd = server_class(server_address, handler_class) + print(f"Starting HTTP server on port {port}") + httpd.serve_forever() + +if __name__ == "__main__": + run() diff --git a/render/render.html b/render/render.html new file mode 100644 index 0000000..a3964cb --- /dev/null +++ b/render/render.html @@ -0,0 +1,82 @@ + + + +

proxmox

+
+ + +
+

casos

+
+ + + + +
diff --git a/services/casos/casos.site b/services/casos/casos.site new file mode 100644 index 0000000..106b414 --- /dev/null +++ b/services/casos/casos.site @@ -0,0 +1,4 @@ +casos +http://192.168.1.130 +main docker gui +background-image: url("https://www.hostelworld.com/blog/wp-content/uploads/2018/12/denali-1313x875.jpg") \ No newline at end of file diff --git a/services/casos/vscode.site b/services/casos/vscode.site new file mode 100644 index 0000000..67281fa --- /dev/null +++ b/services/casos/vscode.site @@ -0,0 +1,4 @@ +vscode +http://192.168.1.1:8006 +vscode server +background-image: url("data:image/jpeg;base64,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") \ No newline at end of file diff --git a/services/proxmox/prox.site b/services/proxmox/prox.site new file mode 100644 index 0000000..449246c --- /dev/null +++ b/services/proxmox/prox.site @@ -0,0 +1,4 @@ +proxmox +http://192.168.1.1:8006 +main vm server +background-image: url("https://www.hostelworld.com/blog/wp-content/uploads/2018/12/denali-1313x875.jpg") \ No newline at end of file diff --git a/start.py b/start.py new file mode 100644 index 0000000..8f1b5a0 --- /dev/null +++ b/start.py @@ -0,0 +1,45 @@ +import sys +import os +def load(path): + f = open(path) + return f.read() + +def prepare(config): + config = config.splitlines() + out = f""" +
+ +

{config[0]}

+

{config[2]}

+
+
+ """ + return(out) + + +groups = os.listdir(f"{os.path.dirname(sys.argv[0])}/services") +html = "" +for i in groups: + items = os.listdir(f"{os.path.dirname(sys.argv[0])}/services/{i}") + html = html + f""" +

{i}

+
+ """ + + for a in items: + + temp = load(f"{os.path.dirname(sys.argv[0])}/services/{i}/{a}") + html = html + prepare(temp) + html = html + "
" + +css = open(f"{os.path.dirname(sys.argv[0])}/template/temp.css") +html = f""" + +{html} +""" +f = open(f"{os.path.dirname(sys.argv[0])}/render/render.html","w") +f.write(html) + +exec(load(f"{os.path.dirname(sys.argv[0])}/dash.py")) \ No newline at end of file diff --git a/template/temp.css b/template/temp.css new file mode 100644 index 0000000..509a3ef --- /dev/null +++ b/template/temp.css @@ -0,0 +1,51 @@ + + .group { + display: grid; +grid-template-rows: 1fr; +grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); +grid-gap: .5vw; + + } + +body { + color: rgb(67, 95, 102); + +} + +h1 { + background-color: rgb(37, 56, 55); + color: #CCCCCC; + + +} + a { + font: bold 11px Arial; + text-decoration: none; + background-color: #EEEEEE; + color: #333333; + padding: 10px 20px; + border-radius: 20px; + transition: all 0.3s ease; + transform: scale(1); + display: inline-block; + transform-origin: center; + background-size: contain; + background-repeat: initial; +} + +a:hover { + transform: scale(1.5); + background-color: #CCCCCC; +} +h2 { + background-color: rgba(58, 61, 61, 0.548); + color: #EEEEEE; + border-radius: 10px; + padding: 5px; +} +p { + color: #EEEEEE; + background-color: rgba(82, 82, 82, 0.555); + border-radius: 10px; + padding: 5px; +} \ No newline at end of file