Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
thermoptic — Ein HTTP-Stealth-Proxy der nächsten Generation, der Anfragen auf allen Ebenen des Stacks perfekt als Chrome-Browser tarnt. | Kitploit
Tools/GitHubGitHub/mandatoryprogrammer/thermoptic
Web-Proxys & AbfangenImpersonations-ToolsInformationsbeschaffungWAF-UmgehungCrawlerAnti-BotFingerabdruck-SpoofingCAPTCHA-Umgehung
GitHubmandatoryprogrammer/thermoptic

thermoptic

Ein HTTP-Stealth-Proxy der nächsten Generation, der Anfragen auf allen Ebenen des Stacks perfekt als Chrome-Browser tarnt.

Repository anzeigen
1.0k6625vor 6 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

thermoptic

„Ich glaube es nicht, thermoptische Tarnung!"

Was ist das?

Dies ist ein HTTP-Proxy, der entwickelt wurde, um Dienste zu umgehen, die Fingerprinting-Techniken wie JA4+ einsetzen, um bestimmte HTTP-Clients zu blockieren. Mit diesem Proxy kannst du deine bevorzugten HTTP-Clients wie curl verwenden und hast dennoch auf magische Weise von einem echten (Chrome/Chromium) Webbrowser ununterscheidbare Fingerabdrücke. thermoptic bietet außerdem einige unterhaltsame Funktionen, um JavaScript-basiertes Fingerprinting abzuschwächen. Darüber hinaus erleichtert es hybrides Scraping, bei dem ein Webbrowser und Low-Level-HTTP-Clients gemeinsam eingesetzt werden.

Auch wenn dir JA4+-Fingerprinting nicht vertraut ist: Falls du schon einmal Scraping betrieben hast, wurdest du wahrscheinlich schon einmal davon blockiert. Beliebte Dienste wie Cloudflare setzen solche Techniken (und andere Tricks) ein, um die Verwendung von „nicht-menschlichen" HTTP-Clients zu erkennen und Anfragen zu blockieren. Diese Dienste können dieses Fingerprinting außerdem dazu nutzen, zu erkennen, wenn du eine Sitzung mit einem echten Browser beginnst und später zu einem Low-Level-Client wie curl wechselst. thermoptic löst all diese Probleme, indem es für alle Scraping-Anfragen einen einheitlichen „echten" Browser-Fingerabdruck präsentiert.

Beispiel

Hier ist ein Beispiel für einen JA4H (HTTP)-Fingerabdruck von curl ohne den Proxy:``` $ curl https://ja4db.com/id/ja4h/ ge11nn090000_b6a016211e8a_000000000000_e3b0c44298fc

Dies unterscheidet sich deutlich von dem Fingerabdruck, den Chrome erzeugt, wenn Sie die URL direkt besuchen:```
ge11cn19enus_f2808f0d04cf_9a10d4221160_7068f58def6e

Wenn wir jedoch den Proxy verwenden, um die Anfrage zu stellen, ist unser JA4H-Fingerprint auf magische Weise identisch:``` $ curl --proxy http://thermoptic:1234 https://ja4db.com/id/ja4h/ ge11cn19enus_f2808f0d04cf_9a10d4221160_7068f58def6e

(Das Gleiche gilt auch für unseren JA4-TLS-Fingerabdruck usw.).

## Einrichtung

Um einen `thermoptic`-Proxy zu starten, der Ihren Datenverkehr durch eine containerisierte Chrome-Instanz auf Ubuntu 22.04 verschleiert:

Reguläre Docker-Einrichtung (funktioniert auf Hosts ohne GPU-Runtime):```
docker compose up --build

Das war's, jetzt kannst du den Traffic darüber proxyen:``` curl --proxy http://127.0.0.1:1234 --insecure https://ja4db.com/id/ja4h/

Wichtige Hinweise:
* Standardmäßig läuft der Proxy ohne Authentifizierung. Wenn du planst, den Proxy extern verfügbar zu machen, stelle sicher, dass du die Authentifizierung mit den Umgebungsvariablen `PROXY_USERNAME` und `PROXY_PASSWORD` setzt.
* Wenn du `---insecure` nicht verwenden möchtest, musst du die generierte CA-Datei unter `./ssl/rootCA.crt` verwenden. Diese wird beim ersten Ausführen von `thermoptic` erzeugt.
* Du kannst `thermoptic` mit jeder Chrome/Chromium-Instanz verbinden, die mit dem Flag `--remote-debugging-port` gestartet wurde. Das ist wichtig, da du gängigere Umgebungen einrichten und als Proxy nutzen möchtest, um deinen Fingerprint so unauffällig wie möglich zu halten (z. B. Chrome unter Windows).
* Das GPU-Compose-Override ist für NVIDIA-Hosts gedacht, auf denen bereits Dockers NVIDIA-Runtime/Toolkit installiert ist. Es reserviert das GPU-Gerät, mountet `/dev/dri` und ermöglicht dem gebündelten Chrome-Container, auf den NVIDIA/Vulkan-Rendering-Pfad umzuschalten. Verwende dazu `docker compose -f docker-compose.yml -f docker-compose.gpu.yml up --build`.

