
go-http-proxy-to-socks v1.15.6
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.
GoHPTS - Proxy trasparente HTTP(S) e TCP/UDP verso proxy SOCKS4/SOCKS5 (catena) scritto in Go

Indice
- Introduzione
- Funzionalità
- Installazione
- Utilizzo
- Proxy trasparente
- Sniffing del traffico
- Supporto HTTP2 e HTTP3
- Supporto IPv4 e IPv6
- ARP spoofing
- NDP spoofing
- DNS spoofing
- Cattura pacchetti
- Network Namespaces
- Mixed Server
- Link
- Contribuire
- Licenza
Introduzione
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à
-
Funzionalità Proxy Chain
Supporta catenestrict,dynamic,random,round_robindi proxy SOCKS4/SOCKS5 -
Proxy trasparente
Supporta le modalitàredirect(SO_ORIGINAL_DST) etproxy(IP_TRANSPARENT) -
Supporto IPv4 e IPv6
Opera in modalitàIPv4-only,IPv6-onlyodual stack -
Proxy trasparente TCP e UDP
tproxyetlocal(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.
Installazione
- Arch Linux/CachyOS/EndeavourOS ```shell
yay -S gohpts
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
- Installazione tramite il comando
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.
- Compila dal sorgente: ```shell
git clone https://github.com/shadowy-pycoder/go-http-proxy-to-socks.git
cd go-http-proxy-to-socks
make build
./bin/gohpts
- Esegui in docker: ```shell
docker run -it --privileged --network host -v "$PWD/gohpts.yaml:/config.yaml" shadowypycoder/gohpts:latest -f config.yaml
Utilizzo
[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