From c7a58bbd21ed5105fac80d7406e1c52401d42d79 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 14 Oct 2019 15:48:30 +0200 Subject: l autowifi: move into package, make more robust --- lass/5pkgs/autowifi/autowifi.py | 228 ++++++++++++++++++++++++++++++++++++++++ lass/5pkgs/autowifi/default.nix | 1 + 2 files changed, 229 insertions(+) create mode 100644 lass/5pkgs/autowifi/autowifi.py create mode 100644 lass/5pkgs/autowifi/default.nix (limited to 'lass/5pkgs') diff --git a/lass/5pkgs/autowifi/autowifi.py b/lass/5pkgs/autowifi/autowifi.py new file mode 100644 index 00000000..fa3d007e --- /dev/null +++ b/lass/5pkgs/autowifi/autowifi.py @@ -0,0 +1,228 @@ +import subprocess +import time +import urllib.request +import logging +import argparse +import socket +import struct +import signal +import os + +wifiDB = '' +logger = logging.getLogger() +got_signal = False + + +def signal_handler(signum, frame): + global got_signal + got_signal = True + + +def get_default_gateway() -> str: + """Read the default gateway directly from /proc.""" + with open("/proc/net/route") as fh: + for line in fh: + fields = line.strip().split() + if fields[1] != '00000000' or not int(fields[3], 16) & 2: + continue + + return socket.inet_ntoa(struct.pack("