Skip to content

v1.1.1

Choose a tag to compare

@jehrr jehrr released this 16 Oct 11:16
c97fb8c

AVITO_PROXY / --proxy accept the dashboard's colon form.
host:port:login:password (with or without http://) is now read as
http://login:password@host:port instead of being refused or misread. A
2Captcha gateway URL without a login is now refused when a session has to
be minted or pinned — tools/browser_profile_client.py connection --mint-session exits 1 and the scrapers exit 2 — with a message naming the
required form.

Fixed

  • The canary's run check crashed on a good run. Its success message still
    named a seller count whose computation had been removed, so the first
    complete live scrape (150 rows, 2026-10-16) ended in a NameError and a red
    job. The message no longer uses it, and the suite now runs the check on a
    synthetic good run and on a broken one.
  • The canary can use a ready Scraping Browser endpoint. With the
    AVITO_CDP_ENDPOINT secret set, the job uses that endpoint instead of
    building one from AVITO_BROWSER_ACCOUNT_ID, re-pointed at a Russian exit:
    country-ru and a -proxy- segment carrying a session freshly minted on
    AVITO_PROXY, which the captcha solver then uses too. Measured 2026-10-16:
    148 rows over 3 pages, complete; the same endpoint without the Russian
    proxy did not clear the firewall's proof-of-work.
  • tools/browser_profile_client.py hid the Browser API's error code. An
    HTTP error from the API was reported as the bare status ("404 Client Error:
    Not Found"), dropping the body that names the cause, e.g.
    ERROR_ACCOUNT_NOT_FOUND for a profile id passed as --account-id. The
    body is now printed with credentials masked.
  • Session minting on a gateway URL with no login. connection --mint-session spliced the new login in front of http:// when
    AVITO_PROXY had an empty username, so the rebuilt URL had no host and the
    run died with "the URL given is not one" of a 2Captcha gateway — a message
    about the host, for a problem with the login. The login is now replaced in
    the URL's netloc, and a gateway credential without a login and password is
    refused by name.
  • The dashboard's host:port:login:password credential. Read as a URL it
    has no username and a "port" of port:login:password; it looked like an
    IP-whitelisted gateway, and the parser's error about that port quoted the
    login. It is now normalised to a URL wherever a proxy is read (--proxy,
    AVITO_PROXY, --proxy-file lines, the browser-profile tool), and no
    message built from it repeats the credential.
  • Percent-encoded proxy passwords. The login and password are decoded
    before they reach Playwright, pyppeteer, the local forwarder and the
    captcha solver's proxy fields; they were passed on still encoded.