Skip to content

A web page that compiles methods used by Akamai, Datadome, and other bot detection solutions and WAF (Web Application Firewall) to identify headless bots like Selenium, Puppeteer, Phantom...

Notifications You must be signed in to change notification settings

secstack/detect-headless

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Detect-Headless

Created this page that compiles methods used by Akamai, Datadome, and other bot detection solutions and WAF (Web Application Firewall) to identify headless bots like Selenium, Puppeteer, Phantom...

For those who are looking for a far more final product, checkout this repo: https://github.com/ulixee/double-agent

Set-up

  • npm i or yarn install
  • npm run dev or yarn dev

To-do

  • ✅ Set-up Chakra
  • ✅ Deploy on Vercel

Command To-do

  • window.navigator.userAgent.replace(/\\|"/g, '')
  • window.screen ? window.screen.availWidth : -1
  • window.screen ? window.screen.availHeight : -1
  • window.screen ? window.screen.width : -1
  • window.screen ? window.screen.height : -1
  • window.innerHeight || (document.body && 'clientHeight' in document.body ? document.body.clientHeight : document.documentElement && 'clientHeight' in document.documentElement ? document.documentElement.clientHeight : -1)
  • window.innerWidth || (document.body && 'clientWidth' in document.body ? document.body.clientWidth : document.documentElement && 'clientWidth' in document.documentElement ? document.documentElement.clientWidth : -1)
  • window.outerWidth ? window.outerWidth : -1
  • window.addEventListener ? 1 : 0
  • window.XMLHttpRequest ? 1 : 0
  • window.XDomainRequest ? 1 : 0
  • window.emit ? 1 : 0
  • window.DeviceOrientationEvent ? 1 : 0
  • window.DeviceMotionEvent ? 1 : 0
  • window.TouchEvent ? 1 : 0
  • window.spawn ? 1 : 0
  • window.chrome ? 1 : 0
  • window.Buffer ? 1 : 0
  • window.PointerEvent ? 1 : 0;
  • window.innerWidth ? 1 : 0
  • window.outerWidth ? 1 : 0
  • window._phantom ? 1 : 0
  • window.webdriver ? 1 : 0
  • window.domAutomation ? 1 : 0
  • window.callPhantom ? 1 : 0;
  • window.ActiveXObject
  • window.chrome && window.chrome.webstore ? 1 : 0;
  • window.opera ? 1 : 0;
  • window.HTMLElement && Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0 ? 1 : 0;
  • window.RTCPeerConnection || 'function' == typeof window.mozRTCPeerConnection || 'function' == typeof window.webkitRTCPeerConnection ? 1 : 0;
  • window.mozInnerScreenY : 0;
  • window.$cdc_asdjflasutopfhvcZLmcfl_ || document.$cdc_asdjflasutopfhvcZLmcfl_ ? '1' : '0';
  • window.document.documentElement.getAttribute('webdriver') ? '1' : '0';
  • window.webdriver ? '1' : '0';
  • window.XPathResult || void 0 !== document.XPathResult ? '1' : '0';
  • window.document.documentElement.getAttribute('driver') ? '1' : '0';
  • window.document.documentElement.getAttribute('selenium') ? '1' : '0', [a, t, e, n, o, m, r].join(',')
  • window.event
  • window.devicePixelRatio ? window.devicePixelRatio : -1
  • window.speechSynthesis.getVoices();
  • window.addEventListener && (window.addEventListener('deviceorientation', bmak.cdoa, !0), window.addEventListener('devicemotion', bmak.cdma, !0), bmak.doadma_en = 1), bmak.doa_throttle = 0, bmak.dma_throttle = 0
  • window.DeviceOrientationEvent ? 'do_en' : 'do_dis'
  • window.DeviceMotionEvent ? 'dm_en' : 'dm_dis'
  • window.TouchEvent ? 't_en' : 't_dis'
  • window.onblur = bmak.hb, window.onfocus = bmak.hf
  • window.XMLHttpRequest ? a = new XMLHttpRequest : void 0 !== window.XDomainRequest ? (a = new XDomainRequest, a.onload = function () {
  • window.XDomainRequest ? new XDomainRequest : window.XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject('Microsoft.XMLHTTP'), e.open('POST', a, t);
  • window.sessionStorage
  • window.localStorage
  • window.indexedDB

Features to-do

  • Mouse movement detection
  • Uniquely identify HTTPS certificate

About

A web page that compiles methods used by Akamai, Datadome, and other bot detection solutions and WAF (Web Application Firewall) to identify headless bots like Selenium, Puppeteer, Phantom...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%