Node.js SDK

Node.js-Captcha-Löser für Puppeteer, Playwright und reines JavaScript

Fügen Sie capskip aus npm hinzu, warten Sie per await auf die Antwort und machen Sie weiter. Der typisierte Client ohne Abhängigkeiten lässt reCAPTCHA, Bild-Captchas mit Text, Turnstile und GeeTest v3 von einer App auf Ihrer eigenen Hardware lösen, ohne dass je pro Lösung abgerechnet wird.

Windows x64·Läuft lokal, sodass kein Captcha Ihren Rechner verlässt
  • npm install capskip
  • Mit TypeScript-Typen
  • Kein Zähler pro Lösung
Captchas pro Monat40,000
40.0k250.0k
Anderswo abgerechnet, ca. $1.40 pro 1.000$56.00
CapSkip Bronze, pauschal$35.00
$21.00bleibt in Ihrer Taschejeden Monat, bei diesem Volumen

Führen Sie npm install capskip aus, und Ihr Projekt erhält einen Node.js-Captcha-Löser: Übergeben Sie ihm ein reCAPTCHA, ein Cloudflare-Turnstile-Widget, einen GeeTest-v3-Slider oder ein verzerrtes Textbild, und das Promise wird mit einem Token oder den erkannten Zeichen aufgelöst. Die eigentliche Arbeit erledigt die CapSkip-Desktop-App, die Sie unter Windows betreiben (auf einem PC zu Hause oder einem VPS). Das Paket selbst ist ein schlanker HTTP-Client für Node 18 und neuer ohne Laufzeitabhängigkeiten.

Da jede Methode ein Promise zurückgibt, liest sich der Client wie der Rest Ihres asynchronen Codes. Nutzen Sie await in Puppeteer- und Playwright-Code, in fetch-basierten Crawlern oder Queue-Workern, oder starten Sie Dutzende Lösungen auf einmal und sammeln Sie sie mit Promise.all ein. TypeScript-Definitionen sind im Paket enthalten, daher passt dieser JavaScript-Captcha-Löser gleichermaßen zu CommonJS-, ESM- und typisierten Projekten.

Parallelität kostet nichts extra. Es gibt keinen Zähler pro Lösung und kein Ratenlimit pro Schlüssel, ein Batch von zweihundert wird also genauso abgerechnet wie ein einzelner Aufruf. Die Obergrenze bestimmen allein CPU und Arbeitsspeicher des lösenden Rechners. Die Tarife beginnen bei $35 im Monat für ein Gerät, mit unbegrenztem Lösen in jeder Stufe.

Ihr 2Captcha-Client kann bleiben. Nutzt ein Node-Projekt auf dem CapSkip-Rechner bereits eine Bibliothek für 2Captcha oder Anti-Captcha, aktivieren Sie in der App den Emulator für diesen Dienst und klicken Sie dann auf dessen Add-Schaltfläche für die Hosts-Datei. Danach werden seine Anfragen lokal beantwortet, ohne Guthaben zum Aufladen und ohne eine einzige geänderte Codezeile.

Warum dieser npm-Captcha-Löser zu asynchronem Node-Code passt

Per await eine Lösung oder tausend

Jede Methode gibt ein Promise zurück. Warten Sie per await direkt auf eine einzelne Antwort, oder verteilen Sie die Arbeit mit Promise.all und wechseln Sie zu Promise.allSettled, wenn eine fehlgeschlagene Challenge nicht den ganzen Rest scheitern lassen darf.

Typisiert für TypeScript-Projekte

Definitionen für SolveResult und jedes Optionsobjekt sind im Paket enthalten, sodass Ihr Editor ohne Installation eines @types-Pakets automatisch vervollständigt. ES-Module laden den CommonJS-Build über das Interop von Node.

Nur ein Eintrag in Ihrem Lockfile

Der Client baut ausschließlich auf den Kernmodulen http und https von Node 18 und neuer auf, daher zieht er beim Hinzufügen nichts weiter in node_modules.

Ein Proxy für jede Token-Lösung

Geben Sie Token-Lösungen einen Proxy mit Typ und URI mit, dann wird die Challenge von der IP gelöst, die später auch das Formular absendet. Akzeptiert werden SOCKS5 und SOCKS5h ebenso wie HTTP und HTTPS.

Arbeitet neben jedem Headless-Browser

