Proxy MITM CLI che converte SOCKS4/SOCKS5 in un proxy HTTP/HTTPS/HTTP2/HTTP3 con reindirizzamento trasparente TCP/UDP, spoofing ARP/NDP/DNS, sniffing del traffico e cattura pacchetti. Puro Go, senza libpcap.

Lo strumento CLI GoHPTS è un ponte tra i client HTTP e un server proxy SOCKS5 o più server (catena). Si mette in ascolto localmente come proxy HTTP, accetta richieste HTTP standard
o HTTPS (tramite CONNECT) e inoltra la connessione attraverso un proxy SOCKS5. Ispirato a http-proxy-to-socks e Proxychains
Possibile caso d'uso: devi connetterti a un'API esterna tramite Postman, ma questa API è disponibile solo da un server remoto. I seguenti comandi ti aiuteranno a svolgere tale compito:
Crea un server proxy SOCKS5 tramite ssh:```shell
ssh -D 1080 -Nf
Crea una connessione HTTP-to-SOCKS5 con `gohpts````shell
gohpts -s :1080 -l :8080
Specifica il server http nella configurazione del proxy di Postman
Funzionalità Proxy Chain
Supporta catene strict, dynamic, random, round_robin di proxy SOCKS4/SOCKS5
Proxy trasparente
Supporta le modalità redirect (SO_ORIGINAL_DST) e tproxy (IP_TRANSPARENT)
Supporto IPv4 e IPv6
Opera in modalità IPv4-only, IPv6-only o dual stack
Proxy trasparente TCP e UDP
tproxy e tlocal (IP_TRANSPARENT) gestiscono il traffico TCP e UDP
Sniffing del traffico
Il proxy è in grado di analizzare header HTTP, handshake TLS, messaggi DNS e altro
ARP spoofing
Proxy di intere sottoreti con l'approccio ARP spoofing
NDP spoofing
Proxy di connessioni IPv6 utilizzando Router/Neighbor Advertisement e iniezioni RDNSS.
DNS spoofing
Reindirizza i client verso domini arbitrari tramite la manipolazione dei record DNS
Cattura pacchetti
Cattura il traffico in file txt/pcap/pcapng e analizzalo con Wireshark
Protezione dalle perdite DNS
La risoluzione DNS avviene lato server SOCKS5.
Supporto del metodo CONNECT
Supporta il tunneling HTTP CONNECT, abilitando HTTPS e altri protocolli basati su TCP.
Supporto HTTP2/HTTP3
Supporta il trasporto moderno HTTP/2 e HTTP/3, abilitando connessioni multiplexate efficienti su TLS 1.3
Supporto dei Network Namespaces
Supporta network namespace Linux personalizzati per socket in ascolto e connessioni in uscita
Supporto degli header Trailer
Gestisce gli header trailer HTTP
Chunked Transfer Encoding
Gestisce risposte chunked e in streaming
Supporto autenticazione SOCKS5
Supporta l'autenticazione username/password per i proxy SOCKS5.
Supporto autenticazione HTTP
Supporta l'autenticazione username/password per il server proxy HTTP.
Leggero e veloce
Progettato con overhead minimo e gestione efficiente delle richieste.
Multipiattaforma
Compatibile con tutti i principali sistemi operativi.
Oppure usando paru: ```shell
paru -S gohpts
- Scarica il binario per la tua piattaforma dalla pagina [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 (richiede Go 1.26 o successivo): ```shell
CGO_ENABLED=0 go install -ldflags "-s -w" -trimpath github.com/shadowy-pycoder/go-http-proxy-to-socks/cmd/gohpts@latest
This installerà il binario gohpts nella tua directory $GOPATH/bin.
[Indietro]```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
Usage: gohpts [OPTIONS] OPTIONS: General: -h Show this help message and exit -v Show version and build information -D Run as a daemon (provide -logfile to see logs) -I Display list of network interfaces and exit -f Path to proxy configuration file in YAML format