import time import socket import requests import sys print("[*] Loading modules...") try: from cloakbrowser import launch, launch_persistent_context except ImportError: print("[!] CloakBrowser is not installed! Run: pip install cloakbrowser") sys.exit(1) def get_lan_ip(): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: s.connect(("8.8.8.8", 80)) return s.getsockname()[0] finally: s.close() # --- Defined variables before they are used --- PC_IP = get_lan_ip() PORT = 9222 print("=" * 70) print("[*] Initializing Stealth CloakBrowser Binary...") print("[*] NOTE: If this is your first run, it will silently download") print("[*] a ~200MB custom Chromium binary. Please wait a moment...") print("=" * 70) try: context = launch_persistent_context( "c:\\Users\\Nobel\\Downloads\\cloak_profile", headless=True, humanize=True, args=[ f"--remote-debugging-port={PORT}", "--remote-debugging-address=0.0.0.0", "--remote-allow-origins=*", "--disable-gpu" ] ) print("[] CloakBrowser Binary Engine started successfully!") except Exception as e: print(f"[X] Launch Error: {e}") sys.exit(1) # Open the Google / YouTube authentication page page = context.new_page() page.set_viewport_size({"width": 360, "height": 740}) print("[*] Navigating headlessly to Google Authentication page...") page.goto("https://accounts.google.com") time.sleep(3) # Extra room for the local debugger socket to spin up try: # Extract target details targets = requests.get(f"http://127.0.0.1:{PORT}/json").json() target = next(t for t in targets if "accounts.google.com" in t["url"] or "google" in t["url"]) page_id = target["id"] clean_android_url = f"http://{PC_IP}:{PORT}/devtools/inspector.html?ws={PC_IP}:{PORT}/devtools/page/{page_id}" print("\n" + "=" * 70) print("OPEN THIS URL IN CHROME ON YOUR ANDROID PHONE:") print("=" * 70) print(clean_android_url) print("=" * 70) except Exception as e: print(f"[X] Socket Mapping Error: Could not read DevTools JSON panel. Details: {e}") print("\nPress Ctrl+C in this terminal when finished to dump cookies.txt.") try: while True: time.sleep(1) except KeyboardInterrupt: print("\n[Saving] Extracting cookies to Netscape format...") cookies = context.cookies() with open("cookies.txt", "w", encoding="utf-8") as f: f.write("# Netscape HTTP Cookie File\n") for cookie in cookies: domain = cookie['domain'] sub = "TRUE" if domain.startswith(".") else "FALSE" path = cookie['path'] sec = "TRUE" if cookie['secure'] else "FALSE" exp = str(int(cookie.get('expires', -1))) f.write(f"{domain}\t{sub}\t{path}\t{sec}\t{exp}\t{cookie['name']}\t{cookie['value']}\n") print("[✓] Success! cookies.txt written. Closing CloakBrowser safely.") context.close()