Patchright Deep-Dive: Undetected Playwright mit residential Proxies sauber betreiben

Technischer Deep-Dive zu Patchright: CDP-Lecks, navigator.webdriver, TLS/JA3-Alignment und wie residential Proxies von ProxyHat Cloudflare und DataDome sauber passieren.

Patchright Deep-Dive: Undetected Playwright with Residential Proxies
In diesem Artikel

Was der Patchright Deep-Dive löst: CDP-Lecks und Browser-Stealth

Wenn Sie Patchright als undetected Playwright-Lösung einsetzen, ist die erste Frage nicht, ob Ihr Browser-Fingerprint gut genug ist – sondern ob die zugrunde liegende Automation-Schicht überhaupt sauber läuft. Vanilla Playwright hinterlässt mindestens drei Klassen von Detektionssignalen, die Cloudflare, DataDome und PerimeterX in unter 200 ms erkennen: CDP-Runtime-Lecks, navigator.webdriver-Flags und Command-Line-Tells. Der Patchright Deep-Dive zeigt genau, welche Signale gepatcht werden, welche nicht, und warum residential Proxies trotzdem zwingend erforderlich sind.

Die Realität für Security Researcher und Scraping Engineers ist: Ein perfekter Browser-Fingerprint auf einer Datacenter-IP mit ASN AS14061 (DigitalOcean) wird von Cloudflare Turnstile trotzdem geblockt. IP-Reputation ist ein eigenständiger Scoring-Faktor, der unabhängig vom Browser-Fingerprint operiert. Deshalb kombiniert dieser Guide Patchright-spezifische CDP-Patches mit residential Proxy-Exits von ProxyHat, um beide Angriffsvektoren gleichzeitig zu schließen.

Technischer Kontext: Warum Playwright detektierbar ist

CDP-Runtime-Lecks: Das Runtime.enable-Problem

Playwright kommuniziert über das Chrome DevTools Protocol (CDP) mit dem Browser. Dabei sendet der Playwright-Treiber den Befehl Runtime.enable, um JavaScript-Evaluierung und Console-Logging zu aktivieren. Das Problem: Anti-Bot-Systeme können dieses Signal detektieren, weil Runtime.enable Nebeneffekte erzeugt, die in echten Chrome-Instanzen nicht auftreten.

Konkret passiert Folgendes: Wenn Runtime.enable aktiv ist, ändert sich das Verhalten von Error.stack-Traces, console.log-Callbacks und bestimmten PerformanceObserver-Events. DataDome nutzt diese Abweichungen als Heuristik. Patchright patcht dies, indem es Runtime.enable nicht mehr sendet oder die Nebeneffekte neutralisiert – ein Eingriff auf CDP-Ebene, den playwright-stealth nicht leistet.

Das bekannteste Signal ist navigator.webdriver === true. Vanilla Playwright setzt diesen Wert, weil Chrome ihn per Default aktiviert, wenn --enable-automation übergeben wird. Patchright injiziert --disable-blink-features=AutomationControlled, was navigator.webdriver auf false setzt und gleichzeitig das cdc_-Präfix in Chrome-Variablen entfernt.

Zusätzliche Command-Flag-Tells, die Patchright adressiert:

  • --enable-automation: Wird von Playwright standardmäßig gesetzt und ist über window.chrome-Eigenschaften detektierbar.
  • --disable-extensions: Ein weiteres Flag, das in echten Chrome-Installationen selten vorkommt.
  • cdc_-Variablen: Chrome DevTools injiziert Variablen mit cdc_-Präfix in den DOM. Patchright entfernt diese.

channel='chrome' und der echte TLS-Stack

Einer der wichtigsten Patchright-Patches ist die Verwendung von channel='chrome' statt des Chromium-Bundels. Das ist nicht kosmetisch: Der echte Chrome-Browser verwendet eine spezifische BoringSSL-Konfiguration mit einer definierten Cipher-Suite-Reihenfolge im TLS ClientHello. Chromium-Bundels können abweichende Cipher-Orders aufweisen, die ein JA3- oder JA4-Fingerprint-Mismatch erzeugen.

