
go-http-proxy-to-socks v1.15.6
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.
GoHPTS - Proxy transparent HTTP(S) et TCP/UDP vers un proxy SOCKS4/SOCKS5 (chaîne) écrit en Go

Table des matières
- Introduction
- Fonctionnalités
- Installation
- Utilisation
- Proxy transparent
- Inspection du trafic
- Prise en charge de HTTP2 et HTTP3
- Prise en charge d'IPv4 et IPv6
- Usurpation ARP
- Usurpation NDP
- Usurpation DNS
- Capture de paquets
- Espaces de noms réseau
- Serveur mixte
- Liens
- Contribution
- Licence
Introduction
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és
-
Fonctionnalité de chaîne de proxies
Prend en charge les chaînesstrict,dynamic,random,round_robinde proxies SOCKS4/SOCKS5 -
Proxy transparent
Prend en charge les modesredirect(SO_ORIGINAL_DST) ettproxy(IP_TRANSPARENT) -
Prise en charge IPv4 et IPv6
Fonctionne en modesIPv4-only,IPv6-onlyoudual stack -
Proxy transparent TCP et UDP
tproxyettlocal(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.
Installation
- Arch Linux/CachyOS/EndeavourOS ```shell
yay -S gohpts
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
- Installation à l'aide de la commande
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.
- Compiler depuis les sources : ```shell
git clone https://github.com/shadowy-pycoder/go-http-proxy-to-socks.git
cd go-http-proxy-to-socks
make build
./bin/gohpts
- Exécuter dans docker : ```shell
docker run -it --privileged --network host -v "$PWD/gohpts.yaml:/config.yaml" shadowypycoder/gohpts:latest -f config.yaml
Utilisation
[Retour]```shell gohpts -h
/ | | | | | __ _ / ____|
| | __ ___ | || | |) | | | | (__
| | |_ |/ _ | __ | / | | _
| |__| | () | | | | | | | ) |
_|_/|| ||| || |___/