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