47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
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')) |