diff --git a/app.py b/app.py index b2f49f3..52aee64 100644 --- a/app.py +++ b/app.py @@ -5,10 +5,12 @@ app = Flask(__name__) # Speicher für Proxy-Subdomains (dict mit Liste für jeden Server) proxy_data = {} +deleted_servers = set() # Hier speichern wir temporär gelöschte Server @app.route('/') def index(): - return render_template('index.html', proxies=proxy_data) + filtered_data = {k: v for k, v in proxy_data.items() if k not in deleted_servers} + return render_template('index.html', proxies=filtered_data) @app.route('/update', methods=['POST']) def update(): @@ -20,7 +22,22 @@ def update(): server_name = data["server"] proxy_data[server_name] = data["entries"] + # Falls der Server wieder Daten sendet, entfernen wir ihn aus der Lösch-Liste + if server_name in deleted_servers: + deleted_servers.remove(server_name) + return jsonify({"message": "Updated successfully"}), 200 +@app.route('/delete', methods=['POST']) +def delete_entry(): + """Markiert einen Server als gelöscht, damit er nicht mehr angezeigt wird""" + data = request.json + server_name = data.get("server") + if not server_name or server_name not in proxy_data: + return jsonify({"error": "Server not found"}), 400 + + deleted_servers.add(server_name) + return jsonify({"message": f"Server {server_name} deleted"}), 200 + if __name__ == '__main__': app.run(host='0.0.0.0', port=5000) diff --git a/src/update.py b/src/update.py index 3be94f3..735df2c 100644 --- a/src/update.py +++ b/src/update.py @@ -1,10 +1,11 @@ import requests import re import os +import socket CADDYFILE_PATH = "/opt/docker/caddy/conf/Caddyfile" # Pfad zur Caddyfile DASHBOARD_URL = "http://10.0.0.25:5000/update" # Anpassen! -SERVER_NAME = os.getenv("CADDY_SERVER_NAME", "Unknown Server") +SERVER_NAME = socket.gethostname() def parse_caddyfile(): entries = {} diff --git a/templates/index.html b/templates/index.html index 2228386..97f55b3 100644 --- a/templates/index.html +++ b/templates/index.html @@ -3,33 +3,71 @@ Zentrales Caddy-Dashboard - + + - -
-

Zentrales Caddy-Dashboard

+ +
+

Zentrales Caddy-Dashboard

-
+
+ + {% for server, entries in proxies.items() %} -

{{ server }}

- - - - - - - - - {% for domain, target in entries.items() %} - - - - - {% endfor %} - -
DomainZiel
{{ domain }}{{ target }}
+
+
+ + +
+ +
{% endfor %} -
+