Eine Low-Code-Plattform, die die Einfachheit von No-Code mit der Leistung von Full-Code verbindet 🚀
Jetzt kostenlos starten
Unsichtbare Automatisierung: Verwenden von Puppeteer-Extra-Plugin-Stealth zum Umgehen des Bot-Schutzes
26. März 2025
7
min lesen

Unsichtbare Automatisierung: Verwenden von Puppeteer-Extra-Plugin-Stealth zum Umgehen des Bot-Schutzes

Georgi Miloradowitsch
Forscher, Texter und Usecase-Interviewer
Inhaltsverzeichnis

Möchten Sie Bot-Erkennungssysteme umgehen und gleichzeitig automatisieren Chrome? Das puppeteer-extra-plugin-stealth ist ein Tool, das dabei hilft, Automatisierungsfingerabdrücke zu verbergen, sodass Websites Bots schwerer erkennen können.

Die zentralen Thesen:

  • Was es tut: Maskiert Automatisierungsmarkierungen (wie navigator.webdriver) und ahmt das echte Browserverhalten nach.
  • Wie es funktioniert: Passt Browser-Fingerabdrücke an, führt natürliche Browsing-Muster ein und verwaltet Sitzungsdetails.
  • Warum es darauf ankommt: Hilft, die Erkennung durch fortschrittliche Anti-Bot-Systeme wie CAPTCHA-Herausforderungen und Browser-Fingerprinting zu vermeiden.
  • Konfiguration: Installieren Puppeteer, puppeteer-extraund das Stealth-Plugin über npm or Garn. Verwenden Sie das Stealth-Plugin, um Ihren Browser so zu konfigurieren, dass er sich wie ein echter Benutzer verhält.

Kurzes Beispiel:

import puppeteer from 'puppeteer-extra';
import StealthPlugin from 'puppeteer-extra-plugin-stealth';

puppeteer.use(StealthPlugin());

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  const page = await browser.newPage();
  await page.goto('https://bot.sannysoft.com');
  await browser.close();
})();

Dieses Tool eignet sich perfekt für die Automatisierung von Aufgaben auf Websites mit strenger Bot-Erkennung. Erfahren Sie, wie Sie es einrichten, seine Einstellungen optimieren und menschenähnliches Verhalten simulieren, um unentdeckt zu bleiben.

Nodejs Puppenspieler Tutorial Nr. 7 – Bypass-Erkennung mithilfe von …

Puppenspieler

Installation und Einrichtung

Zunächst müssen Sie die erforderlichen Pakete installieren und so konfigurieren, dass die Erkennung während der Automatisierung minimiert wird. Dieser Abschnitt behandelt den Installationsprozess, die Ersteinrichtung und die Tests, um sicherzustellen, dass alles wie vorgesehen funktioniert.

Erforderliche Paketinstallation

Zuerst installieren Puppenspieler, Puppenspieler Extraund der Stealth-Plugin. Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:

npm install puppeteer puppeteer-extra puppeteer-extra-plugin-stealth

Wenn Sie Yarn verwenden, verwenden Sie stattdessen diesen Befehl:

yarn add puppeteer puppeteer-extra puppeteer-extra-plugin-stealth

Erste Einrichtungsschritte

Nach der Installation richten Sie Ihre JavaScript-Datei so ein, dass das Stealth-Plugin integriert wird. Hier ist der Code, den Sie benötigen:

import puppeteer from 'puppeteer-extra';
import StealthPlugin from 'puppeteer-extra-plugin-stealth';

puppeteer.use(StealthPlugin());

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  const page = await browser.newPage();
  await page.goto('https://nowsecure.nl/');
  await browser.close();
})();

Wichtig: Stellen Sie sicher, dass Sie Puppeteer importieren von 'puppeteer-extra' statt 'puppeteer' um auf die hinzugefügte Funktionalität zuzugreifen.

Nachdem Sie die Einrichtung abgeschlossen haben, ist es an der Zeit zu überprüfen, ob alles ordnungsgemäß funktioniert.

Testen Sie Ihre Installation

