feat browser

This commit is contained in:
Yuriy Yuriev
2026-05-18 23:02:30 +07:00
parent ef980c937e
commit c4947b6c29
+50
View File
@@ -58,6 +58,21 @@ async def main():
for label, kwargs in tests_proxy: for label, kwargs in tests_proxy:
await try_browser(label, **base, **proxy_kwargs, **kwargs) 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 напрямую ===") print("\n=== Fingerprint generation напрямую ===")
from camoufox.fingerprints import generate_fingerprint from camoufox.fingerprints import generate_fingerprint
fp_tests = [ fp_tests = [
@@ -75,6 +90,41 @@ async def main():
except ValueError as e: except ValueError as e:
print(f" ❌ generate_fingerprint({label}) — {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 данные ===") print("\n=== Geoip данные ===")
from camoufox.utils import get_geolocation from camoufox.utils import get_geolocation
ips = ["127.0.0.1"] ips = ["127.0.0.1"]