
go-http-proxy-to-socks v1.15.6
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.
GoHPTS - Proxy transparente HTTP(S) e TCP/UDP para proxy SOCKS4/SOCKS5 (cadeia) escrito em Go

Índice
- Introdução
- Funcionalidades
- Instalação
- Utilização
- Proxy transparente
- Sniffing de tráfego
- Suporte HTTP2 e HTTP3
- Suporte IPv4 e IPv6
- ARP spoofing
- NDP spoofing
- DNS spoofing
- Captura de pacotes
- Network Namespaces
- Mixed Server
- Ligações
- Contribuir
- Licença
Introdução
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
Recursos
-
Funcionalidade de Cadeia de Proxy
Suporta cadeiasstrict,dynamic,random,round_robinde proxy SOCKS4/SOCKS5 -
Proxy transparente
Suporta modosredirect(SO_ORIGINAL_DST) etproxy(IP_TRANSPARENT) -
Suporte a IPv4 e IPv6
Opera em modosIPv4-only,IPv6-onlyoudual stack -
Proxy transparente TCP e UDP
tproxyetlocal(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.
Instalação
- Arch Linux/CachyOS/EndeavourOS ```shell
yay -S gohpts
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
- Instale usando o comando
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.
- Compilar a partir do código-fonte: ```shell
git clone https://github.com/shadowy-pycoder/go-http-proxy-to-socks.git
cd go-http-proxy-to-socks
make build
./bin/gohpts
- Executar no docker: ```shell
docker run -it --privileged --network host -v "$PWD/gohpts.yaml:/config.yaml" shadowypycoder/gohpts:latest -f config.yaml
Uso
[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