
ChatGPT Plus/Team/Pro 订阅协议端到端重放工具集 · hCaptcha 视觉求解器 · 反欺诈机制实证研究 / End-to-end protocol replay toolkit for ChatGPT Plus/Team/Pro subscription with from-scratch hCaptcha solver and empirical anti-fraud research
简体中文 | English
End-to-end replay tool for ChatGPT Plus / Team subscription agreements: reverse-engineered from packet capture the entire chain Stripe Checkout → PayPal / GoPay / QRIS → ChatGPT manual-approval → Codex OAuth + PKCE and implemented as a runnable client. Includes a from-scratch hCaptcha visual solver, PayPal fraud detection early-exit branch, and a set of empirical anti-fraud mechanism data collected from real execution.
👆 Click the image to visit lukyface · Invite code 9ipF · Exchange group 1104565621
[!CAUTION] Using this project constitutes acceptance of all terms in
NOTICE. The project is provided AS IS, with no warranties, and the maintainers assume no responsibility. Authorized use only on systems you own / legitimate CTF / authorized bug bounty in-scope assets / security research. Strictly prohibited for fraud, payment evasion, bulk account creation for resale, violation of third-party ToS, unauthorized targets. All legal responsibility rests with the user. If you do not accept these terms, do not use.
Supports four subscription activation paths:
Given a clean proxy + payment credential, run the command to completion and get the OAuth refresh_token.
Four points worth examining:
webui/backend/parallel_runner.py). Same phone across multiple workers serializes OTP phase using advisory lock, pre/post-OTP fully parallelized; DB atomic claim + placeholder INSERT prevents multiple workers contending for same promo_link / same inventory email. Frontend configures phone pool (M rows) + concurrency N (can exceed M), worker maps to phone pool via i % M round-robin.CTF-pay/hcaptcha_auto_solver.py, ~4000 lines, independently usable). VLM primary path + CLIP/OpenCV heuristic fallback + Playwright human action synthesis, covers 12 known hCaptcha question types.docs/anti-fraud-research.md.pipeline.py::daemon()). Webshare API auto IP rotation (webshare jitter fallback to /tmp/gost_last.json cache), CF DNS quota cleanup, tmpfs orphan recovery, gost relay watchdog, DataDome slider auto-drag. Design goal is unattended operation for weeks.flowchart LR
A[pipeline.py / webui] --> B[CTF-reg/<br/>browser_register.py<br/>Camoufox + Turnstile]
B --> C[CTF-pay/card.py<br/>Stripe Checkout replay]
C --> D{Payment path}
D -->|paypal| E1[Camoufox / Node RPA<br/>PayPal billing agreement]
D -->|gopay| E2[Midtrans linking<br/>+ WhatsApp OTP]
D -->|qris| E3[QRIS QR<br/>+ remote preview]
E1 --> F[Stripe poll<br/>state=succeeded]
E2 --> F
E3 --> F
F --> G[Camoufox second login<br/>Codex OAuth + PKCE]
G --> H[refresh_token<br/>output/webui.db (SQLite)]
For detailed subsystem decomposition, file organization, and protocol chain details, see docs/architecture.md.
To be frank, this is not an out-of-the-box tool. Running through the entire pipeline requires at least:
Full end-to-end setup typically takes 1–3 hours for initial configuration tuning. Once daemon mode runs stably, a single pipeline takes ~5 minutes; concurrent mode with 2 workers on the same phone generates 2 accounts in ~3 minutes.
Code is research-oriented, organized by protocol stage, and doesn't prioritize maximum readability.
Compress 1–3 hours of manual configuration into ~15 minutes. 14-step wizard + real-time preflight self-checks + built-in runtime controller (SSE log stream + concurrency panel) generate CTF-pay/config.auto.json + CTF-reg/config.paypal-proxy.json configurations.

