.
This commit is contained in:
@@ -42,7 +42,7 @@ def scan_networks():
|
||||
connected = "*"
|
||||
if a == 1:
|
||||
if line.find("Encryption key:off") != -1:
|
||||
password = " "
|
||||
password = ""
|
||||
a = 2
|
||||
else:
|
||||
password = "WPA2"
|
||||
@@ -146,7 +146,10 @@ network={{
|
||||
|
||||
try:
|
||||
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")
|
||||
output = subprocess.run(
|
||||
["sudo", "/usr/sbin/ifup", "wlan0"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=20
|
||||
@@ -165,14 +168,55 @@ def connect(ssid, security):
|
||||
if security == "WPA2":
|
||||
return redirect(url_for("wpa", ssid=ssid))
|
||||
|
||||
cmd = CMD_JOIN.replace("*SSID*", ssid)
|
||||
# network={
|
||||
# ssid="my ssid with spaces"
|
||||
# key_mgmt=NONE
|
||||
# }
|
||||
|
||||
if not RPI:
|
||||
cmd = CMD_JOIN.replace("*SSID*", ssid)
|
||||
|
||||
output = subprocess.run(cmd.split(" "), stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.decode("utf-8")
|
||||
if output.find("Error") == -1:
|
||||
return render_template("message.html", message="Successfully connected 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))
|
||||
|
||||
output = subprocess.run(cmd.split(" "), stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.decode("utf-8")
|
||||
if output.find("Error") == -1:
|
||||
return render_template("message.html", message="Successfully connected to {}".format(ssid))
|
||||
|
||||
return render_template("message.html", message="Failed to connect to {}".format(ssid))
|
||||
|
||||
|
||||
@app.route("/disconnect/<string:ssid>", methods=["GET", "POST"])
|
||||
@login_required
|
||||
|
||||
Reference in New Issue
Block a user