This commit is contained in:
Rich
2021-07-08 19:49:21 +01:00
parent f567faa7be
commit 14bea9750c

View File

@@ -146,7 +146,10 @@ network={{
try: try:
output = subprocess.run( output = subprocess.run(
["sudo", "/usr/bin/systemctl", "start", "wpa_supplicant"], stdout=subprocess.PIPE, stderr=subprocess.PIPE,timeout=20 ["sudo", "/usr/bin/systemctl", "start", "wpa_supplicant"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
timeout=20,
).stdout.decode("utf-8") ).stdout.decode("utf-8")
output = subprocess.run( output = subprocess.run(
["sudo", "/usr/sbin/ifup", "wlan0"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=20 ["sudo", "/usr/sbin/ifup", "wlan0"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=20
@@ -165,6 +168,12 @@ def connect(ssid, security):
if security == "WPA2": if security == "WPA2":
return redirect(url_for("wpa", ssid=ssid)) return redirect(url_for("wpa", ssid=ssid))
# network={
# ssid="my ssid with spaces"
# key_mgmt=NONE
# }
if not RPI:
cmd = CMD_JOIN.replace("*SSID*", ssid) cmd = CMD_JOIN.replace("*SSID*", ssid)
output = subprocess.run(cmd.split(" "), stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.decode("utf-8") output = subprocess.run(cmd.split(" "), stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.decode("utf-8")
@@ -172,6 +181,41 @@ def connect(ssid, security):
return render_template("message.html", message="Successfully connected to {}".format(ssid)) return render_template("message.html", message="Successfully connected to {}".format(ssid))
return render_template("message.html", message="Failed to connect to {}".format(ssid)) return render_template("message.html", message="Failed to connect to {}".format(ssid))
else:
wpa = """country=GB # Your 2-digit country code
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={{
ssid="{}"
key_mgmt=NONE
}}
""".format(
ssid
)
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)
try:
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))
return render_template("message.html", message="Successfully connected to {}".format(ssid))
@app.route("/disconnect/<string:ssid>", methods=["GET", "POST"]) @app.route("/disconnect/<string:ssid>", methods=["GET", "POST"])