Der Client steuert nie selbst einen Browser. Puppeteer oder Playwright liest das Widget aus, CapSkip schickt die Antwort zurück, und ein einziger page.evaluate-Aufruf schreibt sie dorthin, wo das Formular sie erwartet.

Größere Batches, gleiche Rechnung

Keine Gebühr pro Lösung und kein Ratenlimit pro Schlüssel: Parallele Lösungen enden erst dort, wo dem lösenden PC Rechenzeit und RAM ausgehen. Nebenläufigkeit wird damit zur Hardware-Frage.

Wählen Sie, wie Ihr Node-Projekt CapSkip erreicht

JavaScript
// npm install capskip
const { CapSkip } = require('capskip');

const solver = new CapSkip({ host: '127.0.0.1', port: 8080 });

(async () => {
  const result = await solver.recaptcha(
    'YOUR_SITEKEY',
    'https://example.com/page-with-recaptcha',
  );

  console.log(result.code); // token, inject and submit
})();

Ein Client, ein await: Das Token landet in result.code, bereit, in eine Seite geschrieben oder per fetch gesendet zu werden.

Widgets von der Erweiterung lösen lassen

Ganz ohne Lösungscode: Ist die Erweiterung für Chrome oder Firefox installiert und läuft die App, werden Widgets direkt auf der Seite gelöst. Puppeteer und Playwright können die Erweiterung auch in das von ihnen gestartete Chromium laden.

Der npm-Client und seine Geschwister

Ein await pro Challenge, mit Node 18 oder neuer. Offizielle Clients gibt es auch für Python, PHP und .NET, für die Teile Ihres Stacks, die nicht in JavaScript geschrieben sind.

Lokale API für Ihren bestehenden Code

Jeder HTTP-Client für Node kann die App direkt aufrufen, und Bibliotheken für 2Captcha oder Anti-Captcha erreichen sie unverändert über die integrierte Dienst-Emulation.

Testen Sie den Client auf einer Live-reCAPTCHA-Seite

Unsere Demo enthält ein echtes reCAPTCHA-v2-Widget. Richten Sie ein paar Zeilen Node darauf, oder öffnen Sie sie in einem Browser mit aktiver Erweiterung, und sehen Sie, wie ein Token zurückkommt, noch bevor Ihr Produktionscode ins Spiel kommt.

Drei Schritte von npm install bis zum ersten Token

  1. Die Löser-App installieren

    Installieren Sie CapSkip auf dem Windows-Computer oder VPS, der die Lösungslast tragen soll. Ihr Node-Code kann ebenfalls dort laufen oder auf jedem anderen Rechner, der ihn über das Netzwerk erreicht. Windows-Installationsprogramm herunterladen

  2. Tarif oder Testversion aktivieren

    Wählen Sie einen Monatstarif oder testen Sie CapSkip 3 Tage lang kostenlos mit bis zu 500 Lösungen und ohne Karte. Die per E-Mail zugeschickten Zugangsdaten schalten die App bei der ersten Anmeldung frei. Tarife und Preise ansehen

  3. capskip hinzufügen und per await lösen

    Installieren Sie das Paket mit npm, erstellen Sie einen Client für die App und warten Sie per await auf eine Lösung, wo immer ein Captcha Ihr Skript, Ihren Worker oder Ihre Browsersitzung aufhält. SDK-Anleitung öffnen

Abgerechnete Lösungs-APIs vs. CapSkip in einer Node.js-Codebasis

Was sich für eine Node-Codebasis ändert, wenn das Lösen von einer entfernten API mit Verbrauchsabrechnung in eine App auf einem Rechner unter Ihrer Kontrolle wandert.

FunktionCapSkip2Captcha / CapSolver
Wie Sie bezahlenAb $35 im Monat, jede Lösung inklusive, ohne EinrichtungsgebührAbrechnung pro tausend Lösungen, nach Verbrauch
Wo die Challenges gelöst werdenIn CapSkip, auf dem Windows-PC oder Server, auf dem Sie es betreibenAuf entfernten Servern oder durch eine menschliche Lösefarm
Kosten eines größeren Promise.all-BatchesKeine Mehrkosten: Die Grenze setzen Ihre CPU und Ihr ArbeitsspeicherJede zusätzliche parallele Lösung kostet extra
Monatliche Kosten bei wachsendem VolumenFest, egal wie viele LösungenSteigt mit dem Volumen
Challenge-DatenVerlässt nie den Rechner unter Ihrer KontrolleZum Lösen an Dritte weitergegeben
Node-Paketcapskip auf npm: typisiert, ohne Abhängigkeiten, dazu API-EmulationHerstellereigener Client, an die API des Anbieters gebunden
Bearbeitungszeit für Bild-CaptchasRund 0,1 Sekunden, keine entfernte WarteschlangeNetzwerk-Roundtrip und Wartezeit bei jeder Lösung

