
go-http-proxy-to-socks v1.15.6
CLI-MITM-Proxy, der SOCKS4/SOCKS5 in HTTP/HTTPS/HTTP2/HTTP3-Proxy mit transparenter TCP/UDP-Umleitung, ARP/NDP/DNS-Spoofing, Traffic-Sniffing und Paketerfassung umwandelt. Reines Go, kein libpcap.
GoHPTS - HTTP(S)- und TCP/UDP-transparenter Proxy zu SOCKS4/SOCKS5-Proxy (Kette), geschrieben in Go

Inhaltsverzeichnis
- Einführung
- Funktionen
- Installation
- Verwendung
- Transparenter Proxy
- Verkehrsanalyse (Traffic Sniffing)
- HTTP2- und HTTP3-Unterstützung
- IPv4- und IPv6-Unterstützung
- ARP-Spoofing
- NDP-Spoofing
- DNS-Spoofing
- Paketaufzeichnung
- Netzwerk-Namespaces
- Gemischter Server
- Links
- Mitwirken
- Lizenz
Einführung
Das GoHPTS CLI-Tool ist eine Brücke zwischen HTTP-Clients und einem SOCKS5-Proxy-Server oder mehreren Servern (Kette). Es lauscht lokal als HTTP-Proxy, akzeptiert standardmäßige HTTP-
oder HTTPS-Anfragen (über CONNECT) und leitet die Verbindung durch einen SOCKS5-Proxy weiter. Inspiriert von http-proxy-to-socks und Proxychains
Möglicher Anwendungsfall: Sie müssen über Postman eine Verbindung zu einer externen API herstellen, aber diese API ist nur von einem bestimmten Remote-Server aus erreichbar. Die folgenden Befehle helfen Ihnen, eine solche Aufgabe durchzuführen:
Erstellen Sie einen SOCKS5-Proxy-Server über ssh:```shell
ssh -D 1080 -Nf
Erstellen Sie eine HTTP-zu-SOCKS5-Verbindung mit `gohpts````shell
gohpts -s :1080 -l :8080
HTTP-Server in der Proxy-Konfiguration von Postman angeben
Funktionen
-
Proxy-Chain-Funktionalität
Unterstütztstrict-,dynamic-,random-,round_robin-Ketten von SOCKS4/SOCKS5-Proxys -
Transparenter Proxy
Unterstütztredirect- (SO_ORIGINAL_DST) undtproxy-Modi (IP_TRANSPARENT) -
IPv4- und IPv6-Unterstützung
Arbeitet inIPv4-only-,IPv6-only- oderdual stack-Modi -
TCP- und UDP-Transparent-Proxy
tproxyundtlocal(IP_TRANSPARENT) verarbeiten TCP- und UDP-Verkehr -
Traffic-Sniffing
Der Proxy kann HTTP-Header, TLS-Handshake, DNS-Nachrichten und mehr parsen -
ARP-Spoofing
Ganze Subnetze mit dem ARP-Spoofing-Ansatz proxen -
NDP-Spoofing
IPv6-Verbindungen mithilfe von Router/Neighbor Advertisement- und RDNSS-Injektionen proxen. -
DNS-Spoofing
Clients mithilfe von DNS-Eintragsmanipulation auf beliebige Domains umleiten -
Paketaufzeichnung
Verkehr in txt/pcap/pcapng-Dateien aufzeichnen und mit Wireshark analysieren -
DNS-Leak-Schutz
Die DNS-Auflösung erfolgt auf der SOCKS5-Serverseite. -
CONNECT-Methoden-Unterstützung
Unterstützt HTTP-CONNECT-Tunneling, was HTTPS und andere TCP-basierte Protokolle ermöglicht. -
HTTP2/HTTP3-Unterstützung
Unterstützt moderne HTTP/2- und HTTP/3-Transporte und ermöglicht effiziente multiplexte Verbindungen über TLS 1.3 -
Unterstützung für Netzwerk-Namespaces
Unterstützt benutzerdefinierte Linux-Netzwerk-Namespaces für Listening-Sockets und ausgehende Verbindungen -
Unterstützung für Trailer-Header
Verarbeitet HTTP-Trailer-Header -
Chunked Transfer Encoding
Verarbeitet chunked und Streaming-Antworten -
SOCKS5-Authentifizierungsunterstützung
Unterstützt Benutzername/Passwort-Authentifizierung für SOCKS5-Proxys. -
HTTP-Authentifizierungsunterstützung
Unterstützt Benutzername/Passwort-Authentifizierung für HTTP-Proxy-Server. -
Leichtgewichtig und schnell
Entwickelt mit minimalem Overhead und effizienter Anfragenverarbeitung. -
Plattformübergreifend
Kompatibel mit allen gängigen Betriebssystemen.
Installation
- Arch Linux/CachyOS/EndeavourOS ```shell
yay -S gohpts
Oder mit paru: ```shell
paru -S gohpts
- Laden Sie die Binärdatei für Ihre Plattform von der Seite [Releases](https://github.com/shadowy-pycoder/go-http-proxy-to-socks/releases) herunter: ```shell
GOHPTS_RELEASE=v1.15.6; wget -v https://github.com/shadowy-pycoder/go-http-proxy-to-socks/releases/download/$GOHPTS_RELEASE/gohpts-$GOHPTS_RELEASE-linux-amd64.tar.gz -O gohpts && tar xvzf gohpts && mv -f gohpts-$GOHPTS_RELEASE-linux-amd64 gohpts && ./gohpts -h
- Installation mit dem
go install-Befehl (erfordert Go 1.26 oder neuer): ```shell CGO_ENABLED=0 go install -ldflags "-s -w" -trimpath github.com/shadowy-pycoder/go-http-proxy-to-socks/cmd/gohpts@latest
Dadurch wird die Binärdatei gohpts in deinem Verzeichnis $GOPATH/bin installiert.
- Aus dem Quellcode erstellen: ```shell
git clone https://github.com/shadowy-pycoder/go-http-proxy-to-socks.git
cd go-http-proxy-to-socks
make build
./bin/gohpts
- In Docker ausführen: ```shell
docker run -it --privileged --network host -v "$PWD/gohpts.yaml:/config.yaml" shadowypycoder/gohpts:latest -f config.yaml
Verwendung
[Zurück]```shell gohpts -h
/ | | | | | __ _ / ____|
| | __ ___ | || | |) | | | | (__
| | |_ |/ _ | __ | / | | _
| |__| | () | | | | | | | ) |
_|_/|| ||| || |___/
GoHPTS: HTTP(S) Proxy to SOCKS4/SOCKS5 proxy by shadowy-pycoder GitHub: https://github.com/shadowy-pycoder/go-http-proxy-to-socks Codeberg: https://codeberg.org/shadowy-pycoder/go-http-proxy-to-socks