,
This commit is contained in:
@@ -3,6 +3,7 @@ from config import Config
|
|||||||
from flask_sqlalchemy import SQLAlchemy
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
from flask_migrate import Migrate
|
from flask_migrate import Migrate
|
||||||
from flask_login import LoginManager
|
from flask_login import LoginManager
|
||||||
|
from app.network_utils import cleanup_network
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.config.from_object(Config)
|
app.config.from_object(Config)
|
||||||
@@ -11,4 +12,6 @@ migrate = Migrate(app, db)
|
|||||||
login = LoginManager(app)
|
login = LoginManager(app)
|
||||||
login.login_view = "login"
|
login.login_view = "login"
|
||||||
|
|
||||||
|
cleanup_network()
|
||||||
|
|
||||||
from app import routes2, models
|
from app import routes2, models
|
||||||
|
|||||||
@@ -116,8 +116,17 @@ def scan_networks():
|
|||||||
|
|
||||||
current = output.partition("ESSID:")[2].strip().strip('"')
|
current = output.partition("ESSID:")[2].strip().strip('"')
|
||||||
|
|
||||||
output = run_subprocess("sudo iwlist {} scan".format(ClientInterface))
|
worked = False
|
||||||
|
while not worked:
|
||||||
|
try:
|
||||||
|
output = run_subprocess("sudo iwlist {} scan".format(ClientInterface))
|
||||||
|
worked = True
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
output = run_subprocess("sudo ifup {}".format(ClientInterface))
|
||||||
|
time.sleep(1)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
scan = parse_iwlist(output, current)
|
scan = parse_iwlist(output, current)
|
||||||
|
|
||||||
return scan
|
return scan
|
||||||
@@ -176,6 +185,31 @@ def disconnect_network():
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def cleanup_network():
|
||||||
|
run_subprocess_interface("sudo /usr/sbin/ifdown {}")
|
||||||
|
|
||||||
|
with open("/etc/wpa_supplicant/wpa_supplicant.conf", "wt") as f:
|
||||||
|
f.write(wpafile_none)
|
||||||
|
|
||||||
|
run_subprocess("sudo /usr/bin/systemctl stop wpa_supplicant")
|
||||||
|
|
||||||
|
with open("/etc/network/interfaces", "r") as sources:
|
||||||
|
lines = sources.readlines()
|
||||||
|
with open("/etc/network/interfaces", "w") as sources:
|
||||||
|
for line in lines:
|
||||||
|
sources.write(
|
||||||
|
re.sub(r"^iface {} inet dhcp".format(ClientInterface), "iface {} inet manual".format(ClientInterface), line)
|
||||||
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
|
run_subprocess("sudo /usr/bin/systemctl start wpa_supplicant")
|
||||||
|
run_subprocess_interface("sudo /usr/sbin/ifup {}")
|
||||||
|
except:
|
||||||
|
return False
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def vpn_connected():
|
def vpn_connected():
|
||||||
if run_subprocess("nordvpn status").find("Disconnected") != -1:
|
if run_subprocess("nordvpn status").find("Disconnected") != -1:
|
||||||
return False
|
return False
|
||||||
|
|||||||
Reference in New Issue
Block a user