diff --git a/test_browser.py b/test_browser.py index 18378da..4fe3e2d 100644 --- a/test_browser.py +++ b/test_browser.py @@ -58,6 +58,21 @@ async def main(): for label, kwargs in tests_proxy: await try_browser(label, **base, **proxy_kwargs, **kwargs) + print("\n=== Версия camoufox бинарника ===") + try: + from camoufox._utils import BROWSER_VERSION + print(f" Firefox version: {BROWSER_VERSION}") + except ImportError: + try: + import subprocess, re + result = subprocess.run( + ["python3", "-c", "from camoufox.fingerprints import FP_GENERATOR; print(FP_GENERATOR)"], + capture_output=True, text=True + ) + print(f" FP_GENERATOR: {result.stdout.strip()}") + except Exception as e: + print(f" Не удалось определить: {e}") + print("\n=== Fingerprint generation напрямую ===") from camoufox.fingerprints import generate_fingerprint fp_tests = [ @@ -75,6 +90,41 @@ async def main(): except ValueError as e: print(f" ❌ generate_fingerprint({label}) — {e}") + print("\n=== Firefox версия vs база browserforge ===") + try: + from browserforge.fingerprints.generator import FingerprintGenerator + gen = FingerprintGenerator() + for version in range(120, 145): + try: + gen.generate(browser={"name": "firefox", "minVersion": version, "maxVersion": version}) + print(f" ✅ firefox {version}") + except (ValueError, Exception): + print(f" ❌ firefox {version}") + except Exception as e: + print(f" Ошибка: {e}") + + print("\n=== Патч generate_fingerprint в camoufox.utils ===") + import camoufox.utils as _cu + _orig_gf = _cu.generate_fingerprint + + def _relaxed(**config): + try: + return _orig_gf(**config) + except ValueError: + config.pop("screen", None) + try: + return _orig_gf(**config) + except ValueError: + return _orig_gf(locale=config.get("locale", "en-US")) + + _cu.generate_fingerprint = _relaxed + print(" Патч применён, пробуем AsyncCamoufox...") + ok = await try_browser("geoip=False, locale=ru-RU (с патчем)", **base, geoip=False, locale="ru-RU") + if ok: + print(" ✅ Патч работает — проблема в constraints camoufox") + else: + print(" ❌ Патч не помог — проблема глубже") + print("\n=== Geoip данные ===") from camoufox.utils import get_geolocation ips = ["127.0.0.1"]