Skip to content
Demonstrate Headless Chrome detection in use today
JavaScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
README.md
apply-evasions.js
package.json
run_rakuten_test.js

README.md

rakuten.com Chrome Headless Detection

Demonstrates flaky but highly effective Chrome Headless detection used by rakuten.com. Most of the time Chrome Headless is detected and access to the content is denied, even if the most up to date publicly known evasions are applied (headless-cat-n-mouse).

If run in (regular) non headless mode, access is always granted.

This small NodeJs script uses the awesome Puppeteer project.

Installation:

npm install

Usage:

npm run headless    # run using puppeteer bundled Chromium in headless mode
npm run browser     # run using puppeteer bundled Chromium in regular (non headless) mode

Outputs:

Program prints logs to stdout and creates screenshots of pages in subdir ./screenshots

Current status:

Chrome Headless has been blocked 7 times out of 10 attempts.
Chrome Non-Headless has been blocked 0 times out of 10 attempts.

Links:

  • rakuten.com - The accessed product category on rakuten.com
  • Puppeteer - Headless Chrome Node API
  • headless-cat-n-mouse - applied evasions to avoid detection of Chrome Headless Mode. As of 02/05/2018 these evasions are not enough to avoid detection.
You can’t perform that action at this time.