from flask import Blueprint, render_template, request, redirect, url_for, flash import os dns_bp = Blueprint('dns', __name__) DNS_FILE = os.path.join(os.path.dirname(__file__), '..', 'lib', 'DNS_list.txt') def read_dns_list(): if not os.path.exists(DNS_FILE): return [] with open(DNS_FILE, 'r') as f: return [line.strip() for line in f.readlines()] def write_dns_list(dns_list): with open(DNS_FILE, 'w') as f: for item in dns_list: f.write(f"{item}\n") @dns_bp.route('/add_dns', methods=['POST']) def add_dns(): dns_entry = request.form.get('dns_entry') if dns_entry: dns_list = read_dns_list() if dns_entry not in dns_list: dns_list.append(dns_entry) write_dns_list(dns_list) flash('DNS entry added successfully.', 'success') else: flash('DNS entry already exists.', 'info') else: flash('DNS entry cannot be empty.', 'danger') return redirect(url_for('config_dashboard')) @dns_bp.route('/remove_dns', methods=['POST']) def remove_dns(): dns_entry = request.form.get('dns_entry') if dns_entry: dns_list = read_dns_list() if dns_entry in dns_list: dns_list.remove(dns_entry) write_dns_list(dns_list) flash('DNS entry removed successfully.', 'success') else: flash('DNS entry not found.', 'info') else: flash('DNS entry cannot be empty.', 'danger') return redirect(url_for('config_dashboard'))