fix(tradein-browser): camoufox hardening — block_images/webrtc + forced MSK tz
All checks were successful
CI / changes (pull_request) Successful in 5s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped

Со всеми знаниями из ресёрча camoufox (#1796 Avito anti-bot):
- block_images=True — быстрее грузит (HTML/JSON, без рендера картинок).
- block_webrtc=True — закрывает WebRTC-leak реального IP мимо прокси.
- config timezone=Europe/Moscow — форсим +3 МСК: geoip+БэкКоннект (ротация IP
  на каждый запрос) давал геолик tz↔IP (Ульяновск UTC+4 при выходе МСК/СПб).
This commit is contained in:
bot-backend 2026-06-19 19:49:14 +03:00
parent 059fa83589
commit b5f439a095

View file

@ -222,6 +222,15 @@ async def _launch_browser(provider: str) -> None:
"locale": "ru-RU",
"geoip": True,
"humanize": True,
# Скорость: не грузим картинки — нам нужен HTML/JSON, рендер быстрее
# (трафик безлимитный, выигрыш именно по времени загрузки).
"block_images": True,
# Анти-leak: WebRTC может слить реальный IP контейнера мимо прокси → деанон.
"block_webrtc": True,
# Форсим таймзону +3 МСК. geoip берёт tz одного IP на старте, а БэкКоннект
# ротирует IP на каждый запрос (видели Ульяновск UTC+4 при выходе СПб/МСК) →
# геолик tz↔IP. Жёсткий Europe/Moscow убирает рассинхрон для РФ-мобильного.
"config": {"timezone": "Europe/Moscow"},
}
if proxy is not None:
kwargs["proxy"] = proxy