#!/usr/bin/env python3 import paramiko, re from pathlib import Path JUMP = ("100.80.255.113", "otantik", "DeararbsFr2@") MK = ("172.30.0.1", "admin", "demopass") out = Path(r"c:\laragon\www\light-otantik-nux\scripts\_mk_portal\portal_login.html") jump = paramiko.SSHClient() jump.set_missing_host_key_policy(paramiko.AutoAddPolicy()) jump.connect(JUMP[0], username=JUMP[1], password=JUMP[2], timeout=20, 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=20, allow_agent=False, look_for_keys=False) sftp = mk.open_sftp() sftp.get("portal/login.html", str(out)) sftp.close(); mk.close(); jump.close() text = out.read_text(encoding="utf-8", errors="replace") urls = sorted(set(re.findall(r"https?://[^\s\"'<>]+", text))) print("size", len(text)) print("URLS") for u in urls: print(u) print("--- PORTAL ---") for line in text.splitlines(): if "PORTAL" in line or "fapshi" in line.lower() or "ticket" in line.lower() or "woyla" in line.lower() or "otantik" in line.lower() or "billing" in line.lower(): print(line[:200])