Führen Sie diese Tests aus, um zu bestätigen, dass Ihr Setup wie erwartet funktioniert:

  • Grundlegender Funktionstest: Versuchen Sie, zu einer Site zu navigieren, die Bots erkennt, und überprüfen Sie die Ergebnisse.
  • Screenshot-Verifizierung: Machen Sie einen Screenshot der Testseite, um zu bestätigen, dass die Stealth-Funktionen richtig angewendet werden.
  • reCAPTCHA-Score-Prüfung: Beobachten Sie Ihre reCAPTCHA v3-Werte, um festzustellen, ob es Verbesserungen gibt.

Für eine schnelle Überprüfung verwenden Sie das folgende Skript:

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  const page = await browser.newPage();
  await page.goto('https://bot.sannysoft.com');
  await page.waitForTimeout(5000);
  await page.screenshot({ path: 'stealth-test.png' });
  await browser.close();
})();

Dieses Skript erstellt einen Screenshot der Testseite. Überprüfen Sie anhand des Screenshots, ob sich Ihr Browser wie ein normaler Chrome-Browser verhält und keine Anzeichen von Automatisierung aufweist.

Sobald Ihr Setup diese Tests bestanden hat, können Sie in die erweiterten Funktionen des Plugins eintauchen, die im nächsten Abschnitt behandelt werden.

Hauptmerkmale von Stealth

Das puppeteer-extra-plugin-stealth verwendet verschiedene Techniken, um das automatisierte Surfen schwerer erkennbar zu machen.

Browser-Identitätsmaskierung

Das Plugin optimiert wichtige Browsereigenschaften, um einen typischen Chrome-Browser nachzuahmen. Dazu gehören:

  • Ersetzen der Standardeinstellung HeadlessChrome User-Agent mit einem natürlicheren
  • Realistische Einstellung Accept-Language Überschriften
  • Anpassen der Codec-Unterstützung für die Medienwiedergabe
  • Ändern navigator.vendor um dem Standardverhalten von Chrome zu entsprechen

Diese Änderungen tragen dazu bei, ein Browserprofil zu erstellen, das wie das eines normalen Benutzers aussieht und nicht wie das eines Bots. Darüber hinaus verwendet das Plugin Anti-Fingerprinting-Techniken, um das Erkennungsrisiko weiter zu reduzieren.

Anti-Fingerprinting-Methoden

Merkmal Methode Sinn
Prozessoremulation Begrenzt logische Prozessoren auf 4 Imitiert typische Benutzerhardware
Plugin-Emulation Verspottet navigator.mimeTypes und Plugins Imitiert die Standardfunktionalität von Chrome
Fenstereigenschaften Fügt outerWidth und outerHeight Schließt die Browsersimulation ab
Anbietereigenschaften Optimiert die Google-Kennung von Chrome Hilft, die Erkennung durch Automatisierung zu vermeiden

Diese Methoden stellen sicher, dass sich der Browser so verhält, wie es die Websites von echten Benutzern erwarten.

Entfernen von Automatisierungsmarkierungen

Um die Automatisierung weiter zu verschleiern, entfernt oder ändert das Plugin verräterische Anzeichen von Bot-Aktivität:

  • Löscht die navigator.webdriver Resorts
  • Fügt chrome.app und chrome.csi Objekte, die in regulären Chrome-Browsern vorhanden sind
  • Versteckt die sourceurl Attribut in Puppeteer-Skripten
  • Passt an permissions Eigenschaften, die dem natürlichen Browserverhalten entsprechen

CAPTCHA-Verwaltung

Das Plugin trägt außerdem dazu bei, CAPTCHA-Herausforderungen zu reduzieren, indem es ein konsistentes Browserverhalten aufrechterhält und Sitzungen effektiv verwaltet. Dadurch entsteht ein Browsing-Muster, das menschlicher Aktivität entspricht und die meisten Bot-Erkennungstests auf Plattformen wie sannysoft.com umgeht. Fortschrittliche Anti-Bot-Systeme, wie sie beispielsweise von Cloudflare, kann in einigen Fällen immer noch Automatisierung erkennen.

sbb-itb-23997f1

Benutzerdefinierte Konfiguration

Durch die benutzerdefinierte Konfiguration können Sie Stealth-Einstellungen und Browserverhalten optimieren und so einer Erkennung wirksamer entgehen.

Stealth-Moduleinstellungen

Puppeteer Stealth ermöglicht Ihnen die Verwaltung der Ausweichmodule für bestimmte Websites. Sie können Module nach Bedarf aktivieren oder deaktivieren:

const StealthPlugin = require('puppeteer-extra-plugin-stealth')
const stealth = StealthPlugin({
  webglVendor: "Google Inc. (Intel)",
  webglRenderer: "Intel Iris OpenGL Engine",
  navigator: {
    platform: "MacIntel",
    languages: ["en-US", "en"]
  }
})

Nach dem Einrichten von Stealth-Modulen können Sie das Browserverhalten anpassen, um die tatsächliche Benutzeraktivität besser zu imitieren.

Einstellungen zum Browserverhalten

Optimieren Sie die Browserparameter, um ein authentisches Browsererlebnis zu simulieren:

Kategorie Optionen Sinn
Benutzeridentität User-Agent, Plattform, Sprachen Schafft eine konsistente Browseridentität
Hardwareprofil WebGL-Anbieter, Bildschirmabmessungen Imitiert tatsächliche Geräteeigenschaften
Laufzeitumgebung Chrome-Laufzeitobjekte, Navigator-Eigenschaften Emuliert normales Browserverhalten

Führen Sie natürliche Verzögerungen zwischen Aktionen ein, um die Automatisierung weniger erkennbar zu machen:

const randomDelay = (min, max) => {
  return Math.floor(Math.random() * (max - min + 1) + min);
}

await page.waitForTimeout(randomDelay(1000, 3000));

Durch das Hinzufügen dieser Verzögerungen kann Ihre Automatisierung menschliches Verhalten nachahmen.

Proxy-Konfiguration

Die Verwendung von Proxys beim Browserstart erhöht die Anonymität:

const browser = await puppeteer.launch({
  args: [
    `--proxy-server=http://proxy.example.com:8080`,
    '--disable-features=IsolateOrigins,site-per-process'
  ]
});

„Es ist wahrscheinlich unmöglich, alle Möglichkeiten zur Erkennung von Headless-Chromium zu verhindern, aber es sollte möglich sein, es so schwierig zu machen, dass es unerschwinglich wird oder zu viele Fehlalarme auslöst, um praktikabel zu sein.“ – TiZho, GitHub-Mitwirkender

Rotieren Sie Proxys und richten Sie automatisches Failover ein, um eine zuverlässige Konnektivität aufrechtzuerhalten. Diese Konfigurationen minimieren Erkennungsrisiken und gewährleisten gleichzeitig eine stabile Leistung.

Best Practices für Stealth

Um automatisierte Sitzungen unter dem Radar zu halten, sind sorgfältige Planung und Ausführung entscheidend.

Natürliche Browsing-Muster

Simulieren Sie realistisches Surfen, indem Sie zufällige Verzögerungen und Aktionen hinzufügen:

async function emulateHumanBehavior(page) {
  // Random scrolling behavior
  await page.evaluate(() => {
    window.scrollBy({
      top: Math.random() * 500,
      behavior: 'smooth'
    });
  });

  // Random pauses between actions
  await page.waitForTimeout(1500 + Math.random() * 2500);
}
Verhaltensmuster Umsetzung Sinn
Mausbewegung Zufällige Kurven und Geschwindigkeiten Imitiert die natürliche Cursorbewegung
Seiteninteraktion Scrolltiefe und Pausen variieren Simuliert Lesegewohnheiten
Navigationszeitpunkt Zufällige Verzögerungen (1.5–4 Sekunden) Vermeidet vorhersehbare Zeitmuster
Eingangsgeschwindigkeit Zufällige Tastenanschlagintervalle Imitiert das menschliche Tippverhalten

Diese simulierten Interaktionen funktionieren neben den zuvor beschriebenen Konfigurationseinstellungen.

Sitzungsverwaltung

Durch die ordnungsgemäße Sitzungsverwaltung wird sichergestellt, dass die Stealth-Einstellungen konsistent bleiben. Verwenden Sie persistenten Speicher, um Cookies und Sitzungsdaten zu speichern:

const browserContext = await browser.createIncognitoBrowserContext({
  userDataDir: './sessions/user1',
  persistentContext: true
});

Sie können Cookies auch effektiv verwalten:

// Remove specific cookies but keep session-critical data
await page.deleteCookie({
  name: '_ga',
  domain: '.example.com'
});

Verwendungsrichtlinien

