.
This commit is contained in:
@@ -42,7 +42,7 @@ def scan_networks():
|
|||||||
connected = "*"
|
connected = "*"
|
||||||
if a == 1:
|
if a == 1:
|
||||||
if line.find("Encryption key:off") != -1:
|
if line.find("Encryption key:off") != -1:
|
||||||
password = " "
|
password = ""
|
||||||
a = 2
|
a = 2
|
||||||
else:
|
else:
|
||||||
password = "WPA2"
|
password = "WPA2"
|
||||||
@@ -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,14 +168,55 @@ def connect(ssid, security):
|
|||||||
if security == "WPA2":
|
if security == "WPA2":
|
||||||
return redirect(url_for("wpa", ssid=ssid))
|
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="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"])
|
@app.route("/disconnect/<string:ssid>", methods=["GET", "POST"])
|
||||||
@login_required
|
@login_required
|
||||||
|
|||||||
Reference in New Issue
Block a user