diff --git a/.gitignore b/.gitignore index 4cecc0d..8f1b494 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ -.vscode/sftp.json -src/.vscode/sftp.json +.vscode .DS_Store .idea src/db diff --git a/src/dashboard.py b/src/dashboard.py index cfdb6fa..51ae708 100644 --- a/src/dashboard.py +++ b/src/dashboard.py @@ -4,7 +4,6 @@ Under Apache-2.0 License """ import sqlite3 -from flask import g import configparser import hashlib import ipaddress @@ -22,7 +21,7 @@ from datetime import datetime, timedelta from operator import itemgetter # PIP installed library import ifcfg -from flask import Flask, request, render_template, redirect, url_for, session, jsonify +from flask import Flask, request, render_template, redirect, url_for, session, jsonify, g from flask_qrcode import QRcode from icmplib import ping, traceroute @@ -32,21 +31,26 @@ from util import regex_match, check_DNS, check_Allowed_IPs, check_remote_endpoin # Dashboard Version DASHBOARD_VERSION = 'v3.0.5' + # WireGuard's configuration path WG_CONF_PATH = None + # Dashboard Config Name configuration_path = os.getenv('CONFIGURATION_PATH', '.') DB_PATH = os.path.join(configuration_path, 'db') if not os.path.isdir(DB_PATH): os.mkdir(DB_PATH) DASHBOARD_CONF = os.path.join(configuration_path, 'wg-dashboard.ini') + # Upgrade Required UPDATE = None + # Flask App Configuration app = Flask("WGDashboard") app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 5206928 app.secret_key = secrets.token_urlsafe(16) app.config['TEMPLATES_AUTO_RELOAD'] = True + # Enable QR Code Generator QRcode(app) @@ -99,7 +103,6 @@ def get_conf_peer_key(config_name): return config_name + " is not running." -# Get numbers of connected peer of a configuration def get_conf_running_peer_number(config_name): """ Get number of running peers on wireguard interface. @@ -128,7 +131,6 @@ def get_conf_running_peer_number(config_name): return running -# Read [Interface] section from configuration file def read_conf_file_interface(config_name): """ Get interface settings. @@ -161,7 +163,6 @@ def read_conf_file(config_name): @rtype: dict """ - # Read Configuration File Start conf_location = WG_CONF_PATH + "/" + config_name + ".conf" f = open(conf_location, 'r') file = f.read().split("\n") @@ -294,6 +295,7 @@ def get_endpoint(config_name): count += 2 + def get_allowed_ip(conf_peer_data, config_name): """ Get allowed ips from all peers of a configuration @@ -626,7 +628,6 @@ def close_DB(exception): g.db.close() -# Before request @app.before_request def auth_req(): """ @@ -1700,7 +1701,6 @@ def get_host_bind(): config.read('wg-dashboard.ini') app_ip = config.get("Server", "app_ip") app_port = config.get("Server", "app_port") - return app_ip, app_port