caddydb/app.py
2025-03-10 18:45:04 +01:00

43 lines
1.5 KiB
Python

from flask import Flask, render_template, request, jsonify
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
@app.route('/')
def index():
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():
"""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)
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)