Skip to content

v0.2.1

Choose a tag to compare

@suvorovmika25-gif suvorovmika25-gif released this 29 Sep 12:59
· 4 commits to main since this release
3fc2346

Behaviour change for an existing user: --fingerprint now actually patches navigator and WebGL in the page. Before this release its init script was broken JavaScript and the browser ignored it, so a run that relied on --fingerprint was presenting the browser's own identity. With pyppeteer, an authenticated --proxy now works on current Chrome (it failed with exit 5 before).

Fixed

Found by a family-wide pass against the template on 2026-09-29, measured on
a fresh clone of every repo in the organisation.

  • --fingerprint never patched anything. The init script it installs
    was syntactically broken JavaScript (( => { — the parameter list and the
    IIFE call were missing), and a browser drops a broken init script
    silently. Fixed; the suite now runs node --check on it.
  • pyppeteer could not authenticate a proxy on current Chrome.
    page.authenticate() uses Network.setRequestInterception, which current
    Chrome no longer has ("wasn't found", exit 5 before the first request —
    measured 2026-09-29 in rosreestr-scraper, which shares this engine code).
    Proxy 407s are now answered through the CDP Fetch domain.
  • A failing suite could turn the engine CI job green. The step piped
    smoke_test.py into tee under GitHub's default shell, which has no
    pipefail. It now runs with shell: bash, imports the engine by name
    first, installs the browser the engine drives, and the suite fails if any
    piped step lacks pipefail.
  • env_config.py --help read .env. A help screen now opens no
    credentials file.

Changed

  • Connecting to the Scraping Browser API follows one policy in every
    engine: three attempts 3 s apart for a locked
    profile or an outage, none for an expired login (401), and a message
    naming the cause — including the service's own profile_locked.
    pyppeteer's per-attempt timeout is 10 s, and the orphaned-task traceback
    after a refused handshake is filtered.
  • README and TROUBLESHOOTING state what the 2026-09-28 live runs measured:
    the Scraping Browser API, the Scraper API and a 2Captcha proxy each served
    page 1 in full; captcha solving was verified on 2Captcha's reCAPTCHA v2
    demo page; the Fingerprint API answers 403 without its own subscription,
    and such a run stops with exit 5.