Preise

Schluss mit der Abrechnung pro Lösung

Wählen Sie Ihre Lizenz

Bronze-Lizenz

$35/ Monat

Bronze abonnieren

Sofortige Lizenzaktivierung

Monatliche Abrechnung. Kündigen Sie jederzeit in Ihrem Konto.

Gleiche Funktionen. Mehr Rechner, mehr Durchsatz.

Jeder Rechner löst so schnell, wie es seine CPU und sein Arbeitsspeicher erlauben. Mehr Rechner bedeuten mehr gleichzeitige Threads: Silver löst doppelt so viele Captchas gleichzeitig, Gold dreimal so viele.

  • Unbegrenztes Lösen, kein Tageslimit
  • Unbegrenzte Threads, die Geschwindigkeit skaliert mit Ihrer Hardware
  • 90% bis 100% Erkennungsgenauigkeit
  • Direkter Ersatz für die APIs der großen Lösungsdienste
  • Funktioniert mit fast jedem Tool, ohne Programmieren
  • REST-API, SDKs und eine Browser-Erweiterung
  • Kostenloses Training, wenn ein neuer Captcha-Typ auftaucht
  • Läuft auf Ihrem Rechner, nichts verlässt ihn

Jeder oben gezeigte Captcha-Typ ist in jeder Lizenz enthalten. Zur Übersicht der Typen

Möchten Sie es erst ausprobieren?

Starten Sie mit einem kostenlosen 3-tägigen Test und lösen Sie 500 Captchas beliebigen Typs auf Ihren eigenen Zielen.

Starten Sie den kostenlosen Test

Captcha mit JavaScript lösen: vom einzelnen await bis zum Queue-Worker

Beginnen Sie mit einem einzelnen Aufruf. Fügen Sie in einem Projekt mit Node 18 oder neuer das Paket hinzu, richten Sie einen CapSkip-Client auf Host und Port der App aus und teilen Sie ihn modulübergreifend. Für reCAPTCHA oder Turnstile übergeben Sie den sitekey und die Seiten-URL, für GeeTest v3 einen gt-Wert plus eine frisch ausgegebene Challenge, für ein Bild einen Dateipfad, eine URL oder eine Data-URI. Ein hCaptcha erwartet dasselbe Paar wie reCAPTCHA: seinen sitekey und die Seiten-URL.

Dann wird parallelisiert. Da jede Methode ein Promise zurückgibt, kann ein Crawler Lösungen für viele Seiten starten und gemeinsam per await abwarten. Promise.allSettled ist der sicherere Sammler, denn eine abgelehnte Lösung kommt als Status zurück, statt den ganzen Batch zu verwerfen. CapSkip setzt keine Thread-Grenze, die Grenze ist also der Rechner. Bild-Lösungen sind leichtgewichtig, aber reCAPTCHA, Turnstile und GeeTest starten im Hintergrund echte Browserinstanzen. Planen Sie daher 32 GB RAM oder mehr ein, wenn viele davon parallel laufen.

Verlagern Sie das Lösen bei lang laufenden Jobs in einen Queue-Worker, damit Web-Anfragen nie auf eine Challenge warten. Die BullMQ-Anleitung weiter unten zeigt ein mögliches Muster. Legen Sie Timeouts pro Typ mit ausreichend Puffer fest. Bildantworten kommen nahezu sofort (in etwa 0,1 Sekunden), während die browserbasierten Typen länger brauchen: Rechnen Sie mit 3 bis 10 Sekunden für reCAPTCHA oder Turnstile und mit etwa 7 bis 12 für GeeTest.

Und schließlich: Verwenden Sie Tokens zügig. Tokens von reCAPTCHA und Turnstile laufen innerhalb weniger Minuten ab, senden Sie also ab, sobald die Lösung vorliegt, und schicken Sie diese Anfrage von der IP, die der Proxy verwendet hat. Im Browser setzen Sie das versteckte Antwortfeld über page.evaluate, mit fetch oder undici hängen Sie das Token an den Formular-Body an.

