berstend / puppeteer-extra

💯 Teach puppeteer new tricks through plugins.
https://extra.community
MIT License
6.23k stars 731 forks source link

[Bug] puppeteer-extra-plugin-stealth cannot bypass meet.google.com protection with Chrome 122 #898

Open MaximKalinin opened 1 week ago

MaximKalinin commented 1 week ago

Describe the bug

puppeteer-extra-plugin-stealth package works on https://meet.google.com website with puppeteer version 22.1.0 (Chrome for testing version 121.0.6167.85). However, when using puppeteer 22.2.0 (Chrome for testing version 122.0.6261.57), the website detects automation tool usage and blocks the access. Looks like either some old tricks stopped working or some new ways of detection were added.

Code Snippet To reproduce the issue, save the following code into test.js file and run node test.js, while having the following dependencies in package.json:

    "puppeteer": "22.2.0",
    "puppeteer-extra": "3.3.6",
    "puppeteer-extra-plugin-stealth": "2.11.2",
(async () => {
  const puppeteer = require('puppeteer-extra');
  const StealthPlugin = require('puppeteer-extra-plugin-stealth');
  puppeteer.use(StealthPlugin());

  const browser = await puppeteer.launch({
    headless: false,
  });

  const page = await browser.newPage({
    storageState: { cookies: [], origins: [] },
    permissions: ['microphone', 'camera'],
  });
  await page.goto('https://meet.google.com/aaa-aaaa-aaa');
})();

To verify that it works with older versions of Chrome, just replace puppeteer version in package.json:

-   "puppeteer": "22.2.0",
+   "puppeteer": "22.1.0",
    "puppeteer-extra": "3.3.6",
    "puppeteer-extra-plugin-stealth": "2.11.2",

Versions

  System:
    OS: macOS 14.5
    CPU: (8) arm64 Apple M1 Pro
    Memory: 94.69 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.10.0 - ~/.nvm/versions/node/v20.10.0/bin/node
    npm: 10.2.3 - ~/.nvm/versions/node/v20.10.0/bin/npm
  npmPackages:
    playwright-extra: 4.3.6 => 4.3.6 
    puppeteer: 22.2.0 => 22.2.0 
    puppeteer-extra: 3.3.6 => 3.3.6 
    puppeteer-extra-plugin-stealth: 2.11.2 => 2.11.2