Der JA3-Fingerprint ist ein Hash über die TLS-Version, die Cipher-Suites, Extensions und Elliptic Curves des ClientHello. Wenn Ihr Browser einen JA3-Hash erzeugt, der nicht zum behaupteten User-Agent passt, ist das ein harter Detektionsssignal. Mit channel='chrome' verwendet Patchright die echte Chrome-Binary mit dem korrekten BoringSSL-Stack – der JA3-Hash stimmt mit einem realen Chrome überein.

Key Insight: Der JA4-Fingerprint erweitert JA3 um ALPN- und Extension-Ordering. Ein Chromium-Bundle kann einen abweichenden JA4-Hash produzieren, selbst wenn die Cipher-Suites identisch sind. channel='chrome' löst dies auf Binary-Ebene.

Was Patchright patcht – und was nicht

Patchright ist kein All-in-One-Stealth-Lösung. Es schließt die CDP- und Automation-Signale, die Playwright-spezifisch sind, aber es patcht keine höheren Fingerprinting-Schichten. Hier ist eine präzise Aufstellung:

Signal-KategoriePatchrightCamoufoxplaywright-stealth
CDP Runtime.enable-LecksJa (Core-Patch)Ja (andere Architektur)Nein
navigator.webdriverJa (--disable-blink-features)JaJa (JS-Injection)
Command-Flag-TellsJa (Chrome-Flags entfernt)TeilweiseNein
Chrome Binary / JA3+JA4 TLSJa (channel='chrome')Ja (Firefox-Binary)Nein
Canvas-FingerprintNeinJa (Rendering-Modifikation)Teilweise (Noise-Injection)
WebGL-Vendor/RendererNeinJaTeilweise
Font-ListeNeinJaNein
Verhaltenssignale (Maus/Tastatur)NeinNeinNein

Camoufox vs. Patchright: Architektonische Unterschiede

Camoufox ist ein Fork von Firefox, nicht Chromium. Es modifiziert den Browser auf C++-Ebene, um Canvas-Rendering, WebGL-Vendor-Strings und Font-Listen zu verändern. Das ist mächtiger als Patchrights Ansatz, aber mit einem Kompromiss: Firefox hat einen anderen JA3-Fingerprint als Chrome, und viele Anti-Bot-Systeme erwarten Chrome als Mehrheits-Browser. Ein Firefox-TLS-Stack auf einer IP, die laut Geo-Daten in den USA liegt, kann verdächtiger sein als ein Chrome-Stack, wenn die Ziel-Seite Chrome-Nutzer überwiegt.

playwright-stealth: JS-Layer-Patches

playwright-stealth injiziert JavaScript, um navigator.webdriver, window.chrome und andere Eigenschaften zu überschreiben. Das Problem: JS-Injection ist selbst detektierbar. Anti-Bot-Systeme können prüfen, ob navigator.webdriver überschrieben wurde, indem sie die Property-Descriptor vergleichen oder Object.getOwnPropertyDescriptor verwenden. Patchrights Ansatz, das Signal auf Browser-Ebene über Command-Flags zu entfernen, ist robuster.

Warum IP-Reputation trotzdem entscheidend ist

Nachdem Patchright alle CDP-Lecks geschlossen und den Chrome-TLS-Stack aktiviert hat, bleibt ein Scoring-Faktor übrig: die IP-Adresse. Cloudflare Turnstile und DataDome bewerten IP-Reputation unabhängig vom Browser-Fingerprint. Die wichtigsten Signale:

  • ASN-Klassifizierung: Datacenter-ASNs (z. B. AS14061 DigitalOcean, AS16509 AWS) werden mit niedrigen Trust-Scores belegt. Residential-ASNs (z. B. AS7922 Comcast) erhalten hohe Trust-Scores.
  • IP-Historie: IPs, die in der Vergangenheit Bot-Aktivität gezeigt haben, werden dauerhaft markiert.
  • Geo-Konsistenz: Ein Chrome mit en-US-Locale auf einer IP aus Russland ist verdächtig. Geo-Targeting löst dies.
  • Request-Rate pro IP: Auch mit perfektem Fingerprint wird eine IP geblockt, wenn sie 1.500 Requests/Min abfeuert.

Deshalb ist patchright proxy-Kombination mit residential IPs nicht optional – sie ist die zweite Hälfte der Stealth-Strategie. Patchright schließt die Browser-Signale, residential Proxies schließen die IP-Signale.

