From d8f3ce4fa35bd6955754540f7b4fbda58e29edd1 Mon Sep 17 00:00:00 2001 From: pika Date: Mon, 10 Mar 2025 19:16:26 +0100 Subject: [PATCH] some changes --- app.py | 18 ++++++--- requirements.txt | 1 + templates/index.html | 92 +++++++++++++++++++++++++++++--------------- 3 files changed, 74 insertions(+), 37 deletions(-) diff --git a/app.py b/app.py index 52aee64..a911786 100644 --- a/app.py +++ b/app.py @@ -1,11 +1,11 @@ from flask import Flask, render_template, request, jsonify +import requests import threading 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 +deleted_servers = set() @app.route('/') def index(): @@ -14,15 +14,13 @@ def index(): @app.route('/update', methods=['POST']) def update(): - """Empfängt Subdomain-Daten von Caddy-Proxies""" data = request.json if not data or "server" not in data or "entries" not in data: return jsonify({"error": "Invalid data"}), 400 - + 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) @@ -30,7 +28,6 @@ def update(): @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: @@ -39,5 +36,14 @@ def delete_entry(): deleted_servers.add(server_name) return jsonify({"message": f"Server {server_name} deleted"}), 200 +@app.route('/status/') +def check_status(domain): + """Check if a subdomain is reachable""" + try: + response = requests.get(f"https://{domain}", timeout=3) + return jsonify({"status": response.status_code}) + except requests.exceptions.RequestException: + return jsonify({"status": "offline"}) + if __name__ == '__main__': app.run(host='0.0.0.0', port=5000) diff --git a/requirements.txt b/requirements.txt index 7e10602..30692b7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ flask +requests diff --git a/templates/index.html b/templates/index.html index 97f55b3..d0659d7 100644 --- a/templates/index.html +++ b/templates/index.html @@ -2,16 +2,19 @@ - Zentrales Caddy-Dashboard + Caddy Dashboard -
-

Zentrales Caddy-Dashboard

+ +
+

Caddy Dashboard

+

Übersicht über alle aktiven Proxy-Server

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

{{ server }}

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