74 lines
3.2 KiB
Python
Executable File
74 lines
3.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""Continuous registration daemon — reads IMAP, registers via proxies"""
|
|
import imaplib as imap_lib, email as eml, re, requests, time, itertools
|
|
from pathlib import Path
|
|
|
|
POOL = Path(r"C:\Users\User\aiqianshu_keys.txt")
|
|
PROXIES = [
|
|
'http://gothbreach:G0thBr3ach2026!@[REDACTED-IP]:3128',
|
|
'http://[REDACTED-IP]:8888',
|
|
]
|
|
proxy_cycle = itertools.cycle(PROXIES)
|
|
|
|
def reg_one(idx, code):
|
|
proxy = next(proxy_cycle)
|
|
uname = f'goth_aq{idx:04d}'
|
|
mail = f'[REDACTED-NAME]+aq{idx:04d}@gmail.com'
|
|
s = requests.Session()
|
|
s.proxies = {'http': proxy, 'https': proxy}
|
|
s.headers.update({'Content-Type': 'application/json'})
|
|
try:
|
|
r = s.post('https://aiqianshu.com/api/user/register', json={
|
|
'username': uname, 'email': mail, 'password': 'Goth@2026xX',
|
|
'verification_code': code, 'agreement': True}, timeout=30)
|
|
if r.status_code == 200 and r.json().get('success'):
|
|
r = s.post('https://aiqianshu.com/api/user/login', json={'username': mail, 'password': 'Goth@2026xX'})
|
|
uid = r.json()['data']['id']
|
|
r = s.post('https://aiqianshu.com/api/token/', headers={'New-Api-User': str(uid)},
|
|
json={'name': uname, 'unlimited_quota': True, 'remain_quota': 999999999})
|
|
r = s.get('https://aiqianshu.com/api/token/?status_only=true', headers={'New-Api-User': str(uid)})
|
|
for it in r.json().get('data', {}).get('items', []):
|
|
if it['name'] == uname:
|
|
r = s.post('https://aiqianshu.com/api/token/batch/keys', headers={'New-Api-User': str(uid)},
|
|
json={'ids': [it['id']]})
|
|
key = r.json()['data']['keys'][str(it['id'])]
|
|
with open(POOL, 'a') as f:
|
|
f.write(f'{uname}|{mail}|{key}\n')
|
|
return True
|
|
return False
|
|
except:
|
|
return False
|
|
|
|
while True:
|
|
existing = set()
|
|
if POOL.exists():
|
|
for line in POOL.read_text().strip().split('\n'):
|
|
if '|' in line: existing.add(line.split('|')[0])
|
|
m = imap_lib.IMAP4_SSL('imap.gmail.com')
|
|
m.login('[REDACTED-NAME]@gmail.com', 'kzktblsnjbmhtnrh')
|
|
m.select('INBOX')
|
|
found = False
|
|
for idx in range(59, 200):
|
|
uname = f'goth_aq{idx:04d}'
|
|
if uname in existing: continue
|
|
mail = f'[REDACTED-NAME]+aq{idx:04d}@gmail.com'
|
|
s, d = m.search(None, f'(TO "{mail}")')
|
|
if d[0]:
|
|
s, data = m.fetch(d[0].split()[-1], '(RFC822)')
|
|
msg = eml.message_from_bytes(data[0][1])
|
|
body = ''
|
|
for p in msg.walk() if msg.is_multipart() else [msg]:
|
|
if p.get_content_type() in ('text/html', 'text/plain'):
|
|
b = p.get_payload(decode=True)
|
|
if b: body += b.decode(p.get_content_charset() or 'utf-8', errors='replace')
|
|
codes_found = re.findall(r'<strong[^>]*>\s*([a-zA-Z0-9]{4,8})\s*</strong>', body)
|
|
if codes_found:
|
|
ok = reg_one(idx, codes_found[-1])
|
|
if ok:
|
|
print(f'aq{idx:04d} OK')
|
|
found = True
|
|
existing.add(uname)
|
|
time.sleep(0.5)
|
|
m.logout()
|
|
if not found: time.sleep(5)
|