From f567faa7be9e8bdb2ebfe2ecae351fe9d0d4cbbc Mon Sep 17 00:00:00 2001 From: Rich Date: Thu, 8 Jul 2021 19:37:44 +0100 Subject: [PATCH] . --- app/routes.py | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/app/routes.py b/app/routes.py index e33bc02..15f78f4 100644 --- a/app/routes.py +++ b/app/routes.py @@ -106,8 +106,8 @@ def logout(): @app.route("/wpa/", methods=["GET", "POST"]) @login_required def wpa(ssid): -# wlan0: flags=4098 mtu 1500 -# wlan1: flags=4163 mtu 1500 + # wlan0: flags=4098 mtu 1500 + # wlan1: flags=4163 mtu 1500 if not RPI: form = WPAForm() if form.validate_on_submit(): @@ -124,23 +124,33 @@ def wpa(ssid): else: form = WPAForm() if form.validate_on_submit(): - wpa = '''country=GB # Your 2-digit country code + wpa = """country=GB # Your 2-digit country code ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev network={{ ssid="{}" psk="{}" key_mgmt=WPA-PSK }} -'''.format(ssid,form.password.data) - with open('/tmp/arg.txt','wt') as f: +""".format( + ssid, form.password.data + ) + output = subprocess.run( + ["sudo", "/usr/sbin/ifdown", "wlan0"], stdout=subprocess.PIPE, stderr=subprocess.PIPE + ).stdout.decode("utf-8") + output = subprocess.run( + ["sudo", "/usr/bin/systemctl", "stop", "wpa_supplicant"], stdout=subprocess.PIPE, stderr=subprocess.PIPE + ).stdout.decode("utf-8") + + with open("/etc/wpa_supplicant/wpa_supplicant.conf", "wt") as f: f.write(wpa) - - output = subprocess.run(['sudo', '/usr/sbin/ifdown','wlan0'], stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.decode("utf-8") - output = subprocess.run(['sudo', '/usr/bin/systemctl','stop','wpa_supplicant'], stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.decode("utf-8") - output = subprocess.run(['sudo', 'mv','/tmp/arg.txt','/etc/wpa_supplicant/wpa_supplicant.conf'], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.decode("utf-8") + try: - output = subprocess.run(['sudo', '/usr/bin/systemctl','start','wpa_supplicant'], stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.decode("utf-8") - output = subprocess.run(['sudo', '/usr/sbin/ifup','wlan0'], stdout=subprocess.PIPE, stderr=subprocess.PIPE,timeout=10).stdout.decode("utf-8") + output = subprocess.run( + ["sudo", "/usr/bin/systemctl", "start", "wpa_supplicant"], stdout=subprocess.PIPE, stderr=subprocess.PIPE,timeout=20 + ).stdout.decode("utf-8") + output = subprocess.run( + ["sudo", "/usr/sbin/ifup", "wlan0"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=20 + ).stdout.decode("utf-8") except: return render_template("message.html", message="Failt to connected to {}".format(ssid)) @@ -148,6 +158,7 @@ network={{ return render_template("wpa.html", title="WPA Password", form=form) + @app.route("/connect/&", methods=["GET", "POST"]) @login_required def connect(ssid, security): @@ -173,6 +184,8 @@ def disconnect(ssid): return render_template("message.html", message="Failed to Disconnect from {}".format(ssid)) else: - output = subprocess.run(['sudo','/usr/sbin/ifdown','wlan0'], stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.decode("utf-8") + output = subprocess.run( + ["sudo", "/usr/sbin/ifdown", "wlan0"], stdout=subprocess.PIPE, stderr=subprocess.PIPE + ).stdout.decode("utf-8") return render_template("message.html", message="Sucessfully disconnected from {}".format(ssid))