Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
goproxy — Uma biblioteca de proxy HTTP/HTTPS personalizável para Go, com suporte a encaminhamento regular, tunelamento CONNECT, interceptação TLS MITM e modificação programática de requisições/respostas. | Kitploit
Ferramentas/GitHubGitHub/elazarl/goproxy
Utilitários de Propósito GeralProxies Web e InterceptaçãoSegurança WebSegurança de RedeTop em Proxies Web e Interceptação nº5
GitHubelazarl/goproxy

goproxy

Uma biblioteca de proxy HTTP/HTTPS personalizável para Go, com suporte a encaminhamento regular, tunelamento CONNECT, interceptação TLS MITM e modificação programática de requisições/respostas.

Ver Repositório
6.8k1.2k93há 6 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

GoProxy

Status GoDoc Go Report BSD-3 License Pull Requests Awesome Go

GoProxy é uma biblioteca para criar um servidor proxy HTTP/HTTPS personalizado usando Go (também conhecido como Golang), com várias configurações disponíveis. O objetivo deste projeto é oferecer um servidor proxy otimizado, utilizável com uma quantidade razoável de tráfego, mas também personalizável e programável.

O proxy em si é simplesmente um handler net/http, então você pode adicionar vários middlewares (panic recover, logging, compressão, etc.) sobre ele. Ele pode ser facilmente integrado com qualquer outra biblioteca de rede HTTP.

Para usar o goproxy, você deve configurar seu navegador (ou qualquer outro cliente) para usar o goproxy como um proxy HTTP. Veja como fazer isso no Chrome e no Firefox. Se você decidir começar com o exemplo base, a URL que você deve usar como proxy é localhost:8080, que é a padrão no nosso exemplo. Você também precisa confiar no certificado CA do proxy, para evitar qualquer problema de certificado nos clientes.

✈️ Grupo no Telegram

🎁 Torne-se um Patrocinador

Funcionalidades

  • Executar certas ações apenas em hosts específicos, com uma única comparação de igualdade ou com avaliação de regex
  • Manipular requests e responses antes de enviá-los ao navegador
  • Usar um http.Transport personalizado para realizar requisições ao servidor de destino
  • Você pode especificar um cache de certificados MITM, para reutilizá-los posteriormente em outras requisições ao mesmo host, economizando CPU. Não habilitado por padrão, mas você deve usá-lo em produção!
  • Redirecionar o tráfego HTTP normal para um handler personalizado, quando o destino for um caminho relativo (ex.: /ping)
  • Você pode escolher o logger a ser usado, implementando a interface Logger
  • Você pode desabilitar a canonicalização dos cabeçalhos das requisições HTTP, definindo PreventCanonicalization como true

Modos de proxy

  1. Proxy HTTP regular
  2. HTTPS via CONNECT
  3. Servidor proxy HTTPS MITM ("Man in the Middle"), no qual o servidor gera certificados TLS para analisar os dados de requisição/resposta e executar ações sobre eles
  4. Conexão de proxy "sequestrada" (hijacked), onde o handler configurado pode acessar os dados brutos de net.Conn

Patrocinadores

Sua empresa usa o GoProxy? Ajude-nos a manter o projeto ativo e saudável! Apoiar o GoProxy nos permite dedicar mais tempo a correções de bugs e novos recursos. Em troca, se você escolher um plano Gold Supporter ou Enterprise, exibiremos orgulhosamente o logotipo da sua empresa aqui.

Torne-se um Patrocinador

Gold Supporters Enterprise Supporters

Mantenedores

  • Elazar Leibovich: Criador do projeto, Engenheiro de Software
  • Erik Pellizzon: Mantenedor, Freelancer (aberto a colaborações!)

Se você precisar integrar o GoProxy ao seu projeto, ou precisar de alguns recursos personalizados para manter no seu fork, você pode entrar em contato com Erik (o mantenedor atual) por e-mail, e vocês podem discutir juntos como ele pode ajudar você como consultor independente remunerado.

Contribuições

Se você tiver algum problema, sugestão, ou se encontrar um bug, sinta-se à vontade para entrar em contato abrindo uma issue no GitHub. Este é um projeto open source gerenciado por voluntários, e ficamos felizes em discutir qualquer coisa que possa melhorá-lo.

Certifique-se de explicar tudo, incluindo o motivo por trás da issue e o que você deseja alterar, para tornar o problema mais fácil de entender. Você também pode abrir diretamente um Pull Request, se for uma pequena alteração de código, mas você precisa explicar tudo na descrição. Se você abrir um pull request chamado refactoring com 5.000 linhas alteradas, não vamos mesclá-lo... :D

O código deste projeto é distribuído sob a licença BSD 3-Clause, tornando-o útil também para usos comerciais.

Envie seu estudo de caso

Então, você introduziu e integrou o GoProxy em um dos seus projetos pessoais ou em um projeto dentro da empresa em que você trabalha.

Ficamos felizes em conhecer novas soluções criativas feitas com esta biblioteca, então sinta-se à vontade para entrar em contato com o mantenedor listado acima por e-mail, explicando por que você achou este projeto útil para suas necessidades.

Se você assinou um Acordo de Confidencialidade (Non Disclosure Agreement) com a empresa, você pode propor a eles que escrevam um post de blog no site oficial deles sobre este tópico, assim essa informação será pública por escolha deles, e você pode compartilhar o link do post do blog conosco :)

O objetivo dos estudos de caso é compartilhar com a comunidade por que todos os contribuidores deste projeto estão melhorando o mundo com a ajuda deles e o que as pessoas estão construindo usando-o.

Linter

O codebase usa uma verificação automática de lint no código do seu Pull Request. Antes de abri-lo, você deve verificar se suas alterações o respeitam, executando o linter na sua máquina local, para que você não tenha nenhuma surpresa.

Para instalar o linter:

go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

Isso criará um executável na sua pasta $GOPATH/bin ($GOPATH é uma variável de ambiente, geralmente seu valor é equivalente a ~/go, verifique o valor na sua máquina se você não tiver certeza sobre isso). Certifique-se de incluir a pasta bin no path do seu shell, para poder usar diretamente o comando golangci-lint run.

Um gostinho do GoProxy

Para ter um gostinho do goproxy, aqui está um proxy HTTP/HTTPS básico que apenas encaminha dados para o destino:

package main

import (
    "log"
    "net/http"

    "github.com/elazarl/goproxy"
)

func main() {
    proxy := goproxy.NewProxyHttpServer()
    proxy.Verbose = true
    log.Fatal(http.ListenAndServe(":8080", proxy))
}

Handler de requisições

Esta linha adicionará o cabeçalho X-GoProxy: yxorPoG-X a todas as requisições enviadas através do proxy, antes de enviá-las ao destino:

proxy.OnRequest().DoFunc(
    func(r *http.Request,ctx *goproxy.ProxyCtx)(*http.Request,*http.Response) {
        r.Header.Set("X-GoProxy","yxorPoG-X")
        return r,nil
    })

Quando a entrada de OnRequest() estiver vazia, a função especificada em DoFunc processará todas as requisições recebidas pelo proxy. Nesse caso, ela adicionará um cabeçalho à requisição e a retornará ao chamador. O proxy enviará a requisição modificada ao destino. Você também pode usar Do em vez de DoFunc, se você implementar a interface especificada no seu tipo.

Baixar ferramenta