From bc8b8e7982f6fefd6e6422373150024175d4c64e Mon Sep 17 00:00:00 2001 From: Donald Zou Date: Tue, 4 May 2021 01:32:34 -0400 Subject: [PATCH] v2.0-beta-1 Commit --- .gitignore | 2 + requirements.txt | 2 +- src/dashboard.py | 196 +++++++++++++++++++++++++++---- src/json/conf.json | 0 src/static/dashboard.css | 32 ++++- src/static/logo.png | Bin 51390 -> 50430 bytes src/templates/configuration.html | 55 ++------- src/templates/footer.html | 20 ++++ src/templates/get_conf.html | 52 ++------ src/templates/header.html | 13 ++ src/templates/index.html | 89 ++++---------- src/templates/navbar.html | 7 ++ src/templates/settings.html | 107 +++++++++++++++++ src/templates/sidebar.html | 30 +++++ src/templates/signin.html | 43 +++++++ src/wg-dashboard.ini | 9 ++ src/wgd.sh | 86 ++++++++++++++ 17 files changed, 558 insertions(+), 185 deletions(-) delete mode 100644 src/json/conf.json create mode 100644 src/templates/footer.html create mode 100644 src/templates/header.html create mode 100644 src/templates/navbar.html create mode 100644 src/templates/settings.html create mode 100644 src/templates/sidebar.html create mode 100644 src/templates/signin.html create mode 100644 src/wg-dashboard.ini create mode 100644 src/wgd.sh diff --git a/.gitignore b/.gitignore index c1dc8aa..a1d27d0 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ wg.db *.json .idea src/test.py +tmp +__pycache__ diff --git a/requirements.txt b/requirements.txt index 716f2f1..10b3a2f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ Flask==1.1.2 tinydb==4.3.0 ifcfg==0.21 -ping3==2.7.0 \ No newline at end of file +configparser==5.0.2 \ No newline at end of file diff --git a/src/dashboard.py b/src/dashboard.py index e5016a0..cb88bbf 100644 --- a/src/dashboard.py +++ b/src/dashboard.py @@ -1,13 +1,22 @@ -import ifcfg +# Python Built-in Library import os -from flask import Flask, request, render_template, redirect, url_for +from flask import Flask, request, render_template, redirect, url_for, session, abort import subprocess from datetime import datetime, date, time, timedelta from operator import itemgetter -from tinydb import TinyDB, Query +import secrets +import hashlib +import json, urllib.request +# PIP installed library +import ifcfg +from tinydb import TinyDB, Query +import configparser + +dashboard_conf = 'wg-dashboard.ini' conf_location = "/etc/wireguard" app = Flask("Wireguard Dashboard") +app.secret_key = secrets.token_urlsafe(16) app.config['TEMPLATES_AUTO_RELOAD'] = True conf_data = {} @@ -177,20 +186,20 @@ def get_peers(config_name): def get_conf_pub_key(config_name): - try: - pub_key = subprocess.check_output("wg show " + config_name + " public-key", shell=True, stderr=subprocess.STDOUT) - except Exception: - return "stopped" - return pub_key.decode("UTF-8") + conf = configparser.ConfigParser(strict=False) + conf.read(conf_location+"/"+config_name+".conf") + pri = conf.get("Interface", "PrivateKey") + pub = subprocess.check_output("echo '" + pri + "' | wg pubkey", shell=True) + conf.clear() + return pub.decode().strip("\n") def get_conf_listen_port(config_name): - try: - pub_key = subprocess.check_output("wg show " + config_name + " listen-port", shell=True, - stderr=subprocess.STDOUT) - except Exception: - return "stopped" - return pub_key.decode("UTF-8") + conf = configparser.ConfigParser(strict=False) + conf.read(conf_location + "/" + config_name + ".conf") + port = conf.get("Interface", "ListenPort") + conf.clear() + return port def get_conf_total_data(config_name): @@ -219,20 +228,154 @@ def get_conf_list(): if ".conf" in i: i = i.replace('.conf', '') temp = {"conf": i, "status": get_conf_status(i), "public_key": get_conf_pub_key(i)} + # get_conf_peers_data(i) if temp['status'] == "running": temp['checked'] = 'checked' else: temp['checked'] = "" conf.append(temp) - conf = sorted(conf, key=itemgetter('status')) + conf = sorted(conf, key=itemgetter('conf')) return conf + + +@app.before_request +def auth_req(): + conf = configparser.ConfigParser(strict=False) + conf.read(dashboard_conf) + req = conf.get("Server", "auth_req") + if req == "true": + if '/static/' not in request.path and \ + request.endpoint != "signin" and \ + request.endpoint != "signout" and \ + request.endpoint != "auth" and \ + "username" not in session: + print(request.path) + print("not loggedin") + return redirect(url_for("signin")) + else: + if request.endpoint in ['signin', 'signout', 'auth', 'settings', 'update_acct', 'update_pwd', 'update_app_ip_port']: + return redirect(url_for("index")) + +@app.route('/signin', methods=['GET']) +def signin(): + message = "" + if "message" in session: + message = session['message'] + session.pop("message") + return render_template('signin.html', message=message) + + +@app.route('/signout', methods=['GET']) +def signout(): + if "username" in session: + session.pop("username") + message = "Sign out successfully!" + return render_template('signin.html', message=message) + + + +@app.route('/settings', methods=['GET']) +def settings(): + message = "" + status = "" + config = configparser.ConfigParser(strict=False) + config.read(dashboard_conf) + if "message" in session and "message_status" in session: + message = session['message'] + status = session['message_status'] + session.pop("message") + session.pop("message_status") + required_auth = config.get("Server", "auth_req") + return render_template('settings.html',conf=get_conf_list(),message=message, status=status, app_ip = config.get("Server", "app_ip"), app_port = config.get("Server", "app_port"), required_auth=required_auth) + +@app.route('/auth', methods=['POST']) +def auth(): + config = configparser.ConfigParser(strict=False) + config.read(dashboard_conf) + password = hashlib.sha256(request.form['password'].encode()) + if password.hexdigest() == config["Account"]["password"] and request.form['username'] == config["Account"]["username"]: + session['username'] = request.form['username'] + config.clear() + return redirect(url_for("index")) + else: + session['message'] = "Username or Password is correct." + config.clear() + return redirect(url_for("signin")) + +@app.route('/update_acct', methods=['POST']) +def update_acct(): + config = configparser.ConfigParser(strict=False) + config.read(dashboard_conf) + config.set("Account", "username", request.form['username']) + try: + config.write(open(dashboard_conf, "w")) + session['message'] = "Username update successfully!" + session['message_status'] = "success" + session['username'] = request.form['username'] + config.clear() + return redirect(url_for("settings")) + except Exception: + session['message'] = "Username update failed." + session['message_status'] = "danger" + config.clear() + return redirect(url_for("settings")) + +@app.route('/update_pwd', methods=['POST']) +def update_pwd(): + config = configparser.ConfigParser(strict=False) + config.read(dashboard_conf) + if hashlib.sha256(request.form['currentpass'].encode()).hexdigest() == config.get("Account", "password"): + if hashlib.sha256(request.form['newpass'].encode()).hexdigest() == hashlib.sha256(request.form['repnewpass'].encode()).hexdigest(): + config.set("Account", "password", hashlib.sha256(request.form['repnewpass'].encode()).hexdigest()) + try: + config.write(open(dashboard_conf, "w")) + session['message'] = "Password update successfully!" + session['message_status'] = "success" + config.clear() + return redirect(url_for("settings")) + except Exception: + session['message'] = "Password update failed" + session['message_status'] = "danger" + config.clear() + return redirect(url_for("settings")) + else: + session['message'] = "Your New Password does not match." + session['message_status'] = "danger" + config.clear() + return redirect(url_for("settings")) + else: + session['message'] = "Your Password does not match." + session['message_status'] = "danger" + config.clear() + return redirect(url_for("settings")) + +@app.route('/update_app_ip_port', methods=['POST']) +def update_app_ip_port(): + config = configparser.ConfigParser(strict=False) + config.read(dashboard_conf) + config.set("Server", "app_ip", request.form['app_ip']) + config.set("Server", "app_port", request.form['app_port']) + config.write(open(dashboard_conf, "w")) + config.clear() + os.system('bash wgd.sh restart') + +@app.route('/check_update_dashboard', methods=['GET']) +def check_update_dashboard(): + conf = configparser.ConfigParser(strict=False) + conf.read(dashboard_conf) + data = urllib.request.urlopen("https://api.github.com/repos/donaldzou/wireguard-dashboard/releases").read() + output = json.loads(data) + if conf.get("Server", "version") == output[0]["tag_name"]: + return "false" + else: + return "true" + @app.route('/', methods=['GET']) def index(): return render_template('index.html', conf=get_conf_list()) - @app.route('/configuration/', methods=['GET']) def conf(config_name): conf_data = { @@ -241,16 +384,15 @@ def conf(config_name): "checked": "" } if conf_data['status'] == "stopped": - return redirect('/') + conf_data['checked'] = "nope" else: conf_data['checked'] = "checked" - return render_template('configuration.html', conf=get_conf_list(), conf_data=conf_data) + return render_template('configuration.html', conf=get_conf_list(), conf_data=conf_data) @app.route('/get_config/', methods=['GET']) def get_conf(config_name): db = TinyDB('db/' + config_name + '.json') - conf_data = { "peer_data": get_peers(config_name), "name": config_name, @@ -261,14 +403,18 @@ def get_conf(config_name): "running_peer": get_conf_running_peer_number(config_name), } if conf_data['status'] == "stopped": - return redirect('/') + # return redirect('/') + conf_data['checked'] = "nope" else: conf_data['checked'] = "checked" - return render_template('get_conf.html', conf=get_conf_list(), conf_data=conf_data) + return render_template('get_conf.html', conf=get_conf_list(), conf_data=conf_data) @app.route('/switch/', methods=['GET']) def switch(config_name): + if "username" not in session: + print("not loggedin") + return redirect(url_for("signin")) status = get_conf_status(config_name) if status == "running": try: @@ -301,7 +447,6 @@ def add_peer(config_name): return "true" except subprocess.CalledProcessError as exc: return exc.output.strip() - # return redirect('/configuration/'+config_name) @@ -347,4 +492,9 @@ def get_peer_name(config_name): return result[0]['name'] if __name__ == "__main__": - app.run(host='0.0.0.0', debug=False, port=10086) \ No newline at end of file + config = configparser.ConfigParser(strict=False) + config.read('wg-dashboard.ini') + app_ip = config.get("Server", "app_ip") + app_port = config.get("Server", "app_port") + config.clear() + app.run(host=app_ip, debug=False, port=app_port) \ No newline at end of file diff --git a/src/json/conf.json b/src/json/conf.json deleted file mode 100644 index e69de29..0000000 diff --git a/src/static/dashboard.css b/src/static/dashboard.css index d985ec4..da5bb71 100644 --- a/src/static/dashboard.css +++ b/src/static/dashboard.css @@ -22,11 +22,11 @@ body { box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1); } -@media (max-width: 767.98px) { - .sidebar { - top: 5rem; - } -} +/*@media (max-width: 767.98px) {*/ +/* .sidebar {*/ +/* top: 5rem;*/ +/* }*/ +/*}*/ .sidebar-sticky { position: relative; @@ -47,6 +47,11 @@ body { .sidebar .nav-link { font-weight: 500; color: #333; + transition: 0.2s cubic-bezier(0.82, -0.07, 0, 1.01); +} + +.nav-link:hover { + padding-left: 30px; } .sidebar .nav-link .feather { @@ -139,4 +144,21 @@ body { .btn-setting-peer:hover{ color:#007bff +} + +.login-container{ + padding: 2rem; +} + +@media (max-width: 992px){ + .card-col{ + margin-bottom: 1rem; + } +} + +.switch{ + font-size: 2rem; +} +.switch:hover{ + text-decoration: none } \ No newline at end of file diff --git a/src/static/logo.png b/src/static/logo.png index 71114333ff72293e6f706576c03c425c02f49ea9..2dcf9d1530bf3e3da9b08454f2a66e1768684d3c 100644 GIT binary patch literal 50430 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 RUd#Xh002ovPDHLkV1m@o=W_r6 literal 51390 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 PfPX3qn)0Qx$e{lNZiaZ) diff --git a/src/templates/configuration.html b/src/templates/configuration.html index 66162ca..73c771f 100644 --- a/src/templates/configuration.html +++ b/src/templates/configuration.html @@ -1,45 +1,11 @@ - - - - Wireguard Dashboard - - - - - - - +{% include "header.html" %} - + {% include "navbar.html" %}
-
-
- -
-
+ {% include "sidebar.html" %}
@@ -150,6 +116,9 @@ integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"> \ No newline at end of file diff --git a/src/templates/footer.html b/src/templates/footer.html new file mode 100644 index 0000000..aeda579 --- /dev/null +++ b/src/templates/footer.html @@ -0,0 +1,20 @@ + + + + + \ No newline at end of file diff --git a/src/templates/get_conf.html b/src/templates/get_conf.html index e6161cd..cbff4f3 100644 --- a/src/templates/get_conf.html +++ b/src/templates/get_conf.html @@ -7,7 +7,13 @@
ACTION
- +{# #} + + {% if conf_data['checked'] == "checked" %} + ON + {% else %} + OFF + {% endif %}
@@ -96,50 +102,6 @@ END POINT
{{i['endpoint']}}
-{#
#} -{#
#} -{# #} -{#
#} -{# #}
diff --git a/src/templates/header.html b/src/templates/header.html new file mode 100644 index 0000000..7527c52 --- /dev/null +++ b/src/templates/header.html @@ -0,0 +1,13 @@ + + + + Wireguard Dashboard + + + + + + + + + diff --git a/src/templates/index.html b/src/templates/index.html index 440f75f..8c21d04 100644 --- a/src/templates/index.html +++ b/src/templates/index.html @@ -1,70 +1,35 @@ - - - - - Wireguard Dashboard - - - - - - +{% include "header.html" %} - + {% include "navbar.html" %}
-
-
- -
-
+ {% include "sidebar.html" %}
{% for i in conf%}
-
-
+ -
- -
- -
-
+
STATUS -
{{i['status']}}
+
{{i['status']}}
-
+
PUBLIC KEY -
{{i['public_key']}}
+
{{i['public_key']}}
+
+
+ {% if i['checked'] == "checked" %} + + {% else %} + + {% endif %}
- -
@@ -72,25 +37,11 @@
- - - - +{% include "footer.html" %} \ No newline at end of file diff --git a/src/templates/navbar.html b/src/templates/navbar.html new file mode 100644 index 0000000..e4d8ba4 --- /dev/null +++ b/src/templates/navbar.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/src/templates/settings.html b/src/templates/settings.html new file mode 100644 index 0000000..e040226 --- /dev/null +++ b/src/templates/settings.html @@ -0,0 +1,107 @@ + + {% include "header.html" %} + + {% include "navbar.html" %} +
+ {% include "sidebar.html" %} +
+
+ {% if message != ""%} + + {% endif %} +

Settings

+ {% if required_auth == "true" %} +

Account

+
+
+ + + +
+
+
+

Security

+
+
+ + + + + + + +
+
+
+ {% endif %} +

Dashboard Configuration

+
+
+
+
+ + +

0.0.0.0 means it can be access by anyone with your server IP Address.

+
+
+ + +
+
+ +
+
+
+
+ + +
+ +{% include "footer.html" %} + + \ No newline at end of file diff --git a/src/templates/sidebar.html b/src/templates/sidebar.html new file mode 100644 index 0000000..00fd86d --- /dev/null +++ b/src/templates/sidebar.html @@ -0,0 +1,30 @@ +
+
+ +
+
\ No newline at end of file diff --git a/src/templates/signin.html b/src/templates/signin.html new file mode 100644 index 0000000..d361a9a --- /dev/null +++ b/src/templates/signin.html @@ -0,0 +1,43 @@ + + + + + Wireguard Dashboard | Login + + + + + + {% include "navbar.html" %} +
+ +
+ +
+
+ +{% include "footer.html" %} + \ No newline at end of file diff --git a/src/wg-dashboard.ini b/src/wg-dashboard.ini new file mode 100644 index 0000000..c7eec12 --- /dev/null +++ b/src/wg-dashboard.ini @@ -0,0 +1,9 @@ +[Account] +username = admin +password = 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 + +[Server] +app_ip = 0.0.0.0 +app_port = 10086 +auth_req = true +version = v2.0 \ No newline at end of file diff --git a/src/wgd.sh b/src/wgd.sh new file mode 100644 index 0000000..ec90bb9 --- /dev/null +++ b/src/wgd.sh @@ -0,0 +1,86 @@ +#!/bin/bash + +app_name="dashboard.py" + +help () { + printf " by Donald Zou - https://github.com/donaldzou \n" + printf "Usage: sh wg-dashboard.sh