autoreg-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
# aBaiAutoplus Minimal Packaging (2026-07-30)
|
||||
|
||||
## Rule
|
||||
|
||||
When user asks for "архив с авторегом ChatGPT" or "только то что нужно для регистрации", package ONLY the minimal deployable runtime. Do NOT include: tmp_versions/, mail-lists/, conol_github/, velokey/, sepa/, proxy-scripts/, telegram_exports/, tools/, or individual scripts. Result: ~1.4MB (not 34MB).
|
||||
|
||||
## Required Modules for Minimal Runtime
|
||||
|
||||
These are the modules aBaiAutoplus imports at startup. Missing any = `ModuleNotFoundError`.
|
||||
|
||||
```
|
||||
aBaiAutoplus/
|
||||
├── main.py # Entry point (required)
|
||||
├── gateway.py # Gateway service (required)
|
||||
├── requirements.txt # Dependencies
|
||||
├── .env # Environment config
|
||||
├── .env.example # Reference
|
||||
├── account_manager.db # SQLite with accounts + captcha keys
|
||||
│
|
||||
├── application/ # Business logic layer (14 files)
|
||||
├── domain/ # Domain models (5 files)
|
||||
├── infrastructure/ # Provider definitions, repos (8 files)
|
||||
├── codex_auth/ # Codex auth integration (9 files)
|
||||
│
|
||||
├── providers/ # ALL providers (NOT just captcha+mailbox!)
|
||||
│ ├── registry.py # Loads ALL providers at startup
|
||||
│ ├── __init__.py
|
||||
│ ├── captcha/ # rucaptcha.py, twocaptcha.py, etc.
|
||||
│ ├── mailbox/ # imap_pool.py, api_mailbox.py, etc.
|
||||
│ └── proxy/ # Proxy providers (3 files)
|
||||
│
|
||||
├── platforms/ # ALL platforms (NOT just chatgpt!)
|
||||
│ ├── chatgpt/ # Target platform
|
||||
│ ├── cursor/ # registry.py imports this
|
||||
│ └── kiro/ # registry.py imports this
|
||||
│
|
||||
├── core/ # Core runtime (executors, registry, etc.)
|
||||
├── services/ # solver_manager, task_runtime, turnstile
|
||||
├── api/ # FastAPI route handlers
|
||||
├── data/ # IMAP pool state + other runtime data
|
||||
└── customer_portal_api/ # Portal integration
|
||||
```
|
||||
|
||||
**Pitfall**: Copying only `platforms/chatgpt/` fails — `core/registry.py` does `importlib.import_module(f"platforms.{name}.plugin")` for ALL platforms. Same for `providers/` — `providers/registry.py` must exist.
|
||||
|
||||
**Pitfall**: Copying only `providers/captcha/` and `providers/mailbox/` fails — `main.py` imports `providers.registry`.
|
||||
|
||||
## Exact Build Recipe
|
||||
|
||||
```python
|
||||
import os, shutil
|
||||
|
||||
SRC = r"C:\Users\User\Desktop\_PROJECTS\oai-register\aBaiAutoplus"
|
||||
DST = r"C:\Users\User\Desktop\GPT-AUTOREG\aBaiAutoplus"
|
||||
|
||||
# 1. Remove old
|
||||
if os.path.exists(DST):
|
||||
shutil.rmtree(DST)
|
||||
|
||||
# 2. Copy entire providers/ and platforms/ (registry.py loads all)
|
||||
shutil.copytree(os.path.join(SRC, 'providers'), os.path.join(DST, 'providers'),
|
||||
ignore=shutil.ignore_patterns('__pycache__', '*.pyc'))
|
||||
shutil.copytree(os.path.join(SRC, 'platforms'), os.path.join(DST, 'platforms'),
|
||||
ignore=shutil.ignore_patterns('__pycache__', '*.pyc'))
|
||||
|
||||
# 3. Copy required directories
|
||||
for d in ['application', 'domain', 'infrastructure', 'codex_auth', 'core',
|
||||
'services', 'api', 'data', 'customer_portal_api']:
|
||||
s = os.path.join(SRC, d)
|
||||
if os.path.isdir(s):
|
||||
shutil.copytree(s, os.path.join(DST, d),
|
||||
ignore=shutil.ignore_patterns('__pycache__', '*.pyc'))
|
||||
|
||||
# 4. Copy root files
|
||||
for f in os.listdir(SRC):
|
||||
if f.endswith('.py') or f in ('.env', '.env.example', 'requirements.txt',
|
||||
'account_manager.db', 'start_with_go_gateway.bat',
|
||||
'start_with_go_gateway.ps1'):
|
||||
src_f = os.path.join(SRC, f)
|
||||
if os.path.isfile(src_f):
|
||||
shutil.copy2(src_f, os.path.join(DST, f))
|
||||
|
||||
# 5. Copy email pool
|
||||
shutil.copy2(
|
||||
r"C:\Users\User\Desktop\solenne_de_emails.txt",
|
||||
r"C:\Users\User\Desktop\GPT-AUTOREG\emails.txt"
|
||||
)
|
||||
|
||||
# 6. Package
|
||||
# tar czf GPT-AUTOREG.tar.gz GPT-AUTOREG/
|
||||
```
|
||||
|
||||
## Verification Before Handover
|
||||
|
||||
```bash
|
||||
# 1. Start server
|
||||
cd GPT-AUTOREG/aBaiAutoplus && python -u main.py &
|
||||
sleep 6
|
||||
|
||||
# 2. Health check
|
||||
curl -s http://localhost:8000/api/health
|
||||
# Must return: {"ok":true}
|
||||
|
||||
# 3. Test registration (just one account to prove it reaches OpenAI)
|
||||
curl -s -X POST http://localhost:8000/api/tasks/register \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"count":1,"concurrency":1,"executor_type":"protocol","captcha_solver":"auto","extra":{"mail_provider":"imap_pool","identity_provider":"mailbox"}}'
|
||||
|
||||
# 4. Poll task — must show status "running" (reaches OpenAI even if rejected)
|
||||
# Rejections (invalid_auth_step, account_deactivated) = system works, OpenAI's side
|
||||
```
|
||||
|
||||
## Common Failure Trail
|
||||
|
||||
| Error | Missing Module |
|
||||
|---|---|
|
||||
| `ModuleNotFoundError: No module named 'application'` | Copy `application/` |
|
||||
| `ModuleNotFoundError: No module named 'providers.registry'` | Copy entire `providers/` (not just captcha+mailbox) |
|
||||
| `ModuleNotFoundError: No module named 'platforms.cursor'` | Copy entire `platforms/` (not just chatgpt) |
|
||||
| `ModuleNotFoundError: No module named 'domain'` | Copy `domain/` |
|
||||
| Server starts, health=ok, tasks run | ✅ Done |
|
||||
|
||||
## Archive Size Reference
|
||||
|
||||
```
|
||||
Full "everything" archive: 34 MB (381 files)
|
||||
Minimal ChatGPT autoreg: 1.4 MB (306 files, ~221 aBaiAutoplus + emails)
|
||||
```
|
||||
|
||||
## Add pointer to skill
|
||||
|
||||
Wait — the skill already has 84 pitfalls. Adding #47 doesn't break anything, but the old #47 (truncated keys) is now #48. The curator handles renumbering. Better to not worry about number collisions — just reference by path.
|
||||
Reference in New Issue
Block a user