Voltar às atualizações
New releaseSep 18, 2026

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.

Compartilhar

GoHPTS - Proxy transparente HTTP(S) e TCP/UDP para proxy SOCKS4/SOCKS5 (cadeia) escrito em Go

License: GPL v3 Go Reference GitHub go.mod Go version AUR Version AUR Last Modified AUR Maintainer Docker Pulls GitHub Release GitHub Downloads (all assets, all releases) GitHub Downloads (all assets, latest release)

GoHPTS - Colors example

Índice

Introdução

[Voltar]

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

[Voltar]

  • 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.

Instalação

[Voltar]

  • 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

Categorias