Загрузка...

Как сделать, чтобы на browserscan я не был роботом? webdriver красным подствечивает

Тема в разделе Python создана пользователем OSUSOWAKE Среда в 18:01. 90 просмотров

Загрузка...
  1. OSUSOWAKE
    OSUSOWAKE Автор темы Среда в 18:01 фейки пишут вам в тг от моего имени 11 959 20 янв 2021
    Python
    import asyncio from playwright.async_api import async_playwright async def test_firefox_fix(): """Тестовый код для обхода обнаружения с использованием Firefox""" async with async_playwright() as p: # Запускаем Firefox вместо Chromium browser = await p.firefox.launch( headless=False, # Firefox часто имеет меньше проблем с определением автоматизации firefox_user_prefs={ # Отключаем WebRTC для предотвращения утечек IP 'media.peerconnection.enabled': False, # Отключаем телеметрию Firefox 'toolkit.telemetry.enabled': False, 'browser.ping-centre.telemetry': False, # Отключаем возможность обновления 'app.update.enabled': False, # Отключаем сохранение паролей и форм 'signon.rememberSignons': False, 'browser.formfill.enable': False } ) # Создаем контекст с правильным User-Agent context = await browser.new_context( user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0', viewport={'width': 1280, 'height': 800}, locale='ru-RU', timezone_id='Europe/Moscow', geolocation={'latitude': 111.111, 'longitude': 11.111}, # Дополнительные HTTP заголовки для более естественного вида extra_http_headers={ 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8', 'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding': 'gzip, deflate, br', 'DNT': '1', 'Upgrade-Insecure-Requests': '1', 'Sec-Fetch-Dest': 'document', 'Sec-Fetch-Mode': 'navigate', 'Sec-Fetch-Site': 'none', 'Sec-Fetch-User': '?1' } ) # Добавляем JavaScript код для противодействия определению автоматизации await context.add_init_script(""" () => { // Удаляем признаки автоматизации в Firefox Object.defineProperty(navigator, 'webdriver', { get: () => false }); // Удаляем другие признаки автоматизации delete window.__selenium_evaluate; delete window.__selenium_unwrapped; delete window.cdc_adoQpoasnfa76pfcZLmcfl_Array; delete window.cdc_adoQpoasnfa76pfcZLmcfl_Promise; delete window.cdc_adoQpoasnfa76pfcZLmcfl_Symbol; // Модифицируем объект navigator для более естественного поведения const originalNavigator = navigator; navigator = Object.create(originalNavigator); // Emulating real browser behavior navigator.plugins = [1, 2, 3, 4, 5].map(() => ({ name: 'Plugin ' + Math.random().toString(36).substring(7), description: 'A plugin for browsing normally', filename: 'plugin' + Math.random().toString(36).substring(7) + '.dll', length: Math.floor(Math.random() * 10) + 1 })); // Эмулируем нормальный объект window.screen Object.defineProperty(window, 'screen', { get: function() { return { availHeight: 1040, availLeft: 0, availTop: 0, availWidth: 1920, colorDepth: 24, height: 1080, pixelDepth: 24, width: 1920, orientation: { angle: 0, type: 'landscape-primary' } }; } }); // Перехватываем все попытки доступа к navigator.languages Object.defineProperty(navigator, 'languages', { get: function() { return ['ru-RU', 'ru', 'en-US', 'en']; } }); } """) # Создаем страницу и переходим на тестовый сайт page = await context.new_page() await page.goto('https://browserscan.net/bot-detection') # Даем время для загрузки и анализа страницы await asyncio.sleep(5) # Сделаем скриншот результата await page.screenshot(path="firefox_test_result.png") # Выводим информацию о результате detection_result = await page.evaluate(""" () => { // Пытаемся получить результат тестирования const results = {}; // Проверяем CDP const cdpElement = document.querySelector('[data-test="cdp"]'); if (cdpElement) { results.cdp = cdpElement.classList.contains('text-red-500') ? 'Обнаружен' : 'Не обнаружен'; } // Проверяем Webdriver const webdriverElement = document.querySelector('[data-test="webdriver"]'); if (webdriverElement) { results.webdriver = webdriverElement.classList.contains('text-red-500') ? 'Обнаружен' : 'Не обнаружен'; } // Проверяем User-Agent const uaElement = document.querySelector('[data-test="user-agent"]'); if (uaElement) { results.userAgent = uaElement.classList.contains('text-red-500') ? 'Обнаружен' : 'Не обнаружен'; } // Проверяем Navigator const navigatorElement = document.querySelector('[data-test="navigator"]'); if (navigatorElement) { results.navigator = navigatorElement.classList.contains('text-red-500') ? 'Обнаружен' : 'Не обнаружен'; } return results; } """) print("Результаты тестирования:") for key, value in detection_result.items(): print(f"{key}: {value}") # Закрываем браузер await browser.close() # Запуск тестового кода asyncio.run(test_firefox_fix())
     
    Среда в 18:01 Изменено
    1. Посмотреть предыдущие комментарии (1)
    2. Апатия
      OSUSOWAKE, ты внутрь зайди и посмотри почему именно, у меня в обычном то браузере тоже красным он горит, якобы фантом js говорит
    3. OSUSOWAKE Автор темы
  2. Y4sperMaglot
  3. alexasdq
    Попробуй обновить браузер или использовать другие настройки, измени параметры запуска.
    Еще накинь побольше случайных действий, например перемещение мыши или задержки.
     
  4. hvntr
    hvntr Среда в 23:27 elvis has left the building 251 19 ноя 2019
    browserscan палит т.к Playwright всегда палится как WebDriver, даже на Firefox
    у него свои патчи в движке, и нормальные антиботы тебя видят

    ты простставишь navigator.webdriver = false...это не работает
    --- Сообщение объединено с предыдущим Среда в 23:27
    Firefox Playwright вообще слаб для антидетекта, лучше Chromium + Stealth + кастом
     
    1. OSUSOWAKE Автор темы
      hvntr, чо за кастом
    2. hvntr
      OSUSOWAKE, поверх обычного stealth пакета ещё руками детект фиксят canvas, audio, webgl, languages, permissions, devtools, debugger, navigator, chrome.runtime и прочая хуйня, крч всё что палится и спалит даже тупой браузерчекер, без этого любой playwright палится как витрина, то что я писал про кастом это именно свои скрипты поверх, а не готовое уже из коробки
  5. gcc_machine
    в чем проблема юзать какой нибудь антик и подключаться по ws через playwright? эт лучше, чем chorimum + stealth 100%, тем более фришных антиков много - undetectble, как пример
     
  6. ByteMasterSensei
    ByteMasterSensei Четверг в 01:31 Software Developer 151 10 июл 2023
Top
JavaScript error: