From 4413316ba23361ce0e3c7664d5b24501af604762 Mon Sep 17 00:00:00 2001 From: Blackwhitebear8 Date: Wed, 13 Aug 2025 15:56:53 +0200 Subject: [PATCH] Update app.py --- app.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/app.py b/app.py index 3669ec8..21e217a 100644 --- a/app.py +++ b/app.py @@ -8,7 +8,7 @@ from flask import Flask, render_template_string, jsonify, url_for, redirect, ren app = Flask(__name__) -from modules.parse import run_bgp_curl_command, run_arp_curl_command, run_neighbors_curl_command, run_interfaces_curl_command, run_bgp_route_curl_command, run_rpki_cache_connection_curl_command, run_rpki_lookup_curl_command, run_bgp_neighbor_detail_curl_command, run_bfd_peers_curl_command, run_bfd_peer_detail_curl_command +from modules.parse import run_bgp_curl_command, run_arp_curl_command, run_neighbors_curl_command, run_interfaces_curl_command, run_bgp_route_curl_command, run_rpki_cache_connection_curl_command, run_rpki_lookup_curl_command, run_bgp_neighbor_detail_curl_command, run_bfd_peers_curl_command, run_bfd_peer_detail_curl_command, run_bgp_dampeningv4_curl_command, run_bgp_dampeningv6_curl_command from modules.bgp import parse_bgp_data, generate_bgp_json @@ -26,6 +26,8 @@ from modules.rpki import parse_rpki_cache_data, parse_rpki_lookup_data from modules.bfd import parse_bfd_peers_data +from modules.bgp_dampening import parse_dampened_data, generate_dampened_json + from modules.visual_route import generate_visual_route_graph @app.context_processor @@ -61,6 +63,23 @@ def bgp_json(): return jsonify(generate_bgp_json(ipv4_info, ipv4_peers, ipv6_info, ipv6_peers, bfd_peers)) +@app.route("/bgp/dampened") +def bgp_dampened_page(): + return render_template("bgp_dampened.html") + +@app.route("/bgp/dampened/json") +def bgp_dampened_json(): + try: + ipv4_dampened_raw = run_bgp_dampeningv4_curl_command() + ipv6_dampened_raw = run_bgp_dampeningv6_curl_command() + + ipv4_paths = parse_dampened_data(ipv4_dampened_raw, "ipv4") + ipv6_paths = parse_dampened_data(ipv6_dampened_raw, "ipv6") + + return jsonify(generate_dampened_json(ipv4_paths, ipv6_paths)) + except Exception as e: + return jsonify({"error": "Failed to retrieve BGP dampened data.", "details": str(e)}), 500 + @app.route('/bfd/peer/') def bfd_peer_detail(peer_ip): try: