Proxy MITM en ligne de commande qui convertit SOCKS4/SOCKS5 en proxy HTTP/HTTPS/HTTP2/HTTP3 avec redirection transparente TCP/UDP, usurpation ARP/NDP/DNS, reniflage de trafic et capture de paquets. Pur Go, sans libpcap.

L'outil en ligne de commande GoHPTS est un pont entre les clients HTTP et un serveur proxy SOCKS5 ou plusieurs serveurs (chaîne). Il écoute localement en tant que proxy HTTP, accepte les requêtes HTTP standard
ou HTTPS (via CONNECT) et transfère la connexion à travers un proxy SOCKS5. Inspiré par http-proxy-to-socks et Proxychains
Cas d'utilisation possible : vous devez vous connecter à une API externe via Postman, mais cette API n'est disponible que depuis un serveur distant. Les commandes suivantes vous aideront à accomplir une telle tâche :
Créer un serveur proxy SOCKS5 via ssh :```shell
ssh -D 1080 -Nf
Créer une connexion HTTP-vers-SOCKS5 avec `gohpts````shell
gohpts -s :1080 -l :8080
Spécifiez le serveur http dans la configuration du proxy de Postman
Fonctionnalité de chaîne de proxies
Prend en charge les chaînes strict, dynamic, random, round_robin de proxies SOCKS4/SOCKS5
Proxy transparent
Prend en charge les modes redirect (SO_ORIGINAL_DST) et tproxy (IP_TRANSPARENT)
Prise en charge IPv4 et IPv6
Fonctionne en modes IPv4-only, IPv6-only ou dual stack
Proxy transparent TCP et UDP
tproxy et tlocal (IP_TRANSPARENT) gèrent le trafic TCP et UDP
Analyse du trafic
Le proxy est capable d'analyser les en-têtes HTTP, la poignée de main TLS, les messages DNS et plus encore
Usurpation ARP
Proxyfiez des sous-réseaux entiers avec l'approche d'usurpation ARP
Usurpation NDP
Proxyfiez les connexions IPv6 à l'aide d'injections Router/Neighbor Advertisement et RDNSS.
Usurpation DNS
Redirigez les clients vers des domaines arbitraires à l'aide de la manipulation des enregistrements DNS
Capture de paquets
Capturez le trafic dans des fichiers txt/pcap/pcapng et analysez-le avec Wireshark
Protection contre les fuites DNS
La résolution DNS se produit du côté du serveur SOCKS5.
Prise en charge de la méthode CONNECT
Prend en charge le tunneling HTTP CONNECT, permettant HTTPS et d'autres protocoles basés sur TCP.
Prise en charge HTTP2/HTTP3
Prend en charge le transport moderne HTTP/2 et HTTP/3, permettant des connexions multiplexées efficaces sur TLS 1.3
Prise en charge des espaces de noms réseau
Prend en charge les espaces de noms réseau Linux personnalisés pour les sockets d'écoute et les connexions sortantes
Prise en charge des en-têtes Trailer
Gère les en-têtes HTTP trailer
Encodage de transfert chunked
Gère les réponses chunked et en streaming
Prise en charge de l'authentification SOCKS5
Prend en charge l'authentification par nom d'utilisateur/mot de passe pour les proxies SOCKS5.
Prise en charge de l'authentification HTTP
Prend en charge l'authentification par nom d'utilisateur/mot de passe pour le serveur proxy HTTP.
Léger et rapide
Conçu avec une surcharge minimale et une gestion efficace des requêtes.
Multiplateforme
Compatible avec tous les principaux systèmes d'exploitation.
Ou en utilisant paru : ```shell
paru -S gohpts
- Téléchargez le binaire correspondant à votre plateforme depuis la page [Releases](https://github.com/shadowy-pycoder/go-http-proxy-to-socks/releases) : ```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
go install (nécessite Go 1.26 ou une version ultérieure) : ```shell
CGO_ENABLED=0 go install -ldflags "-s -w" -trimpath github.com/shadowy-pycoder/go-http-proxy-to-socks/cmd/gohpts@latest
Cela installera le binaire gohpts dans votre répertoire $GOPATH/bin.
[Retour]```shell gohpts -h
/ | | | | | __ _ / ____|
| | __ ___ | || | |) | | | | (__
| | |_ |/ _ | __ | / | | _
| |__| | () | | | | | | | ) |
_|_/|| ||| || |___/