This commit is contained in:
Rich
2021-07-03 06:56:22 +01:00
parent c68f2ef9c8
commit e8c3346f99

52
app.py
View File

@@ -1,11 +1,8 @@
# sudo nmcli device wifi connect "Home" ifname wlxf81a6719febb password "Dragon1234"
# sudo nmcli -t -f SSID,SIGNAL,IN-USE,SECURITY -e yes -m tab device wifi list ifname wlxf81a6719febb --rescan yes
import subprocess import subprocess
import sys import sys
from flask import Flask from flask import Flask
from flask import request from flask import request, redirect
CMD_SCAN = "sudo nmcli -t -f SSID,SIGNAL,IN-USE,SECURITY -e yes -m tab device wifi list ifname wlxf81a6719febb --rescan yes" CMD_SCAN = "sudo nmcli -t -f SSID,SIGNAL,IN-USE,SECURITY -e yes -m tab device wifi list ifname wlxf81a6719febb --rescan yes"
scan = ["rpi:100: :WPA2", "Home:94:*:WPA2", "HOME2:48: :WPA2", "BT:23: :"] scan = ["rpi:100: :WPA2", "Home:94:*:WPA2", "HOME2:48: :WPA2", "BT:23: :"]
@@ -13,12 +10,8 @@ scan = ["rpi:100: :WPA2", "Home:94:*:WPA2", "HOME2:48: :WPA2", "BT:23: :"]
app = Flask(__name__) app = Flask(__name__)
# sudo nmcli device wifi connect "HOME2" ifname wlxf81a6719febb password "Dragon123" # sudo nmcli device wifi connect "Home" ifname wlxf81a6719febb password "password"
# Device 'wlxf81a6719febb' successfully activated with 'ffbc2621-c0d8-4975-8509-92c1740be6a7'. # sudo nmcli -t -f SSID,SIGNAL,IN-USE,SECURITY -e yes -m tab device wifi list ifname wlxf81a6719febb --rescan yes
# rich@rpi:~$ echo $?
# 0
# rich@rpi:~$ sudo nmcli device wifi connect "HOME2" ifname wlxf81a6719febb password "Dragon1234"
# Error: Connection activation failed: (7) Secrets were required, but not provided.
def scan_wifi(): def scan_wifi():
@@ -32,19 +25,30 @@ def scan_wifi():
scan.append(line) scan.append(line)
# <!DOCTYPE html> @app.route("/connect")
# <html> def connect():
# <body> return "connect"
# <h2>Enter Password</h2>
# <form> @app.route("/passwd", methods=["GET", "POST"])
# <input type="text" id="passwd" name="passwd" value=""><br> def passwd():
# <p><input type=submit value="Submit"></p> if request.method == "GET":
# </form> html = """<!DOCTYPE html>
<html>
<body>
# </body> <h2>Enter Password</h2>
# </html>
<form method="POST">
<input type="text" id="passwd" name="passwd" value=""><br>
<p><input type=submit value="Submit"></p>
</form>
</body>
</html>"""
return html
if request.method == "POST":
return redirect("/connect")
@app.route("/", methods=["GET", "POST"]) @app.route("/", methods=["GET", "POST"])
@@ -81,6 +85,12 @@ def main():
output = output.replace("*DATA*", table) output = output.replace("*DATA*", table)
return output return output
if request.method == "POST": if request.method == "POST":
try:
line = scan[int(request.form.get("type_radio")) - 1] line = scan[int(request.form.get("type_radio")) - 1]
except:
return redirect("/")
return line if line.split(":")[3] == "WPA2":
return redirect("/passwd")
return redirect("/connect")