Proxy CLI MITM que converte SOCKS4/SOCKS5 em proxy HTTP/HTTPS/HTTP2/HTTP3 com redirecionamento transparente de TCP/UDP, spoofing ARP/NDP/DNS, sniffing de tráfego e captura de pacotes. Puramente em Go, sem libpcap.

A ferramenta CLI GoHPTS é uma ponte entre clientes HTTP e um servidor proxy SOCKS5 ou múltiplos servidores (cadeia). Escuta localmente como um proxy HTTP, aceita pedidos HTTP
ou HTTPS padrão (via CONNECT) e encaminha a ligação através de um proxy SOCKS5. Inspirado em http-proxy-to-socks e Proxychains
Caso de uso possível: precisa de se ligar a uma API externa via Postman, mas essa API só está disponível a partir de algum servidor remoto. Os seguintes comandos irão ajudá-lo a realizar essa tarefa:
Criar um servidor proxy SOCKS5 via ssh:```shell
ssh -D 1080 -Nf
Crie uma conexão HTTP-para-SOCKS5 com `gohpts````shell
gohpts -s :1080 -l :8080
Especifique o servidor http na configuração de proxy do Postman
Funcionalidade de Cadeia de Proxy
Suporta cadeias strict, dynamic, random, round_robin de proxy SOCKS4/SOCKS5
Proxy transparente
Suporta modos redirect (SO_ORIGINAL_DST) e tproxy (IP_TRANSPARENT)
Suporte a IPv4 e IPv6
Opera em modos IPv4-only, IPv6-only ou dual stack
Proxy transparente TCP e UDP
tproxy e tlocal (IP_TRANSPARENT) lidam com tráfego TCP e UDP
Sniffing de tráfego
O proxy é capaz de analisar cabeçalhos HTTP, handshake TLS, mensagens DNS e mais
ARP spoofing
Faça proxy de sub-redes inteiras com a abordagem de ARP spoofing
NDP spoofing
Faça proxy de conexões IPv6 usando Router/Neighbor Advertisement e injeções RDNSS.
DNS spoofing
Redirecione clientes para domínios arbitrários usando manipulação de registros DNS
Captura de Pacotes
Capture tráfego em arquivos txt/pcap/pcapng e analise com o Wireshark
Proteção contra Vazamento de DNS
A resolução DNS ocorre no lado do servidor SOCKS5.
Suporte ao Método CONNECT
Suporta tunelamento HTTP CONNECT, permitindo HTTPS e outros protocolos baseados em TCP.
Suporte a HTTP2/HTTP3
Suporta transporte moderno HTTP/2 e HTTP/3, permitindo conexões multiplexadas eficientes sobre TLS 1.3
Suporte a Network Namespaces
Suporta network namespaces personalizados do Linux para sockets de escuta e conexões de saída
Suporte a Trailer Headers
Lida com cabeçalhos trailer HTTP
Chunked Transfer Encoding
Lida com respostas chunked e streaming
Suporte a Autenticação SOCKS5
Suporta autenticação por nome de usuário/senha para proxies SOCKS5.
Suporte a Autenticação HTTP
Suporta autenticação por nome de usuário/senha para servidor proxy HTTP.
Leve e Rápido
Projetado com sobrecarga mínima e manipulação eficiente de requisições.
Multiplataforma
Compatível com todos os principais sistemas operacionais.
Ou usando paru: ```shell
paru -S gohpts
- Baixe o binário para a sua plataforma na página de [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 (requer Go 1.26 ou posterior): ```shell
CGO_ENABLED=0 go install -ldflags "-s -w" -trimpath github.com/shadowy-pycoder/go-http-proxy-to-socks/cmd/gohpts@latest
Isso instalará o binário gohpts no seu diretório $GOPATH/bin.
[Voltar]```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