Learning zone

How to get started in bot detection and bot development?
Investigating the Selenium Chrome mode of Open Bullet 2
Investigating the Puppeteer mode of Open Bullet 2 (credential stuffing tool)
Investigating Open Bullet 2’s HTTP request mode
Overview of Open Bullet 2
How to exclude bot traffic from Google Analytics 4
Fraudsters' Favorite Disposable Emails
Privacy leak: detecting anti-canvas fingerprinting browser extensions
Fraud detection: how to detect if a user lied about its OS and infer its real OS?
(Unmodified) Headless Chrome instrumented with Puppeteer: How consistent is the fingerprint in 2024?
The role of weak (fingerprinting) signals in bot and fraud detection
A study of applications targeted by temporary phone numbers
Scraping thousands of temporary (disposable) phone numbers
The Sec-CH-UA-Form-Factors client hint (new http header)
Everything you always wanted to know about the user agent HTTP header
The Zstd accept-encoding header
A simple Selenium Chrome crawler (Python)
What are HTTP headers
What are all the possible values of the JS WebGL renderer attribute (UNMASKED_RENDERER_WEBGL)?

Bots

How to detect (modified|headless) Chrome instrumented with Selenium (2024 edition)
How to take good screenshots with Puppeteer?
How to use Puppeteer with the real Google Chrome on Mac?
How to remove “Chrome is being controlled by automated test software” ?
How to detect (modified|headless) Chrome instrumented with Puppeteer (2024 edition)
How to securely authenticate Google Read Aloud requests
What is the Facebook external hit user agent?
The LinkedInBot
Go HTTP client
How to change the user agent, HTTP headers and use proxies with the Python requests library
How to change the user agent, use proxies and make concurrent requests with the Python AIOHTTP library

Changelogs

14th July 2024
17th June 2024