Skip to content

chris124567/puppeteer-bypassing-bot-detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

puppeteer-bypassing-bot-detection

This repository is incomplete and not actively maintained. It was primarily a test to see the minimum amount needed to bypass Distil networks and other public headless checks. Use https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth/.

This repository contains code for bypassing common bot detection checks by a few vendors (Distil Networks, Adscore, and Google IMA).

Patched attributes

  • navigator.webdriver
  • navigator.permissions.query
  • document.hasFocus
  • document.hidden
  • document.visiblityState
  • document.onvisiblitychange
  • navigator.mimeTypes
  • navigator.plugins
  • navigator.languages
  • screen.width / screen.height
  • screen.availWidth / screen.availHeight
  • window.innerWidth / window.innerHeight
  • window.outerWidth / window.outerHeight
  • document.documentElement.clientWidth / document.documentElement.clientHeight
  • window.matchMedia
  • AudioElement.canPlayType
  • VideoElement.canPlayType
  • screen.orientation.type
  • screen.orientation.angle
  • Fix toString of HTMLElement.prototype.animate (Puppeteer doesn't make it "native code")
  • Fake WebGLRenderingContext.prototype.getParameter values
  • Make iframes have same window attribute
  • Make window.alert a stub
  • HTMLImageElement.prototype.width / HTMLImageElement.prototype.height for broken images
  • Undetectable toString patched with Proxy
  • window.chrome
    • csi
    • loadTimes
    • app
      • isInstalled
      • getDetails
      • getIsInstalled
      • runningState
      • InstallState
      • RunningState

About

Bypassing bot detection checks with Puppeteer.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published