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

View File

@@ -106,8 +106,8 @@ def logout():
@app.route("/wpa/<ssid>", methods=["GET", "POST"])
@login_required
def wpa(ssid):
# wlan0: flags=4098<BROADCAST,MULTICAST> mtu 1500
# wlan1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
# wlan0: flags=4098<BROADCAST,MULTICAST> mtu 1500
# wlan1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> 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/<string:ssid>&<string:security>", 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))