Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
mhr-cfw — Ein Domain-Fronting-Relais, das Datenverkehr durch GAS (Google Apps Script) leitet und an Cloudflare Workers weiterleitet. Entwickelt, um DPI zu umgehen. | Kitploit
Tools/GitHubGitHub/denuitt1/mhr-cfw
Web-Proxys & AbfangenIDS/IPS-UmgehungCloud-SicherheitRed Teaming
GitHubdenuitt1/mhr-cfw

mhr-cfw

Ein Domain-Fronting-Relais, das Datenverkehr durch GAS (Google Apps Script) leitet und an Cloudflare Workers weiterleitet. Entwickelt, um DPI zu umgehen.

Repository anzeigen
4.4k4162vor 3 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

MHR-CFW

MITM Domain-Fronted HTTP Relay + Cloudflare Worker Exit

GitHub

EnglischPersisch

So funktioniert es

1 – GAS + Cloudflare Worker Exit

root@kitploit:~
Client -> Lokaler Relay -> Google/CDN Front -> GAS (Google Apps Script) Relay -> Cloudflare Worker -> Exit
            |
            +-> Zeigt dem Netzwerk-DPI-Filter www.google.com an

2 – GAS + Cloudflare Worker Middle + Self-Hosted Upstream Forwarder Relay Exit

root@kitploit:~
Client -> Lokaler Relay -> Google/CDN Front -> GAS (Google Apps Script) Relay -> Cloudflare Worker -> Self-Hosted Upstream Forwarder -> Exit
            |
            +-> Zeigt dem Netzwerk-DPI-Filter www.google.com an

Im normalen Gebrauch sendet der Browser den Datenverkehr an den Proxy, der auf Ihrem Computer läuft. Der Proxy leitet diesen Datenverkehr über die Google-Infrastruktur weiter, sodass das Netzwerk nur eine erlaubte Domain wie www.google.com sieht. Ihr bereitgestellter Relay ruft dann die echte Website über den Cloudflare Worker ab und sendet die Antwort auf demselben Weg zurück.

Das bedeutet, dass der Filter normal aussehenden Google-Datenverkehr sieht, während das eigentliche Ziel innerhalb der Relay-Anfrage verborgen bleibt.


So wird es verwendet

1 – Projekt herunterladen und entpacken

root@kitploit:~
git clone https://github.com/denuitt1/mhr-cfw.git
cd mhr-cfw
pip install -r requirements.txt

PyPI nicht direkt erreichbar? Verwenden Sie stattdessen diesen Mirror:

root@kitploit:~
pip install -r requirements.txt -i https://mirror-pypi.runflare.com/simple/ --trusted-host mirror-pypi.runflare.com

2 – Cloudflare Worker einrichten (worker.js)

  1. Öffnen Sie das Cloudflare-Dashboard und melden Sie sich mit Ihrem Cloudflare-Konto an.
  2. Navigieren Sie in der Seitenleiste zu Compute > Workers & Pages.
  3. Klicken Sie auf Create Application, wählen Sie Start with Hello World und klicken Sie auf Deploy.
  4. Klicken Sie auf Edit code und löschen Sie den gesamten Standardcode im Editor.
  5. Öffnen Sie die Datei worker.js aus diesem Projekt (unter deploy/), kopieren Sie alles und fügen Sie es in den Apps Script-Editor ein.
  6. Wichtig: Ändern Sie den Worker in dieser Zeile auf den von Ihnen erstellten Worker:
    root@kitploit:~
    const WORKER_URL = "myworker.workers.dev";
    
  7. Klicken Sie auf Deploy.

3 – Google Relay einrichten (Code.gs)

  1. Öffnen Sie Google Apps Script und melden Sie sich mit Ihrem Google-Konto an.
  2. Klicken Sie auf New project.
  3. Löschen Sie den gesamten Standardcode im Editor.
  4. Öffnen Sie die Datei Code.gs aus diesem Projekt (unter deploy/), kopieren Sie alles und fügen Sie es in den Apps Script-Editor ein.
  5. Wichtig: Ändern Sie das Passwort in dieser Zeile in ein nur Ihnen bekanntes; ersetzen Sie außerdem die Worker-URL durch Ihren Cloudflare Worker:
    root@kitploit:~
    const AUTH_KEY = "your-secret-password-here";
    const WORKER_URL = "https://myworker.workers.dev";
    
  6. Klicken Sie auf Deploy → New deployment.
  7. Wählen Sie Web app als Typ.
  8. Stellen Sie ein:
    • Execute as: Me
    • Who has access: Anyone
  9. Klicken Sie auf Deploy.
  10. Kopieren Sie die Deployment-ID (sieht aus wie eine lange zufällige Zeichenfolge). Sie wird im nächsten Schritt benötigt.

⚠️ Merken Sie sich das Passwort, das Sie in Schritt 3 festgelegt haben. Sie verwenden dasselbe Passwort in der folgenden Konfigurationsdatei.

4 – Ausführen

Klicken Sie auf die Datei run.bat (unter Windows) oder run.sh (unter Linux), um den Relay zu starten.

Wenn Sie es zum ersten Mal ausführen, wird ein Einrichtungsassistent angezeigt, in dem Sie den AUTH_KEY und die Google Apps Script Deployment-ID eingeben müssen. Sie sollten eine Meldung sehen, dass der HTTP-Proxy auf 127.0.0.1:8085 läuft.

5 – Nutzung

Wir empfehlen die Verwendung des v2rayN-Clients und die Konfiguration eines SOCKS5-Proxys.

Sie können auch die Chrome-Erweiterung oder Firefox-Erweiterung von FoxyProxy verwenden, um diesen Proxy in Ihrem Browser zu nutzen.

6 – Verbindung testen

Öffnen Sie ipleak.net in Ihrem Browser. Ihre IP-Adresse sollte als Cloudflare angezeigt werden.

image

7 – Zusätzliche Nutzungshinweise

Verwenden des Proxys in einer virtuellen Maschine

Wenn Sie eine virtuelle Maschine (VM) ausführen, arbeitet diese in einer isolierten Netzwerkumgebung, getrennt vom Host. Standardmäßig kann die VM nicht direkt auf Dienste zugreifen, die auf localhost des Hosts laufen – einschließlich dieses Proxys.

Um dies zu beheben, müssen Sie die Gateway-IP ermitteln, die Ihr Hypervisor dem Host zuweist, und diese anstelle von localhost verwenden, wenn Sie den Proxy in der VM konfigurieren.

Beispiel: VirtualBox (NAT-Modus)

Der Host ist von der VM aus immer unter 10.0.2.2 erreichbar. Stellen Sie den Proxy ein:

root@kitploit:~
export http_proxy="http://10.0.2.2:8085"
export https_proxy="http://10.0.2.2:8085"
export all_proxy="socks5://10.0.2.2:8085"

Um dies dauerhaft zu machen, fügen Sie die obigen Zeilen zu ~/.bashrc hinzu und führen Sie source ~/.bashrc aus.

Da dieser Proxy SSL-Inspektion durchführt, können Zertifikatsfehler auftreten. Installieren Sie das enthaltene ca.crt, um diese zu beheben:

root@kitploit:~
sudo cp ca.crt /usr/local/share/ca-certificates/ && sudo update-ca-certificates

Teilen des Proxys über ein lokales Netzwerk (z. B. mobile Geräte)

Sie können diesen Proxy auf Ihrem Telefon oder einem anderen Gerät im selben Netzwerk verwenden – keine zusätzliche Software erforderlich.

1. Finden Sie Ihre Host-IP

root@kitploit:~
# Windows
ipconfig

# Linux / macOS
ip addr

Suchen Sie nach der IP des Adapters, der mit Ihrem Router verbunden ist (z. B. 192.168.1.8).

2. Portweiterleitung (nur Windows, wenn der Dienst an localhost gebunden ist)

Führen Sie CMD als Administrator aus:

root@kitploit:~
netsh interface portproxy add v4tov4 listenaddress=192.168.1.8 listenport=8085 connectaddress=127.0.0.1 connectport=8085
netsh advfirewall firewall add rule name="Proxy 8085" dir=in action=allow protocol=TCP localport=8085

3. Proxy auf Ihrem Telefon konfigurieren

Verbinden Sie Ihr Telefon mit demselben WLAN und stellen Sie den Proxy manuell ein:

  • Host: Ihre Host-IP (z. B. 192.168.1.8)
  • Port: 8085

Auf Android: Einstellungen → WLAN → Ändern → Proxy → Manuell Auf dem iPhone: Einstellungen → WLAN → (Netzwerk) → HTTP-Proxy → Manuell

4. CA-Zertifikat installieren

Übertragen Sie ca.crt auf Ihr Telefon, dann:

  • Android: Einstellungen → Sicherheit → Zertifikat installieren → CA-Zertifikat
  • iPhone: Datei öffnen → Profil installieren → Einstellungen → Allgemein → Info → Zertifikatsvertrauenseinstellungen → aktivieren

Optional: Stabile Exit-IP über Upstream Forwarder

CAPTCHAs (Cloudflare Turnstile/Bot-Challenge, reCAPTCHA, hCaptcha) binden Token an die IP, die die Challenge gelöst hat. Cloudflare Worker verlassen das Netzwerk über verschiedene Edge-IPs pro Anfrage, sodass die Verifizierung auf der Zielseite fehlschlägt, selbst wenn Sie die Challenge lösen. Dieser optionale Zusatz erlaubt es dem Worker, alle fetch()-Aufrufe über einen kleinen Node-Server weiterzuleiten, den Sie auf einer VPS mit stabiler IP betreiben – so erhält die Zielseite eine konsistente Exit-Adresse.

Wann Sie dies benötigen

  • Websites hinter Cloudflares Bot-Challenge leiten Sie immer wieder auf die Challenge-Seite weiter.
  • Login-Formulare lehnen Sie ab, nachdem Sie ein reCAPTCHA/hCaptcha gelöst haben.
  • Sie benötigen Cookie-Kontinuität über mehrere Anfragen hinweg (z. B. cf_clearance).

Wenn Sie diese Probleme nicht haben, lassen Sie es unkonfiguriert – der Worker verhält sich wie zuvor.

Warum ein separater Server erforderlich ist

Cloudflare Worker bieten keine stabile ausgehende IP – fetch() verlässt das Netzwerk über einen rotierenden Pool von Cloudflare-Edge-IPs, was genau der Grund ist, warum IP-gebundene CAPTCHA-Token brechen. Die statischen Egress-Optionen von Cloudflare (BYOIP, Egress Workers) sind nur im Enterprise-Tarif verfügbar, daher ist eine kleine VPS mit einer statischen IP der praktische Workaround. Der Forwarder ist lediglich ein dünner Proxy, der den fetch() von einer stabilen Adresse aus erneut ausführt.

1. Forwarder auf einer VPS bereitstellen

Die Referenzimplementierung ist deploy/upstream-forwarder/upstream_forwarder.js. Sie benötigt Node 18+ und keine Abhängigkeiten. Betreiben Sie sie hinter Caddy oder nginx mit TLS – der Worker lehnt Nicht-HTTPS-Forwarder-URLs ab.

root@kitploit:~
# Auf Ihrer VPS (Ubuntu/Debian Beispiel):
sudo apt install -y nodejs   # muss 18+ sein
export AUTH_KEY="some-long-random-string-at-least-32-chars"
export PORT=8787
node deploy/upstream-forwarder/upstream_forwarder.js

Stellen Sie sie mit Caddy für automatisches TLS bereit:

root@kitploit:~
forwarder.example.com {
    reverse_proxy 127.0.0.1:8787
}

Kurzer Test:

root@kitploit:~
curl -X POST https://forwarder.example.com/fwd \
  -H "x-upstream-auth: $AUTH_KEY" \
  -H "content-type: application/json" \
  -d '{"u":"https://httpbin.org/ip","m":"GET","h":{}}'

Der entschlüsselte Antworttext sollte die IP der VPS anzeigen.

2. Worker mit dem Forwarder verbinden

