#!/usr/bin/env python3 """Peek live login.html for fonts vs iOS overlay. No secrets.""" from __future__ import annotations import io import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parent)) def peek(sftp, path: str) -> None: with sftp.file(path, "r") as f: raw = f.read() text = raw.decode("utf-8", "replace") if isinstance(raw, bytes) else str(raw) print("FILE", path, "bytes", len(text)) print(" fonts.googleapis", "fonts.googleapis.com" in text) print(" fonts.gstatic preconnect", "fonts.gstatic.com" in text) print(" wo-cna-fast", "wo-cna-fast" in text) print(" wo-pay-scrim", "wo-pay-scrim" in text) print(" woPayWait", "woPayWait" in text or "woPayScrim" in text) print(" preloader hide", "#preloader{display:none" in text) def hub() -> None: from mk_hub_exec import connect mk = connect() try: peek(mk.open_sftp(), "hotspot/login.html") finally: mk.close() def nko() -> None: import paramiko from mk_rb4011_exec import JUMP, MK jump = paramiko.SSHClient() jump.set_missing_host_key_policy(paramiko.AutoAddPolicy()) jump.connect(JUMP[0], username=JUMP[1], password=JUMP[2], timeout=25, allow_agent=False, look_for_keys=False) chan = jump.get_transport().open_channel("direct-tcpip", (MK[0], 22), ("127.0.0.1", 0)) mk = paramiko.SSHClient() mk.set_missing_host_key_policy(paramiko.AutoAddPolicy()) mk.connect(MK[0], username=MK[1], password=MK[2], sock=chan, timeout=25, allow_agent=False, look_for_keys=False) try: peek(mk.open_sftp(), "hotspot/login.html") finally: mk.close() jump.close() if __name__ == "__main__": print("==== HUB ====") hub() print("==== NKO ====") nko()