Browser jobs that rotate exits
when register.bg pushes back.
Docker-orchestrated Selenium runner for register.bg automation. Each job runs in its own per-mode tunnel (VPN, Tor, WireGuard, or Direct) and rotates its exit IP automatically when the target site signals exhaustion. v3.6 added captcha classification + outcome observability.
Built for jobs that fail interestingly
Every workflow is captured, every failure is classified, every rotation is budgeted.
Four exit modes per job
VPN (free pool or paid provider), Tor (per-job pinned circuit), WireGuard (Gluetun in WG mode), or Direct (host network — for Tailscale-only services). Pick once, rotate automatically.
Captcha-aware rotation
Watchdog classifies every register.bg response (success / captcha_wrong / no_results / system_error) and rotates the exit IP only when the failure was actually exit-side. Hourly budget caps prevent loops.
Live SSE log streaming
Initial 500-line tail + real-time append. INFO/WARN/ERROR badges, collapsible tracebacks, in-viewer Cmd-F search, sticky timestamps. Survives multi-hour jobs without re-fetching.
Health-aware reconciler
Containers report heartbeats; the reconciler restarts dead jobs, surfaces stuck states, and feeds 24-hour rotation outcome stats into the admin dashboard.
Free-tier exit pool
Hooks into the sibling vpn-config-scraper exit broker — hundreds of free OpenVPN/WireGuard/Tor exits with per-target reachability already validated.
Auto-resume on burnout
Jobs that hit the rotation budget cap auto-retry after a 30-minute cooldown instead of waiting for a manual click.
Five scripts, fully orchestrated
Each one runs inside its own VPN-namespaced container with heartbeat reporting and auto-restart.
trace.pySync register.bg domain application status to Strapi (15+ task variants)
register.pyBulk domain registration with CAPTCHA solving
whois.pyWHOIS lookups → Strapi domain/registrant records
unsign.pyDomain cancellation requests
mail.pyIMAP polling per registrant + period-extension link clicks