hey, before building it i wanted to check if there'd be interest in an optional Firefox-based stealth backend in src/scraper.py, parallel to the current p.chromium.launch() path (line 569). selected via env, no change to defaults.
motivation: the current scraper uses a mobile Android Chrome user agent (line 251) plus Playwright's vanilla Chromium. Xianyu's anti-bot stack uses sliding-captcha plus device-level fingerprint checks (canvas, audio, WebGL, font metrics), so UA spoofing alone leaks plenty of automation signals. directly related to open issue #492 about cookies expiring frequently. a Firefox build with fingerprint patches at the C++ source code level extends session lifetime by reducing the device-fingerprint drift that triggers re-verification.
the backend wraps feder-cr/invisible_playwright, which drives a patched Firefox 150 binary (feder-cr/invisible_firefox, MPL-2.0, same license as Firefox upstream). selected when GF_BROWSER=invisible_firefox is set. optional dependency, only imported when env is set. issues against the backend route to feder-cr/invisible_playwright.
also opened a draft PR #504 with a proposal doc at the repo root.
可选 Firefox 隐身后端,针对闲鱼滑块验证 + 设备指纹检测导致的 cookie 频繁失效问题(#492)。详细方案见 PR 中的英文说明。
hey, before building it i wanted to check if there'd be interest in an optional Firefox-based stealth backend in
src/scraper.py, parallel to the currentp.chromium.launch()path (line 569). selected via env, no change to defaults.motivation: the current scraper uses a mobile Android Chrome user agent (line 251) plus Playwright's vanilla Chromium. Xianyu's anti-bot stack uses sliding-captcha plus device-level fingerprint checks (canvas, audio, WebGL, font metrics), so UA spoofing alone leaks plenty of automation signals. directly related to open issue #492 about cookies expiring frequently. a Firefox build with fingerprint patches at the C++ source code level extends session lifetime by reducing the device-fingerprint drift that triggers re-verification.
the backend wraps feder-cr/invisible_playwright, which drives a patched Firefox 150 binary (feder-cr/invisible_firefox, MPL-2.0, same license as Firefox upstream). selected when
GF_BROWSER=invisible_firefoxis set. optional dependency, only imported when env is set. issues against the backend route to feder-cr/invisible_playwright.also opened a draft PR #504 with a proposal doc at the repo root.
可选 Firefox 隐身后端,针对闲鱼滑块验证 + 设备指纹检测导致的 cookie 频繁失效问题(#492)。详细方案见 PR 中的英文说明。