Im Cloudflare-Dashboard → Ihr Worker → Einstellungen → Variablen und Secrets:

Speichern und stellen Sie den Worker erneut bereit.

3. Überprüfung

Rufen Sie https://httpbin.org/ip über den Proxy auf – Sie sollten die IP der VPS sehen, nicht die von Cloudflare. Besuchen Sie dann eine CAPTCHA-geschützte Website, die vorher nicht funktionierte – die Challenge sollte jetzt validieren.

Der Forwarder muss eine Authentifizierung erfordern. Ohne AUTH_KEY startet er nicht. Jeder mit der URL und dem Schlüssel kann ihn als Relay nutzen, halten Sie beides geheim.

4. Forwarder auf bestimmte Hosts beschränken (optional)

Standardmäßig leitet der Worker jede Anfrage über den Forwarder, sodass irrelevanter Datenverkehr ebenfalls VPS-Bandbreite verbraucht. Um nur die Websites, die eine stabile Exit-IP benötigen, über die VPS zu leiten, listen Sie sie in forwarder_hosts in config.json auf – gleiche Syntax wie bypass_hosts (exakter Hostname oder .suffix). Alles, was nicht matcht, fällt auf den direkten fetch() im Worker zurück.

root@kitploit:~
{
   ...
   "forwarder_hosts": [
       "example.com",
       ".cf-protected-suffix"
   ]
   ...
}

Lassen Sie die Liste leer (oder entfernen Sie den Schlüssel), um das bisherige Verhalten "alles weiterleiten" beizubehalten.


Haftungsausschluss

MHR-CFW wird nur zu Bildungs-, Test- und Forschungszwecken bereitgestellt.

  • Ohne Gewähr: Diese Software wird "AS IS" ohne ausdrückliche oder stillschweigende Gewährleistung bereitgestellt, einschließlich der Marktgängigkeit, der Eignung für einen bestimmten Zweck und der Nichtverletzung von Rechten Dritter.
  • Haftungsbeschränkung: Die Entwickler und Mitwirkenden haften nicht für direkte, indirekte, zufällige, Folge- oder andere Schäden, die aus der Nutzung dieses Projekts oder der Unmöglichkeit der Nutzung entstehen.
  • Verantwortung des Nutzers: Die Ausführung dieses Projekts außerhalb kontrollierter Testumgebungen kann Netzwerke, Konten, Proxys, Zertifikate oder verbundene Systeme beeinträchtigen. Sie sind allein für Installation, Konfiguration und Nutzung verantwortlich.
  • Rechtliche Einhaltung: Sie sind dafür verantwortlich, vor der Nutzung dieser Software alle lokalen, nationalen und internationalen Gesetze und Vorschriften einzuhalten.
  • Einhaltung der Google-Dienste: Wenn Sie Google Apps Script oder andere Google-Dienste mit diesem Projekt verwenden, sind Sie für die Einhaltung der Google-Nutzungsbedingungen, der zulässigen Nutzungsregeln, Kontingente und Plattformrichtlinien verantwortlich. Missbrauch kann zur Sperrung oder Kündigung Ihres Google-Kontos oder Ihrer Bereitstellungen führen.
  • Lizenzbedingungen: Die Nutzung, Vervielfältigung, Verbreitung und Modifikation dieser Software unterliegen den Bedingungen der Repository-Lizenz. Jegliche Nutzung außerhalb dieser Bedingungen ist untersagt.

Mitwirkende

  • Besonderer Dank an onlymaj

Quellen

  • Dieses Projekt basiert auf MasterHttpRelayVPN

Lizenz

MIT

Tool herunterladen
NameTypWert
UPSTREAM_FORWARDER_URLSecrethttps://forwarder.example.com/fwd
UPSTREAM_AUTH_KEYSecretderselbe AUTH_KEY, den Sie auf der VPS gesetzt haben
UPSTREAM_FAIL_MODEVariableclosed (Standard) – gibt 502 bei Forwarder-Fehler zurück. Mit open wird auf direkten Fetch zurückgegriffen.
UPSTREAM_TIMEOUT_MSVariable (optional)Standard 25000