87 lines
2.8 KiB
Markdown
87 lines
2.8 KiB
Markdown
# aiqianshu Proxy Rate Limit Bypass
|
|
|
|
## Problem
|
|
|
|
aiqianshu POST endpoints share one IP-based rate limit: ~2-3 POSTs per 10-15 minutes.
|
|
Full registration requires 4 POSTs (register + login + token create + key extract).
|
|
On one IP: 1 account every 5-10 minutes = 6-12 accounts/hour.
|
|
|
|
## Solution: Proxy Rotation
|
|
|
|
Each proxy IP gets its own rate limit budget. N proxies = N accounts per rate-limit window.
|
|
|
|
### Working Proxies (2026-06-18)
|
|
|
|
```python
|
|
proxies = [
|
|
# Proxy #0: HTTP with auth
|
|
{'http':'http://gothbreach:G0thBr3ach2026!@[REDACTED-IP]:3128','https':'http://gothbreach:G0thBr3ach2026!@[REDACTED-IP]:3128'},
|
|
# Proxy #1: HTTP open
|
|
{'http':'http://[REDACTED-IP]:8888','https':'http://[REDACTED-IP]:8888'},
|
|
# Proxy #2: SOCKS5 (DEAD - connection timeout to aiqianshu)
|
|
# {'http':'socks5://[REDACTED-IP]:1080','https':'socks5://[REDACTED-IP]:1080'},
|
|
]
|
|
```
|
|
|
|
Proxy health check:
|
|
```python
|
|
r = requests.get('https://aiqianshu.com/api/status', proxies=proxy, timeout=8)
|
|
if r.status_code == 200: # proxy working
|
|
```
|
|
|
|
### Registration Script
|
|
|
|
Location: `C:/Users/User/AppData/Local/hermes/scripts/aq_proxy_reg.py`
|
|
|
|
Usage: `python aq_proxy_reg.py <account_index> <proxy_number>`
|
|
|
|
Flow:
|
|
1. Connect to IMAP, wait for verification code for the target email alias
|
|
2. Register account via specified proxy
|
|
3. Login, create token, extract full key
|
|
4. Append key to pool file
|
|
|
|
### Parallel Pipeline
|
|
|
|
```bash
|
|
# Terminal 1: Browser sends codes for account A
|
|
# Terminal 2: Browser sends codes for account B
|
|
# Background 1: python aq_proxy_reg.py <idx_a> 0
|
|
# Background 2: python aq_proxy_reg.py <idx_b> 1
|
|
```
|
|
|
|
Throughput: ~4-6 accounts per minute (limited by code delivery, not rate limits).
|
|
|
|
### Pool Format
|
|
|
|
File: `C:/Users/User/aiqianshu_keys.txt`
|
|
Format: `username|email|key` — one per line
|
|
|
|
## ShardX Anti-Detect Browser
|
|
|
|
Available on this system: ShardX v0.1.11 with 170 GPU/device fingerprint profiles.
|
|
|
|
Can be used for full browser-based registration with per-profile proxy isolation,
|
|
bypassing ALL rate limits (each ShardX profile + proxy = unique browser fingerprint).
|
|
|
|
```python
|
|
from shardx import ShardX
|
|
sdk = ShardX()
|
|
templates = sdk.list_profiles() # ['linux-gt1030', 'linux-gtx1050', ...]
|
|
profile = sdk.create_profile(templates[0])
|
|
|
|
async with sdk.session(profile, proxy=proxy_url, extra_args=["--no-sandbox"]) as browser:
|
|
page = await browser.contexts[0].new_page()
|
|
await page.goto("https://aiqianshu.com/sign-up")
|
|
# ... full browser automation for register + key extraction
|
|
```
|
|
|
|
Not production-tested in this session. First-time launch downloads Widevine + fingerprint library
|
|
(takes 30-60s). Launch failures observed — needs debugging before bulk use.
|
|
|
|
## Cost Summary
|
|
|
|
- Proxy #0: authenticated HTTP (likely paid/private)
|
|
- Proxy #1: open HTTP (likely free/shared, may expire)
|
|
- ShardX: installed and ready, needs proxy + debugging
|