Skip to main content

Automated Qoder account registration with anti-detect browser, captcha solving (AI + OpenCV), and 9Router OAuth integration.

Project description

๐Ÿค– Qoder Autopilot

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.

Python 3.10+ PyPI version License: MIT Camoufox Tests


๐Ÿ“ฆ Published on PyPI โ€” pypi.org/project/qoder-autopilot

Install with pip install qoder-autopilot โ€” no clone needed.

โœจ Features

  • ๐ŸฆŠ 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 config for easy customization

๐Ÿ“ฆ Installation

Via pip (recommended)

# 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]

From source (development)

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]"

Post-install

# Download Camoufox browser binary
python -m camoufox fetch

# Download Playwright browsers (if needed)
playwright install firefox

๐Ÿš€ Quick Start

First time? Just run:

qoder-autopilot

You'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.

Registration commands

# 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

๐Ÿ“‹ All Commands

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

Registration flags

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

โš™๏ธ Configuration

Three-tier priority: Environment variables โ†’ User config (~/.qoder-autopilot/config.json) โ†’ Defaults

Via CLI (recommended)

# 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

Configurable keys

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)

Via environment variables

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=30

Via .env file

cp .env.example .env
# Edit .env with your settings

๐Ÿ  Self-Host Temp Mail Worker

Want 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 setup

See cf-mail-worker for full documentation.

๐Ÿ—๏ธ Architecture

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

๐Ÿ”’ Security

qoder-autopilot takes security seriously:

  • Credential files โ€” qoder_accounts.json saved with chmod 600 (owner-only)
  • Config files โ€” ~/.qoder-autopilot/config.json and relay.json restricted to 600
  • 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 show masks API keys, tokens, and passwords
  • File locking โ€” concurrent credential writes are atomic (safe in --parallel mode)
  • 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.

๐Ÿ”— Related

  • cf-mail-worker โ€” Self-hosted temp mail API (Cloudflare Workers + D1)
  • bulk-temp-mail โ€” Full temp mail service with React frontend

๐Ÿ“„ License

MIT โ€” see LICENSE

โš ๏ธ Disclaimer

This tool is for educational and research purposes only. Use responsibly and in accordance with applicable terms of service.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qoder_autopilot-0.6.3.tar.gz (65.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qoder_autopilot-0.6.3-py3-none-any.whl (75.4 kB view details)

Uploaded Python 3

File details

Details for the file qoder_autopilot-0.6.3.tar.gz.

File metadata

  • Download URL: qoder_autopilot-0.6.3.tar.gz
  • Upload date:
  • Size: 65.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qoder_autopilot-0.6.3.tar.gz
Algorithm Hash digest
SHA256 7407c139fd9f9dbc50744ede070bcb421c7f89a84acc70367ca1b0679a5b5698
MD5 c7152f8ad8e4c176f6c7c35b222519a3
BLAKE2b-256 debff0e3f298d9507db819586db5fa6c61a2d2b21f4c7685018cdaa0c5deb51c

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoder_autopilot-0.6.3.tar.gz:

Publisher: publish.yml on Daivageralda/qoder-autopilot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qoder_autopilot-0.6.3-py3-none-any.whl.

File metadata

  • Download URL: qoder_autopilot-0.6.3-py3-none-any.whl
  • Upload date:
  • Size: 75.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qoder_autopilot-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 77f4b87873e4b9bf31919a6124fa18da5d9a0c94a7a4eee4173dd0441ebb8c10
MD5 ed7e2bbd4d5b27551e29d7403c77afe0
BLAKE2b-256 b98a2ebb8b5aa9ed213a9d5c74b45a6a6f2f098a303d4c6f78dc47bdd252e3e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoder_autopilot-0.6.3-py3-none-any.whl:

Publisher: publish.yml on Daivageralda/qoder-autopilot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page