Repository navigation
0.3.0
[0.3.0] - 2026-09-14
Added
-
Anti-Bot & Stealth Fingerprinting:
- Chrome 131 User-Agent with a complete set of Client Hints (
sec-ch-ua,sec-ch-ua-platform,sec-ch-ua-mobile). - Emulated WebGL vendor/renderer (NVIDIA GeForce RTX 3060), eliminating headless SwiftShader/llvmpipe fingerprints.
- Emulated real-browser environment properties: plugins (
Chrome PDF Viewer), languages (en-US,en),hardwareConcurrency=8, anddeviceMemory=8.
- Chrome 131 User-Agent with a complete set of Client Hints (
-
Staggered Query Dispatch:
- Added the
stagger_delayparameter toscrape_google_maps()to introduce a randomized initial delay between queries, reducing congestion and bot detection when multiple tabs send requests simultaneously from the same IP.
- Added the
-
Tor Circuit Renewal Synchronization:
- Added a dedicated
proxy.pymodule with cooldown and lock mechanisms (DEFAULT_TOR_RENEW_COOLDOWN = 15.0s,_tor_renew_lock) to preventSIGNAL NEWNYMconflicts between concurrent threads.
- Added a dedicated
-
Offline Speech-to-Text (STT) Support:
- Integrated
voskas an offline fallback when Google STT encounters network issues or rate limits. - Added a dual-stage audio fallback: 300Hz–3400Hz band-pass filtering followed by automatic fallback to standard mono 16kHz WAV.
- Integrated
-
Configurable SPA Preview Timeout:
- Added the
preview_timeoutparameter andDEFAULT_SPA_PREVIEW_TIMEOUT = 15000(15 seconds), eliminatingTimeout 5000ms exceeded while waiting for event "response"errors when using high-latency proxies.
- Added the
Changed
- Increased CAPTCHA Solving Timeout: Increased the reCAPTCHA solving timeout from 35.0s to 85.0s (
DEFAULT_CAPTCHA_TIMEOUT = 85.0s) to better handle multi-round audio challenges. - Code Quality & Linting Standards: Enforced strict quality checks with zero technical debt:
uv run ruff check .,uv run ruff format .,ty check, and 90/90 unit tests passing.
Fixed
- Fixed missing locations in the SPA feed caused by the overly short 5000ms timeout.
- Fixed cross-tab connection interruptions when one tab triggers a Tor circuit renewal.
- Fixed Polars schema inference issues by using
infer_schema_length=None.