Skip to content

v0.4.2: --fingerprint actually applies the profile's user agent - #8

Merged
chakh1ik merged 1 commit into
mainfrom
fix/fingerprint-ua
Oct 19, 2026
Merged

chakh1ik merged 1 commit into
mainfrom
fix/fingerprint-ua

Conversation

@chakh1ik

Copy link
Copy Markdown
Collaborator

Problem

--fingerprint never changed the user agent. The live 2Captcha Fingerprint API returns it at userAgent.userAgent (and again at navigator.userAgent), but user_agent_from() read userAgent.value. It got None, and every engine silently kept the browser's own UA.

Fix

  • user_agent_from() reads userAgent.userAgent, then falls back to navigator.userAgent and to a plain string.
  • A profile without a UA now logs a warning.
  • New smoke check built on the live-confirmed response shape.

Verified

  • smoke_test.py: 78/78.
  • Live run with Playwright and --fingerprint (no proxy, no CDP): navigator.userAgent in the browser equals the profile's UA (Android Chrome 152), 10 rows of "whole milk".

🤖 Generated with Claude Code

The live Fingerprint API returns the UA at userAgent.userAgent (and
navigator.userAgent), not userAgent.value, so --fingerprint silently kept
the browser's own UA on every engine. Read the real shape, warn when a
profile has none, and add a smoke check on the live-confirmed structure.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@chakh1ik
chakh1ik merged commit 59ea61e into main Oct 19, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant