Automated Qoder account registration with anti-detect browser, multi-strategy captcha solving, and 9Router OAuth device token integration.
Register Qoder accounts β solve captchas β verify OTP β auto-connect to 9Router. All in one command.
π¦ Published on PyPI β pypi.org/project/qoder-autopilot
Install with
pip install qoder-autopilotβ no clone needed.
- π¦ Anti-detect Browser β Uses Camoufox (stealth Firefox fork) with C++-level fingerprinting to bypass bot detection
- π§© Multi-strategy Captcha Solving
- AI Vision (Gemini/GPT via OpenAI-compatible API)
- Manual mode (pause and solve it yourself)
- π§ Multi-Provider Temp Mail β Cloudflare Workers (default) or Moca Supabase
- π OAuth Device Flow β PKCE-based device token flow (reverse-engineered from 9Router)
- π 9Router Auto-Connect β Inserts device tokens directly into 9Router's SQLite database
- π First-Run Wizard β Interactive setup on first launch
- π Built-in Worker Deploy β Deploy your own temp mail worker from CLI
- β‘ Parallel Mode β Register multiple accounts concurrently
- βοΈ Persistent Config β
qoder-autopilot configfor easy customization
# Basic install (manual captcha only)
pip install qoder-autopilot
# With AI captcha solver support
pip install qoder-autopilot[captcha]
# Full install with all extras
pip install qoder-autopilot[full]git clone https://github.com/Daivageralda/qoder-autopilot.git
cd qoder-autopilot
# Basic install
pip install -e .
# With AI captcha solver
pip install -e ".[captcha]"
# Full install + dev tools
pip install -e ".[dev]"# Download Camoufox browser binary
python -m camoufox fetch
# Download Playwright browsers (if needed)
playwright install firefoxFirst time? Just run:
qoder-autopilotYou'll see the setup wizard:
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π Welcome to qoder-autopilot! β
β Let's get you set up in 30 seconds. β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
[1] π Quick Start β use the default public worker
[2] π Self-Host β deploy your own Cloudflare Worker
Pick 1 for instant setup, or 2 to deploy your own temp mail service.
# Single account, manual captcha (most reliable)
qoder-autopilot --manual-captcha
# 5 accounts sequentially
qoder-autopilot -n 5 --manual-captcha
# 5 accounts in parallel
qoder-autopilot -n 5 --manual-captcha --parallel
# Skip OAuth/9Router, just register
qoder-autopilot --manual-captcha --no-oauth
# Show browser windows
qoder-autopilot --manual-captcha --no-headless
# Custom delay between accounts (seconds)
qoder-autopilot -n 3 --manual-captcha --delay 60| Command | Description |
|---|---|
qoder-autopilot |
First-run wizard (no config) or start registration |
qoder-autopilot [options] |
Register accounts (see flags below) |
qoder-autopilot doctor |
π©Ί Health check β verify all dependencies & configs |
qoder-autopilot deploy |
Deploy your own temp mail worker |
qoder-autopilot relay |
Start relay server for remote 9Router |
qoder-autopilot config |
Show config help + available keys |
qoder-autopilot config show |
Show all current settings with source |
qoder-autopilot config get <key> |
Get a specific config value |
qoder-autopilot config set <key> <value> |
Set a config value |
qoder-autopilot config reset |
Reset all settings to defaults |
| Flag | Description | Default |
|---|---|---|
-n, --count N |
Number of accounts to create (1-100) | 1 |
--manual-captcha |
Pause for manual captcha solving (forces non-headless) | false |
--no-headless |
Show browser windows | false |
--parallel |
Run all accounts concurrently | false |
--delay N |
Delay between sequential accounts | 30 |
--verbose, -v |
Show debug-level logs | false |
--quiet, -q |
Only show errors and warnings | false |
--dry-run |
Validate configuration and exit | false |
--proxy URL |
Proxy for browser (socks5://host:port, http://host:port) | none |
--format {text,json,csv} |
Output format for results | text |
--log-file PATH |
Write all logs to a file | none |
--no-oauth |
Skip 9Router OAuth, just register | false |
--parallel |
Run all accounts concurrently | false |
--delay N |
Delay between sequential accounts (seconds) | 30 |
Three-tier priority: Environment variables β User config (~/.qoder-autopilot/config.json) β Defaults
# See all settings
qoder-autopilot config show
# Set values
qoder-autopilot config set worker-url https://my-worker.workers.dev
qoder-autopilot config set ai-api-key sk-abc123...
qoder-autopilot config set otp-timeout 30
qoder-autopilot config set mail-provider moca
# Get a value
qoder-autopilot config get worker-url
# Reset everything
qoder-autopilot config reset| Key | Description | Default |
|---|---|---|
mail-provider |
Temp mail provider: cloudflare or moca |
cloudflare |
worker-url |
Cloudflare Worker URL | Built-in default |
moca-api-key |
Moca Supabase API key (tmk_xxx) |
(empty) |
moca-base-url |
Moca Supabase base URL | (built-in) |
ai-api-key |
API key for AI captcha solver | (empty) |
ai-base-url |
OpenAI-compatible API base URL | https://ai.sumopod.com/v1 |
ai-model |
AI model name | gemini/gemini-2.5-flash |
otp-timeout |
Max seconds to wait for OTP | 20 |
captcha-timeout |
Max seconds for manual captcha | 120 |
parallel-delay |
Delay between parallel accounts (sec) | 30 |
ninerouter-db |
Path to 9Router SQLite DB | OS-aware: ~/.9router/db/data.sqlite (macOS/Linux), %APPDATA%/9router/db/data.sqlite (Windows) |
All keys can be set with QODER_ prefix:
export QODER_WORKER_URL=https://my-worker.workers.dev
export QODER_AI_API_KEY=sk-abc123...
export QODER_OTP_TIMEOUT=30cp .env.example .env
# Edit .env with your settingsWant your own independent temp mail service? Deploy in 5 minutes:
# From qoder-autopilot (bundled worker template)
qoder-autopilot deploy
# Or clone the standalone repo
git clone https://github.com/Daivageralda/cf-mail-worker.git
cd cf-mail-worker
npm install
npm run setupSee cf-mail-worker for full documentation.
qoder-autopilot/
βββ src/qoder_autopilot/
β βββ cli.py # CLI entry point
β βββ config.py # Pydantic Settings (env + user config + defaults)
β βββ user_config.py # Persistent config manager (~/.qoder-autopilot/)
β βββ first_run.py # First-run setup wizard
β βββ deploy.py # Worker deploy (extract + setup)
β βββ register.py # Main registration flow
β βββ temp_mail.py # Multi-provider temp email client
β βββ oauth.py # PKCE device auth flow
β βββ otp.py # Email OTP extraction
β βββ identity.py # Random identity generation (faker id_ID)
β βββ credentials.py # Account credential storage
β βββ ninerouter.py # 9Router SQLite integration
β βββ errors.py # Custom exceptions
β βββ logger.py # ANSI colored structured logging
β βββ browser/
β β βββ camoufox.py # Anti-detect browser launcher
β β βββ window_tiler.py # macOS window grid positioning
β βββ captcha/
β β βββ solver.py # Orchestrator (AI β manual)
β β βββ ai_vision.py # AI vision gap detection
β β βββ manual.py # Manual solve pause/poll
β βββ worker_template/ # Bundled Cloudflare Worker (for deploy)
β βββ src/ # Worker JS source
β βββ schema.sql # D1 database schema
β βββ package.json
β βββ scripts/setup.sh
βββ tests/
βββ pyproject.toml
βββ README.md
qoder-autopilot takes security seriously:
- Credential files β
qoder_accounts.jsonsaved withchmod 600(owner-only) - Config files β
~/.qoder-autopilot/config.jsonandrelay.jsonrestricted to600 - Password masking β passwords never logged to stdout (masked as
β’β’β’β’β’β’β’β’) - API key masking β AI API keys never shown in logs (shown as
***configured***) - Sensitive field masking β
config showmasks API keys, tokens, and passwords - File locking β concurrent credential writes are atomic (safe in
--parallelmode) - Timing-safe auth β relay token comparison uses
hmac.compare_digest() - Rate limiting β relay server limits to 30 requests/60s per IP
- Input validation β relay validates email format and field lengths via Pydantic
- SQLite WAL mode β safe concurrent access with
busy_timeout(no connection leaks) - Secure default binding β relay defaults to
127.0.0.1(localhost only) - HTTPS warning β startup warns when relay runs without TLS
- Trust transparency β first-run wizard warns about shared public worker
Recommendation: For production use, always self-host your temp mail worker and use HTTPS (nginx/caddy) or SSH tunnel for relay.
- cf-mail-worker β Self-hosted temp mail API (Cloudflare Workers + D1)
- bulk-temp-mail β Full temp mail service with React frontend
MIT β see LICENSE
This tool is for educational and research purposes only. Use responsibly and in accordance with applicable terms of service.