Weitere Anleitungen: Puppeteer-Captcha-Löser · Cloudflare Turnstile in Node.js · Captcha-Worker mit BullMQ

Welches npm-Paket installiere ich, um Captchas zu lösen?
Führen Sie npm install capskip aus. Das Paket läuft unter Node 18 oder neuer, bringt keine Laufzeitabhängigkeiten mit, leitet jede Challenge an CapSkip auf Ihrem Windows-Rechner oder Server weiter und liefert anschließend das Token oder den Text zurück. Es deckt die Captcha-Typen ab, die die App unterstützt, einschließlich reCAPTCHA, Turnstile und hCaptcha.
Kann ich Lösungen in Puppeteer- oder Playwright-Skripten per await abwarten?
Ja. Lesen Sie den sitekey mit page.$eval in Puppeteer oder page.getAttribute in Playwright aus, rufen Sie await solver.recaptcha(sitekey, page.url()) auf, schreiben Sie dann result.code über page.evaluate in die Textarea g-recaptcha-response und senden Sie ab. Da der Client nur mit der App kommuniziert, verhält er sich in Testsuites und Scraping-Skripten gleich.
Funktioniert der Client mit fetch, ganz ohne Browser?
Ja. Lösen Sie zuerst, legen Sie dann das Token unter dem Feldnamen, den das Formular erwartet (zum Beispiel g-recaptcha-response), in den URLSearchParams-Body und senden Sie ihn ab. Lief die Lösung über einen Proxy, senden Sie das Formular von genau dieser IP, denn eine Abweichung ist ein häufiger Grund, warum eine Website das Token ablehnt.
Was liefert der Turnstile-Aufruf auf einer ganzseitigen Cloudflare-Challenge?
Bei einem gewöhnlichen Widget rufen Sie await solver.turnstile(sitekey, url) auf und setzen das Token in cf-turnstile-response. Eine Cloudflare-Challenge im Vollbild braucht zwei zusätzliche Eingaben, data und pagedata, die aus dieser Seite ausgelesen werden. Das Ergebnis enthält dann neben dem Token auch einen userAgent, und die folgende Anfrage muss genau diesen userAgent verwenden.
Wie viele Lösungen kann ein einzelner Node-Prozess gleichzeitig offen halten?
So viele, wie der CapSkip-Rechner bewältigt. Kein Schlüssel unterliegt einem Ratenlimit, und keine Lösung kostet eine Gebühr. Fassen Sie die Aufrufe also in Promise.all zusammen, oder in Promise.allSettled, wenn ein Fehlschlag die anderen nicht mitreißen soll. Für viele browserbasierte Lösungen auf einmal geben Sie dem Rechner 32 GB RAM oder mehr.
Kann ich capskip aus einem ES-Modul oder einer TypeScript-Datei importieren?
Ja. Die Typdefinitionen sind mitgeliefert, Sie müssen also kein @types-Paket hinzufügen, und SolveResult sowie die Optionsobjekte sind typisiert. Die Laufzeit ist CommonJS, und ein ES-Modul importiert die Klasse CapSkip über das Interop von Node ohne zusätzliche Konfiguration.
Wie lese ich ein Bild-Captcha mit JavaScript aus?
Übergeben Sie solver.normal() einen Pfad auf der Festplatte, einen Link zu einem entfernten Bild oder eine Data-URI, und result.code enthält die erkannten Zeichen, meist nach etwa 0,1 Sekunden. Bild-Lösungen brauchen keinen Proxy und öffnen keinen Browser, daher passen sie in jede Anfrageschleife und jeden Worker.
Funktioniert mein vorhandener 2Captcha-npm-Code mit CapSkip?
Ja, sofern der Code auf dem Windows-Rechner liegt, auf dem CapSkip installiert ist. Schalten Sie den 2Captcha-Emulator der App ein, klicken Sie neben dem Eintrag für die Hosts-Datei auf Add, und diese Bibliothek erhält ihre Antworten lokal. Der andere Weg ist das Paket capskip selbst, das dasselbe Protokoll mit in.php und res.php spricht.

Hinter jedem await eine Captcha-Antwort

Installieren Sie die App, fügen Sie capskip zu Ihrer package.json hinzu und warten Sie per await auf Ihr erstes Token. Ein monatlicher Pauschaltarif deckt jede Lösung Ihrer Skripte, Crawler und Worker ab, bei jeder Batch-Größe.