This commit is contained in:
Rich
2021-07-08 19:37:44 +01:00
parent 82e5ce4b01
commit f567faa7be

View File

@@ -124,23 +124,33 @@ def wpa(ssid):
else: else:
form = WPAForm() form = WPAForm()
if form.validate_on_submit(): 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 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={{ network={{
ssid="{}" ssid="{}"
psk="{}" psk="{}"
key_mgmt=WPA-PSK key_mgmt=WPA-PSK
}} }}
'''.format(ssid,form.password.data) """.format(
with open('/tmp/arg.txt','wt') as f: 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) 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: try:
output = subprocess.run(['sudo', '/usr/bin/systemctl','start','wpa_supplicant'], stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.decode("utf-8") output = subprocess.run(
output = subprocess.run(['sudo', '/usr/sbin/ifup','wlan0'], stdout=subprocess.PIPE, stderr=subprocess.PIPE,timeout=10).stdout.decode("utf-8") ["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: except:
return render_template("message.html", message="Failt to connected to {}".format(ssid)) 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) return render_template("wpa.html", title="WPA Password", form=form)
@app.route("/connect/<string:ssid>&<string:security>", methods=["GET", "POST"]) @app.route("/connect/<string:ssid>&<string:security>", methods=["GET", "POST"])
@login_required @login_required
def connect(ssid, security): def connect(ssid, security):
@@ -173,6 +184,8 @@ def disconnect(ssid):
return render_template("message.html", message="Failed to Disconnect from {}".format(ssid)) return render_template("message.html", message="Failed to Disconnect from {}".format(ssid))
else: 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)) return render_template("message.html", message="Sucessfully disconnected from {}".format(ssid))