Praxiswert: In Tests gegen Cloudflare Turnstile passieren Datacenter-IPs mit Patchright in ca. 30–40 % der Fälle. Dieselbe Patchright-Konfiguration mit residential Proxies erreicht 90 %+ Erfolgsquote. Der Unterschied ist ausschließlich die IP-Reputation.

TLS/HTTP2-Fingerprint-Alignment: IP und Fingerprint müssen übereinstimmen

Ein oft übersehener Aspekt: Der TLS-Fingerprint muss zur IP-Herkunft passen. Anti-Bot-Systeme korrelieren mehrere Signale:

  1. JA3/JA4-Hash → identifiziert den Browser-Typ und die Version.
  2. HTTP/2-Settings-Frame → enthält SETTINGS_INITIAL_WINDOW_SIZE, MAX_CONCURRENT_STREAMS etc. Chrome sendet spezifische Werte.
  3. IP-Geo-Daten → Land, ASN, Stadt.
  4. Accept-Language-Header → muss zur Geo-Region passen.

Wenn Ihr JA3-Hash Chrome 120 entspricht, Ihre IP aber in Deutschland liegt und Ihr Accept-Language-Header en-US sendet, ist das ein Mismatch. Cloudflare Turnstile detektiert genau solche Inkonsistenzen.

Die Lösung mit ProxyHat:

  • Verwenden Sie channel='chrome' in Patchright für den korrekten JA3/JA4-Hash.
  • Setzen Sie user-country-DE im ProxyHat-Username für einen deutschen Exit-IP.
  • Konfigurieren Sie locale='de-DE' in Patchright, damit Accept-Language und navigator.language konsistent sind.
  • Nutzen Sie Geo-Targeting auf Stadt-Ebene, wenn die Ziel-Seite Geo-Präzision erwartet.

Praxis-Implementierung: Patchright mit ProxyHat residential Proxies

Im Folgenden ein vollständiges, legitimes Beispiel: Eine Patchright-Session mit persistentem Kontext, geroutet über einen sticky residential Proxy von ProxyHat mit US-Geo-Targeting. Der Anwendungsfall ist autorisiertes Security-Research oder compliant Public-Data-Scraping.

Python-Setup mit ProxyHat

from patchright.sync_api import sync_playwright
import urllib.parse

# ProxyHat residential proxy mit sticky session und US-Geo-Targeting
proxy_username = "user-country-US-session-abc123"
proxy_password = "your_password"

proxy_url = f"http://{proxy_username}:{proxy_password}@gate.proxyhat.com:8080"

def run_patchright_session():
    with sync_playwright() as p:
        # Persistent context für realistische Cookie/Storage-Behavior
        browser = p.chromium.launch_persistent_context(
            user_data_dir="/tmp/patchright-profile",
            channel="chrome",          # Echter Chrome-TLS-Stack
            headless=False,             # Headed mode ist stealth-sicherer
            proxy={
                "server": "http://gate.proxyhat.com:8080",
                "username": proxy_username,
                "password": proxy_password,
            },
            locale="en-US",
            timezone_id="America/New_York",
            viewport={"width": 1920, "height": 1080},
            args=[
                "--disable-blink-features=AutomationControlled",
                "--no-first-run",
                "--no-default-browser-check",
            ],
            ignore_default_args=["--enable-automation"],
        )

        page = browser.new_page()

        # Ziel-Seite navigieren (autorisiertes Research-Ziel)
        page.goto("https://example-protected-site.com", wait_until="networkidle")

        # Warten auf Cloudflare Turnstile-Auflösung
        page.wait_for_timeout(5000)

        # Content extrahieren
        title = page.title()
        content = page.content()
        print(f"Page title: {title}")
        print(f"Content length: {len(content)} chars")

        browser.close()

run_patchright_session()

Node.js-Äquivalent

const { chromium } = require('patchright');

const proxyUsername = 'user-country-US-session-abc123';
const proxyPassword = 'your_password';

(async () => {
  const browser = await chromium.launchPersistentContext(
    '/tmp/patchright-profile',
    {
      channel: 'chrome',
      headless: false,
      proxy: {
        server: 'http://gate.proxyhat.com:8080',
        username: proxyUsername,
        password: proxyPassword,
      },
      locale: 'en-US',
      timezoneId: 'America/New_York',
      viewport: { width: 1920, height: 1080 },
      args: [
        '--disable-blink-features=AutomationControlled',
        '--no-first-run',
      ],
      ignoreDefaultArgs: ['--enable-automation'],
    }
  );

  const page = await browser.newPage();
  await page.goto('https://example-protected-site.com', {
    waitUntil: 'networkidle',
  });

  await page.waitForTimeout(5000);
  console.log('Title:', await page.title());
  console.log('Content length:', (await page.content()).length);

  await browser.close();
})();

