#!/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()