Kombinieren Sie die oben genannten Techniken mit diesen praktischen Schritten für eine bessere Automatisierung:

  • Anfrageratenmanagement: Beginnen Sie mit einer Verzögerung von 2 Sekunden zwischen den Anfragen und erhöhen Sie diese, wenn CAPTCHAs auftauchen.
  • Fehlerbehandlung: Erstellen Sie ein Wiederholungssystem zur Verarbeitung fehlgeschlagener Anfragen:
    const maxRetries = 3;
    const baseDelay = 2000;
    
    async function fetchWithRetry(page, url) {
      for (let i = 0; i < maxRetries; i++) {
        try {
          return await page.goto(url);
        } catch (error) {
          await page.waitForTimeout(baseDelay * Math.pow(2, i));
        }
      }
    }
    
  • Proxy-Rotation: Verwenden Sie mehrere IP-Adressen, um zu vermeiden, dass Sie wegen übermäßiger Aktivität markiert werden.

„Es ist wahrscheinlich unmöglich, alle Möglichkeiten zur Erkennung von Headless-Chromium zu verhindern, aber es sollte möglich sein, es so schwierig zu machen, dass es unerschwinglich wird oder zu viele Fehlalarme auslöst, um praktikabel zu sein.“ – TiZho, GitHub-Mitwirkender

Behalten Sie die Entwicklung von Anti-Bot-Erkennungsmethoden im Auge und passen Sie Ihre Einstellungen bei Bedarf an. Diese Vorgehensweisen ergänzen die zuvor im Artikel beschriebenen Stealth-Techniken.

Schlussfolgerung

Hier ist eine kurze Zusammenfassung der wichtigsten Punkte und Tipps zur Verwendung Puppenspieler-Extra-Plugin-Stealth effektiv.

Hauptvorteile

Puppeteer-Extra-Plugin-Stealth Hilft, das Browsen zu automatisieren, ohne markiert zu werden. Es funktioniert, indem Automatisierungsmarkierungen mithilfe integrierter Ausweichmodule ausgeblendet werden.

Einige der wichtigsten Merkmale sind:

  • Entfernen der Kennung „HeadlessChrome“ aus den User-Agent-Headern.
  • Das Ausblenden wichtiger Automatisierungsmarkierungen, wie navigator.webdriver.
  • Anpassen von Browser-Fingerabdrücken, um das tatsächliche Benutzerverhalten nachzuahmen.
  • Ermöglicht maßgeschneiderte Umgehungsstrategien für spezifische Website-Anforderungen.

Tipps zur Umsetzung

Um Ihr Automatisierungs-Setup zu verfeinern, sollten Sie diese Strategien im Hinterkopf behalten:

Schwerpunkte Strategie Ergebnis
Ausweichmodule Aktivieren Sie nur die Funktionen, die Sie benötigen Geringeres Erkennungsrisiko, bessere Leistung
Fehlermanagement Verwenden Sie die Wiederholungslogik mit exponentiellem Backoff Zuverlässigere Behandlung vorübergehender Probleme
Sitzungsbehandlung Verwenden persistenter Browserkontexte Konsistentes Stealth-Profil über alle Sitzungen hinweg

Zusätzliche Vorschläge:

  • Beginnen Sie mit den standardmäßigen Stealth-Einstellungen und passen Sie sie dann Ihren Anforderungen entsprechend an.
  • Bleiben Sie über neue Anti-Bot-Techniken auf dem Laufenden und passen Sie Ihren Ansatz entsprechend an.
  • Kombinieren Sie Stealth-Funktionen mit natürlichem Browsing-Verhalten für bessere Ergebnisse.
  • Konzentrieren Sie sich auf eine konsistente Sitzungsverwaltung, um eine Erkennung zu vermeiden.

Zwar ist kein Setup hundertprozentig sicher, doch die Kombination mehrerer Umgehungstaktiken erschwert die Erkennung erheblich. Der Erfolg hängt von einer sorgfältigen Einrichtung und regelmäßigen Aktualisierung Ihrer Methoden ab. Diese Tipps, gepaart mit den Funktionen des Plugins, bilden eine solide Grundlage für eine unauffällige Automatisierung.

Zusammenhängende Artikel

Verwandte Blogs

Anwendungsfall

Unterstützt von