## Features

- 🕵️ [Browser-Paritäts-Proxying](#how-does-this-cloaking-work-exactly), das Anfragen über eine echte Chrome-Sitzung repliziert, um JA4-Fingerprints bytegenau zu treffen.
- 🤝 Kaum bis gar kein eigener Code erforderlich, um deinen HTTP-Client (z. B. `curl`, `requests` usw.) in `thermoptic` zu integrieren – [setze einfach den Proxy](#setup) und deine Fingerprints sind abgedeckt.
- 🪝 [Hook-Framework](#handling-browser-javascript-fingerprinting-with-thermoptic-hooks) für Automatisierung vor/nach der Anfrage und beim Start, damit du den vollständigen Browser steuern kannst, um Herausforderungen zu lösen oder Artefakte zu erfassen.
  - 📘 Ein Beispiel-Hook zum Lösen von Cloudflare Turnstile findest du in [`./hooks/onstart.js`](https://github.com/mandatoryprogrammer/thermoptic/blob/main/hooks/onstart.js).
- 🖥️ [Webbrowser-Steuerungs-UI](#control-the-dockerized-chrome-browser-via-web-ui-xpra) (unter `http://127.0.0.1:14111`) zur Steuerung des Dockerisierten Chrome-Browserfensters. Nützlich, um dich manuell auf Websites anzumelden und dann nahtlos den Proxy zu nutzen, um Anfragen als deine angemeldete Sitzung zu stellen (und zum Debuggen).
- 🔌 Lege einen Upstream-HTTP- oder SOCKS-Proxy-URI über die Umgebungsvariable `UPSTREAM_PROXY` in `docker-compose.yml` fest.
- 🛡️ Integrierte Health Checks und ein Neustart-Regelkreis, um eingefrorene Browser zu erkennen und automatisch wiederherzustellen, ohne dass ein Bediener ständig eingreifen muss.
- ⚡ Unterstützt HTTP/1.1 und HTTP/2 und ermöglicht so die Weiterleitung von Datenverkehr über beide Protokolle. (_Hinweis: Du kannst per HTTP/1.1 mit dem Proxy sprechen, während das gesteuerte Chrome mit der Zielwebsite möglicherweise ein anderes Protokoll aushandelt._)

## Wie genau funktioniert diese Tarnung?

![Visual diagram example](https://assets.kitploit.com/production/public/readmes/49068/f95c08eccfdbfce1b14513f2a5ad2a33a9b0fb0bd6851a2d005aedf4ff196338.png)

* Eine HTTP-Anfrage wird mit einem HTTP-Client wie `curl` gesendet, wobei `thermoptic` als Proxy festgelegt ist.
* `thermoptic` analysiert die Anfrage, um möglichst genau zu bestimmen, welche Art von Browseranfrage sie *sein soll* (z. B. manueller URL-Besuch? Formularübermittlung? Eine `fetch()`-Anfrage?).
* `thermoptic` verwendet das [Chrome Debugging Protocol (CDP)](https://chromedevtools.github.io/devtools-protocol/), um den Browser zu steuern und eine Seite einzurichten, die die Anfrage genau so nachbildet, wie sie in einem echten Webbrowser normalerweise ablaufen würde.
* `thermoptic` löst die Anfrage über den nachgebildeten Kontext aus und erfasst die HTTP-Antwort.
* `thermoptic` sendet die HTTP-Antwort zurück an den Client.

Da der Browser die Anfrage tatsächlich mit seinem gesamten Stack ausführt, sind die resultierenden JA4-Fingerprints identisch.

HINWEIS: Da viele WAFs JavaScript-basiertes Fingerprinting von Webbrowsern einsetzen, bietet `thermoptic` auch Hooks an, um den Browser für wichtige Schritte des Scraping-Prozesses zu nutzen. Siehe [diesen Abschnitt](#handling-browser-javascript-fingerprinting-with-thermoptic-hooks) für weitere Informationen.

## Warum *dieser* Ansatz statt anderer Lösungen?

Um es deutlich zu sagen: Andere Ansätze haben grundlegende Schwächen, die sie daran hindern, eine praktikable langfristige Lösung für das Browser-Fingerprinting-Problem zu sein.

Viele andere Versuche, das Browser-JA4+-Fingerprinting zu „schlagen“, setzen darauf, die verschiedenen Schichten des Browser-Stacks neu zu implementieren. Dieser Ansatz hat eine Reihe schwerwiegender Nachteile, wie zum Beispiel:
Tool herunterladen