import tkinter as tk from PIL import Image, ImageTk from io import BytesIO # brap ai generated def get_captcha_answer(image_bytes): answer = [] root = tk.Tk() image = Image.open(BytesIO(image_bytes)) photo = ImageTk.PhotoImage(image) tk.Label(root, image=photo).pack() entry = tk.Entry(root) entry.pack() entry.focus() def on_enter(event): answer.append(entry.get()) root.destroy() entry.bind("", on_enter) root.mainloop() return answer[0] if answer else "" from typing import IO, Any from pathlib import Path import httpx,asyncio import random,string from datetime import datetime, timedelta import faker import subprocess,tempfile headerslist:list[dict[str,str]] = [] proxieslist:list[dict[str,str]|str] = [] #region Populate proxy list # These only work if you're connected to Mullvad # If you don't have it use other proxies and rewrite this url = "https://api.mullvad.net/www/relays/wireguard/" c = httpx.Client() r = c.get(url) r.raise_for_status() for relay in r.json(): if type(relay) != dict: continue active = relay.get("active") socks_name = relay.get("socks_name") socks_port = relay.get("socks_port") if not (active and socks_name and socks_port): continue proxieslist.append(f"socks5://{socks_name}:{socks_port}") #endregion class MailHandler: def __init__( self, *args, **kwargs ) -> None: self.client = httpx.AsyncClient(*args,**kwargs) async def createmail( self ) -> None: pass async def getmail( self ) -> None: pass async def sendmail( self ) -> None: pass fake = faker.Faker() async def worker(*args,**kwargs): client = httpx.AsyncClient(*args,**kwargs) response = await client.get("https://sys.kamtape.com/baptcha/baptcha.php?nojs") response.raise_for_status() answer = get_captcha_answer(response.content) date = date = datetime(1990, 1, 1) + timedelta(days=random.randint(0, (datetime(2010, 12, 31) - datetime(1990, 1, 1)).days)) email = f"{''.join(random.choices(string.ascii_lowercase + string.digits, k=10))}@outlook.com" username = ''.join(random.choices(string.ascii_lowercase + string.digits, k=10)) password = ''.join(random.choices(string.ascii_letters + string.digits + string.punctuation, k=16)) print(f"{username}:{password}") data = { "current_form": "signupForm", "signup_type": "u", "email": email, "username": username, "password1": password, "password2": password, "country": "US", "gender": random.choice(["m", "f"]), "birthday_mon": str(date.month), "birthday_day": str(date.day), "birthday_yr": str(date.year), "_BAPTCHA": "", "_BAPTCHA_NOJS": "", "_BAPTCHA_KEY": answer, "action_signup": "Sign Up" } response = await client.post("https://www.kamtape.com/signup",data=data, headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "Accept-Language": "en-US,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Connection": "keep-alive", "Upgrade-Insecure-Requests": "1", }) print(response.has_redirect_location) print(response.content[:64]) # for i in range(5): # response = await client.post("https://www.kamtape.com/my_videos_post") async def main(): for i in range(1): # Call worker 5 times sequentially await worker(proxy=random.choice(proxieslist)) print(f"Completed worker {i + 1}") # Run asyncio.run(main())