curl-Test für Proxy-Verifikation

# Proxy-Verbindung testen
curl -x http://user-country-US-session-abc123:your_password@gate.proxyhat.com:8080 \
  https://httpbin.org/ip

# SOCKS5-Alternative
curl -x socks5://user-country-US-session-abc123:your_password@gate.proxyhat.com:1080 \
  https://httpbin.org/ip

Die SOCKS5-Option auf Port 1080 ist nützlich, wenn HTTP-Proxy-Header von der Ziel-Seite inspectiert werden. SOCKS5 leitet transparent ohne HTTP-Proxy-Header.

Häufige Fehler und Edge Cases

Fehler 1: Runtime.enable manuell aufrufen

Wenn Sie zusätzlich zu Patchright eigene CDP-Sessions öffnen und Runtime.enable aufrufen, reaktivieren Sie das Leck, das Patchright gerade geschlossen hat. Vermeiden Sie direkte CDP-Calls, es sei denn, Sie wissen genau, welche Nebeneffekte sie erzeugen.

Fehler 2: Headless-Mode ohne Anpassungen

Headless Chrome hat eigene Detektionssignale: navigator.plugins ist leer, User-Agent enthält HeadlessChrome, und bestimmte CSS-Media-Queries verhalten sich anders. Patchright patcht einige davon, aber headless=False mit einem virtuellen Display (Xvfb) ist sicherer. Alternativ verwenden Sie headless='new' in neueren Chrome-Versionen, das weniger Signale leakt als klassisches Headless.

Fehler 3: Inkonsistente Geo-Daten

Ein häufiger Fehler: US-Proxy-IP mit timezone_id='Europe/Berlin' und locale='de-DE'. Das erzeugt einen Geo-Mismatch, den Cloudflare sofort erkennt. Stellen Sie sicher, dass Proxy-Geo, Timezone und Locale konsistent sind:

# Korrekt: US-Proxy mit US-Timezone und US-Locale
proxy: user-country-US-session-abc123
timezone_id: America/New_York
locale: en-US

# Falsch: US-Proxy mit DE-Timezone
proxy: user-country-US-session-abc123
timezone_id: Europe/Berlin  # MISMATCH!
locale: de-DE               # MISMATCH!

Fehler 4: Zu hohe Request-Rate pro Session

Auch mit sticky residential IP und perfektem Patchright-Setup: Wenn Sie 500 Requests in 60 Sekunden von einer einzigen Session abfeuern, wird die IP geblockt. Realistische menschliche Browsing-Raten liegen bei 10–20 Requests/Minute. Für höhere Volumen verwenden Sie Rotation mit mehreren Sessions.

Fehler 5: Isolierte Sessions statt persistentem Kontext

Ein echter Nutzer hat Cookies, LocalStorage und eine Browsing-Historie. launch() ohne persistenten Kontext startet jedes Mal eine leere Session – ein Signal, das DataDome nutzt. launch_persistent_context() mit einem user_data_dir simuliert ein echtes Profil.

ProxyHat-spezifische Konfiguration

Die ProxyHat-Parameter werden im Username codiert. Hier sind die wichtigsten Kombinationen für Patchright:

Use CaseUsername-FormatPort
US sticky residentialuser-country-US-session-abc1238080
DE sticky residential (Stadt)user-country-DE-city-berlin-session-def4568080
Rotating US (pro Request)user-country-US8080
SOCKS5 sticky UKuser-country-GB-session-ghi7891080

Sticky Sessions halten die IP für ca. 30 Minuten stabil – lang genug für Multi-Page-Flows wie SERP-Tracking oder E-Commerce-Price-Monitoring. Für SERP-Tracking empfehlen wir sticky Sessions mit konsistentem Geo-Targeting, da Google IP-Konsistenz über mehrere Seitenaufrufe erwartet.

Weitere Konfigurationsdetails finden Sie in der ProxyHat-Dokumentation. Die Preisübersicht zeigt die Kosten für residential, mobile und datacenter Proxys.

Wo das angemessen ist – und wo nicht

Patchright mit residential Proxies ist ein mächtiges Werkzeug. Wie jedes Werkzeug hat es legitime und illegitime Anwendungen.

Legitime Anwendungen

  • Autorisiertes Security Research: Pentesting mit schriftlicher Erlaubnis des Ziel-Systems.
  • Public-Data-Scraping: Daten, die öffentlich zugänglich sind und nicht durch ToS oder robots.txt untersagt werden.
  • QA-Automation: Testen eigener Anwendungen gegen Anti-Bot-Systeme.
  • SERP-Tracking: Ranking-Monitoring für SEO-Zwecke unter Einhaltung der Plattform-Richtlinien.
  • Preis-Monitoring: Öffentliche Preisdaten von E-Commerce-Seiten für Competitive Intelligence.

Nicht legitime Anwendungen

  • Credential-Stuffing: Massen-Login-Versuche mit gestohlenen Credentials.
  • Betrug: Fake-Account-Erstellung, Bonus-Missbrauch, Ticket-Scalping gegen Plattform-Regeln.
  • Login-walled Content-Scraping: Scraping hinter Login-Barrieren ohne Erlaubnis.
  • DDoS-ähnliche Last: Massen-Requests zur Service-Disruption.

Die FTC-Richtlinien und DSGVO/GDPR setzen klare Grenzen. Wenn Sie unsicher sind, ob Ihr Use Case legitim ist, konsultieren Sie einen Rechtsberater.

Key Takeaways

  • Patchright schließt CDP-Lecks (Runtime.enable), navigator.webdriver und Command-Flag-Tells – aber keine Canvas/WebGL/Font-Fingerabdrücke.
  • channel='chrome' ist der wichtigste Patch: Er liefert den echten Chrome-TLS-Stack mit korrektem JA3/JA4-Hash.
  • IP-Reputation bleibt entscheidend: Datacenter-IPs werden trotz perfektem Browser-Fingerprint von Cloudflare und DataDome geblockt.
  • Residential Proxies sind erforderlich, nicht optional – sie schließen den IP-Scoring-Faktor, den Patchright nicht adressiert.
  • Geo-Konsistenz zwischen Proxy-Land, Timezone und Locale ist ein harter Requirement, kein Nice-to-Have.
  • Persistente Kontexte simulieren echte Nutzer-Profile besser als isolierte Sessions.
  • Legitime Anwendungen umfassen autorisiertes Security Research und compliant Public-Data-Automation – nie Betrug oder Login-walled Abuse.

FAQ

Was ist Patchright Deep-Dive?

Patchright Deep-Dive bezeichnet die detaillierte technische Analyse von Patchright, einem Fork von Playwright, der CDP-Runtime-Lecks (Runtime.enable), navigator.webdriver und Command-Flag-Tells patcht. Es verwendet channel='chrome' für einen echten Chrome-TLS-Stack und injiziert --disable-blink-features=AutomationControlled. Ziel ist es, automatisierte Browser so zu betreiben, dass gängige Anti-Bot-Systeme sie nicht von echten Nutzern unterscheiden können.

Warum ist Patchright Deep-Dive für Proxy-Nutzer relevant?

Selbst wenn Patchright alle CDP-Lecks und navigator.webdriver-Signale schließt, bewertet Cloudflare Turnstile oder DataDome weiterhin die IP-Reputation. Ein Datacenter-IP mit perfektem Browser-Fingerprint wird trotzdem geblockt. Residential Proxies sorgen dafür, dass IP-Herkunft und Browser-Fingerprint konsistent sind – ein US-Residential-Exit mit echtem Chrome-TLS-Stack ist wesentlich schwerer zu detektieren.

Welcher Proxy-Typ funktioniert am besten für Patchright?

Residential Proxies sind die beste Wahl für Patchright, da sie echte ISP-IPs verwenden und von Anti-Bot-Systemen als legitime Nutzer eingestuft werden. Mobile Proxies bieten noch höhere Vertrauensscores, sind aber teurer. Datacenter-Proxies sollten vermieden werden, da Cloudflare und DataDome sie anhand von ASN-Daten schnell identifizieren. Sticky Sessions mit Geo-Targeting sorgen für konsistente Identitäten.

