feat browser
This commit is contained in:
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user