The repo comes with Dockerfile (multi-stage build: Node frontend + Ubuntu 24.04 runtime) + docker-compose.yml, packing all system dependencies / Playwright Chromium+Firefox / Camoufox / gost SOCKS5 relay / Node QuickJS (for OpenAI Sentinel) into the image. The git working tree on the host serves as the single source of truth, bind-mounted into the container; restart with docker compose restart for instant effect after modifying Python code, no rebuild needed.
git clone https://github.com/DanOps-1/Gpt-Agreement-Payment
cd Gpt-Agreement-Payment
docker compose up -d --build
# Default listening on 127.0.0.1:8765 (host port), open http://127.0.0.1:8765/ in browser
# First visit redirects to /setup to create admin
Common Maintenance Commands:
# Real-time logs
docker compose logs -f webui
# Debug inside container (pip list / run tests / inspect SQLite)
docker compose exec webui bash
# Reload uvicorn after Python code changes (bind mount already syncs source code, just restart process)
docker compose restart webui
# Rebuild dist in container after frontend code changes
docker compose exec webui sh -c "cd /app/webui/frontend && npm run build"
# Completely stop + clean containers
docker compose down
# Image upgrade (pull new base / upgrade Python packages)
docker compose build --no-cache && docker compose up -d
The output/ directory is a host directory bind mount containing webui.db (SQLite) + run results / logs visible and backupable to the host. webui/frontend/dist and node_modules use anonymous volumes, which are overridden by the baked image version (not overridden by an empty host directory).
See webui/README.md. By default, docker-compose.yml binds the port to 127.0.0.1:8765; to expose directly to 0.0.0.0, modify the ports section (not recommended without an authentication layer in front).
# 1. Backend dependencies
pip install -r webui/requirements.txt
# 2. Frontend build (one-time)
cd webui/frontend && pnpm i && pnpm build && cd ../..
# 3. Start
python -m webui.server
# Open http://127.0.0.1:8765 in browser, first visit redirects to /setup to create admin
Support single run (PayPal billing agreement / GoPay / QRIS / promo long links) + concurrent mode (frontend configured with phone pool + concurrency N), public network access via nginx reverse proxy see webui/README.md.
git clone https://github.com/DanOps-1/Gpt-Agreement-Payment
cd Gpt-Agreement-Payment
pip install requests curl_cffi playwright camoufox browserforge mitmproxy pybase64
playwright install firefox
camoufox fetch
hCaptcha solver ML dependencies (torch / transformers / opencv) are recommended to be installed separately in a venv, approximately 4 GB:
python -m venv ~/.venvs/ctfml
~/.venvs/ctfml/bin/pip install torch transformers opencv-python pillow numpy
docs/installation.md.Copy the template and fill in values:
cp CTF-pay/config.paypal.example.json CTF-pay/config.paypal.json
cp CTF-reg/config.paypal-proxy.example.json CTF-reg/config.paypal-proxy.json
For field meanings and schema, see docs/configuration.md. The Docker deployment entrypoint will automatically bootstrap these two config files on first startup. After editing on the host, run docker compose restart webui to take effect.
Docker users only need to use webui to run. The CLI commands below are for users running natively locally; to run the same commands in Docker, first
docker compose exec webui bashto enter the container.
# 1) Single complete workflow (PayPal billing agreement)
xvfb-run -a python pipeline.py --config CTF-pay/config.paypal.json --paypal
# 2) Plus protocol authorization + promo long link (PayPal guest checkout)
xvfb-run -a python scripts/no_card_paypal_plus.py \
--config CTF-pay/config.paypal.json --paypal-node-rpa \
--phone <your_phone> --otp-timeout 240
# 3) N worker concurrency (same phone is fine, OTP phase auto-queues via advisory lock)
# Recommended to start via webui: select concurrency mode, frontend configures phone pool + concurrency N
# 4) Continuous account pool maintenance
xvfb-run -a python pipeline.py --config CTF-pay/config.paypal.json --paypal --daemon
INSTRUMENT_SHARING_LIMIT_EXCEEDED / CC_LINKED_TO_FULL_ACCOUNT / CREATE_CARD_ACCOUNT_CANDIDATE_VALIDATION_ERROR / DataDome captcha etc. will all trigger; the script has early exit + automatic retry branches for each known error.docs/anti-fraud-research.md./add-phone cannot be bypassed without a real phone number; ChatGPT-Web client's access_token calling Codex API has audience mismatch.runtime.version / js_checksum / rv_timestamp need realignment approximately every few weeks.Most valuable contributions ranked by impact:
⚠️ Maintainers cannot manually reproduce PRs. When submitting PRs, please follow the PR template providing detailed description + running evidence (requirements vary by change type: solver question types need round JSON, protocol adaptation needs packet capture comparison, daemon self-healing needs trigger logs and recovery logs). PRs lacking evidence will be closed without explanation.
See CONTRIBUTING.md for complete workflow, code style, and desensitization checklist for research contributions.
See CODE_OF_CONDUCT.md for community guidelines.
Do not open issues for security problems; see SECURITY.md.
Key dependencies in the tool chain:
Thanks to the following friends for code contributions (by PR time):
| Channel | Purpose |
|---|---|
| LINUX DO | Main technical discussions, protocol research feedback, long-term records |
QQ Group 1028722105 | Real-time Chinese community exchange |
| GitHub Issues | Bug reports and PRs (main entry point) |
Special thanks to the LINUX DO community — the earliest feedback sources, testers, and protocol change reporters all come from here.
If this project has been helpful to you, you're welcome to buy the author a coffee ☕
Thanks to the following friends for their support (no particular order):
The gesture matters more than the amount; every bit of support is motivation to continue maintaining the project 🙏
[!IMPORTANT] Using this project constitutes your acceptance of having fully read, completely understood, and explicitly agreed to all terms in
NOTICE. If you cannot accept — do not use this project, delete all copies.
License is MIT, but the License itself is not the complete disclaimer. Full disclaimer terms are in NOTICE; below is the key summary:
This project is provided "AS IS" without warranties of any kind. Including but not limited to merchantability, fitness for a particular purpose, non-infringement, safety, stability, and continued compatibility with third-party services. You assume all risks of using this project.
Use only within authorized scope. Permitted: systems you own, legal CTF, authorized bug bounty projects on in-scope assets, security research. Prohibited: fraud, payment evasion, bulk account creation for resale, violating third-party ToS, unauthorized targets.
You bear all legal responsibility. Including but not limited to account suspension, payment loss, criminal liability, civil damages, administrative penalties, third-party claims, reputation loss, business loss. Applicable laws may include US CFAA, EU GDPR, UK CMA, China Criminal Law Articles 285/286/287, etc. See section 4 of NOTICE.
Maintainers have no obligation to reply to issues, review PRs, fix bugs, maintain availability, or adapt to protocol changes. Reserved the right to archive, delete, rename, or stop maintaining this project at any time without prior notice.
Uncertain whether your use is legal — do not run. Ask a lawyer first, or talk to the target platform's security team.
| Logo | Name | Description | Website |
|---|
![]() | lukyface API (Author-run Relay Station) | Unified AI model aggregation / distribution gateway (based on new-api), OpenAI / Claude / Gemini protocol interconversion, self-use surplus sharing. Author-run, long-term stable. Open to everyone · Author-run relay station exchange group: 1104565621 | https://api.lukyface.com/register?aff=9ipF |
| Path | Entry Point | Use Case |
|---|
| Team / Plus (PayPal billing agreement) | pipeline.py --paypal | Stripe Checkout → PayPal billing agreement → ChatGPT manual approval |
| Plus (promo long link + PayPal agreement auth) | scripts/no_card_paypal_plus.py | OpenAI official promo campaign long link + PayPal guest checkout completing billing agreement protocol |
| Plus / Team (GoPay Indonesia) | pipeline.py --gopay | Midtrans linking + GoPay wallet binding, IDR region exclusive |
| Plus / Team (QRIS scan) | pipeline.py --qris | Midtrans QRIS, remote preview + reference polling settlement |
| Documentation | Content |
|---|
docs/installation.md | System dependencies, Python packages, ML venv, gost relay, first PayPal login |
docs/configuration.md | All JSON fields, environment variables, CF API token application |
docs/architecture.md | Subsystems, file organization, protocol chain details |
docs/operating-modes.md | Single / Batch / Self-Dealer / Daemon / Concurrency detailed parameters |
docs/hcaptcha-solver.md | Three-layer decision-making, 12 question types, standalone invocation, extending new question types |
docs/daemon-mode.md | 12-path self-healing loop trigger conditions and state machine |
docs/anti-fraud-research.md | Complete anti-fraud empirical data and corrected models |
docs/debugging.md | Common exceptions, artifact paths, troubleshooting commands |
_monolith.py arranged sequentially by protocol stage, comments mix Chinese and English, not suitable as a Python engineering example.| Sponsor | Amount |
|---|
| Galaxy-n | ¥101 |
| 两岁 | ¥100 |
| 朴朴配送员 | ¥66 |
| Ka | ¥28.88 |
| 追Mou | ¥20 |
| 原昊 | ¥20 |
| A. | ¥10 |
| acedia | ¥9.1 |
| 至上松一 | ¥6.66 |
| 书忆江南 | ¥5 |
| 辛昊 | ¥5 |
| bensema | ¥0.66 |
| Earth NPC | ¥0.01 |
| 小水獭 | ¥0.01 |
| 钟 | ¥0.01 |