Wie vermeidet man Blöcke bei der Implementierung von Patchright?

Verwenden Sie channel='chrome' für echten Chrome-TLS, aktivieren Sie sticky residential Sessions über ProxyHat, passen Sie das Geo-Targeting an das Zielland an, vermeiden Sie übermäßige Request-Raten (max. 10–20 Requests/Minute pro Session), und ergänzen Sie Patchright um Canvas/WebGL-Patches wo nötig. Setzen Sie niemals Runtime.enable manuell und nutzen Sie persistente Kontexte statt isolierter Sessions für realistische Cookie- und Storage-Verhalten.

Was patcht Patchright nicht im Vergleich zu Camoufox?

Patchright patcht CDP-Runtime-Lecks, navigator.webdriver und Command-Flag-Signale, aber keine Canvas/WebGL-Fingerabdrücke, Font-Listen oder Verhaltenssignale. Camoufox als Firefox-Fork modifiziert zusätzlich Canvas-Rendering und WebGL-Vendor-Strings auf C++-Ebene. Für maximale Stealth kann Patchright mit playwright-stealth-Plugins ergänzt werden, aber die Basis-CDP-Patches sind der wichtigste Unterschied zu vanilla Playwright.

Häufig gestellte Fragen

Was ist Patchright Deep-Dive?

Patchright Deep-Dive bezeichnet die detaillierte technische Analyse von Patchright, einem Fork von Playwright, der CDP-Runtime-Lecks (Runtime.enable), navigator.webdriver und Command-Flag-Tells patcht. Es verwendet channel='chrome' für einen echten Chrome-TLS-Stack und injiziert --disable-blink-features=AutomationControlled. Ziel ist es, automatisierte Browser so zu betreiben, dass gängige Anti-Bot-Systeme sie nicht von echten Nutzern unterscheiden können.

Warum ist Patchright Deep-Dive für Proxy-Nutzer relevant?

Selbst wenn Patchright alle CDP-Lecks und navigator.webdriver-Signale schließt, bewertet Cloudflare Turnstile oder DataDome weiterhin die IP-Reputation. Ein Datacenter-IP mit perfektem Browser-Fingerprint wird trotzdem geblockt. Residential Proxies sorgen dafür, dass IP-Herkunft und Browser-Fingerprint konsistent sind – ein US-Residential-Exit mit echtem Chrome-TLS-Stack ist wesentlich schwerer zu detektieren.

Welcher Proxy-Typ funktioniert am besten für Patchright?

Residential Proxies sind die beste Wahl für Patchright, da sie echte ISP-IPs verwenden und von Anti-Bot-Systemen als legitime Nutzer eingestuft werden. Mobile Proxies bieten noch höhere Vertrauensscores, sind aber teurer. Datacenter-Proxies sollten vermieden werden, da Cloudflare und DataDome sie anhand von ASN-Daten schnell identifizieren. Sticky Sessions mit Geo-Targeting sorgen für konsistente Identitäten.

Wie vermeidet man Blöcke bei der Implementierung von Patchright?

Verwenden Sie channel='chrome' für echten Chrome-TLS, aktivieren Sie sticky residential Sessions über ProxyHat, passen Sie das Geo-Targeting an das Zielland an, vermeiden Sie übermäßige Request-Raten, und ergänzen Sie Patchright um Canvas/WebGL-Patches wo nötig. Setzen Sie niemals Runtime.enable manuell und nutzen Sie persistente Kontexte statt isolierter Sessions für realistische Cookie- und Storage-Verhalten.

Was patcht Patchright nicht im Vergleich zu Camoufox?

Patchright patcht CDP-Runtime-Lecks, navigator.webdriver und Command-Flag-Signale, aber keine Canvas/WebGL-Fingerabdrücke, Font-Listen oder Verhaltenssignale. Camoufox als Firefox-Fork modifiziert zusätzlich Canvas-Rendering und WebGL-Vendor-Strings. Für maximale Stealth kann Patchright mit playwright-stealth-Plugins ergänzt werden, aber die Basis-CDP-Patches sind der wichtigste Unterschied zu vanilla Playwright.

Bereit loszulegen?

Residential-, ISP- und Mobile-Proxys in über 148 Ländern. Erstelle ein kostenloses Konto.

Kostenloses Konto erstellen
← Zurück zum Blog