Ir para o conteúdo
GitHub

v0.1.0 · Licença MIT

Veja cada requisiçãona sua própria máquina

O Reqeek executa um proxy HTTP/HTTPS localmente e registra tudo o que passa por ele — método, status, tempo, tempo até o primeiro byte, corpo completo. Sem extensão de kernel, sem mexer no roteador, e o seu tráfego nunca sai da máquina.

Disponível para macOS e Windows

Buscar host / caminho / método / status
Certificado CA
NomeStatusTempo
GET/200312 ms
GET/assets/github-css-8f2a1c.css20088 ms
GET/manifest.json20019 ms
GET/favicon.svg20024 ms
GET/assets/github-js-4d9e77.js200165 ms
GET/assets/chunk-vendor-1b83.js20096 ms
GET/images/modules/octocat.png200143 ms
GET/assets/mona-sans-latin.woff220061 ms
GET/_graphql/GetHomepageData200208 ms
POST/_graphql/CountRepos200331 ms
Capturando22 / 40 requisições

Clique em um grupo de hosts para expandir as requisições, ou troque as abas de tipo acima para filtrar a lista.

Tudo o que vale guardar

Do HTTP em texto puro ao HTTPS descriptografado, dos cabeçalhos da requisição aos corpos das respostas — o Reqeek mostra a forma completa de uma requisição.

  • Captura HTTP

    Encaminha requisições HTTP em texto puro e registra método, URL, código de status, tempo, tempo até o primeiro byte e bytes transferidos nos dois sentidos.

  • Descriptografia HTTPS

    Emite um certificado de site por requisição CONNECT sob demanda, para você ler cabeçalhos de requisição, cabeçalhos de resposta e corpos completos. Hosts que falham no handshake passam a usar um túnel transparente.

  • WebSocket

    Lida com ws em texto puro e wss descriptografado. Depois que o upgrade tem sucesso, os bytes são encaminhados crus e o tráfego é contado nos dois sentidos.

  • Detalhes da requisição

    Cinco painéis: Headers, Payload, Preview, Response e Timing. JSON e XML aparecem como árvores recolhíveis; imagens e HTML têm pré-visualização no próprio lugar.

  • Atribuição por aplicativo

    Descobre qual aplicativo local fez cada requisição a partir da porta de origem do cliente. A barra lateral soma as requisições por aplicativo — clique em um para ver só o tráfego dele.

  • Filtros e busca

    Filtre por tipo de recurso ou palavra-chave, com inverter busca, só erros e ocultar túneis. A lista agrupa por host e todas as colunas podem ser ordenadas.

  • Gerenciamento do proxy do sistema

    Define o proxy do sistema quando a captura começa e o restaura quando você para ou sai. A configuração anterior é salva em disco antes, então uma falha ao reservar a porta nunca altera as suas configurações de rede.

  • Gerenciamento de certificados

    Gere a CA raiz, instale e confie nela, consulte o estado de confiança e remova — tudo dentro do aplicativo, sem precisar procurar no Keychain Access ou no certmgr.

Como funciona

Sem extensão de kernel, sem driver de rede, sem tráfego saindo da sua máquina. O Reqeek usa a abordagem mais simples que existe: um proxy rodando localmente.

  1. 1

    Confirme que o certificado raiz é confiável

    Quando você clica em Iniciar captura, o Reqeek primeiro verifica se a CA raiz é confiável. Se não for, a captura é recusada e a interface fica na tela de configuração do certificado — melhor avisar logo de início do que deixar você olhando para uma janela que não captura nada.

  2. 2

    Suba o proxy e depois assuma o proxy do sistema

    O proxy sobe em 127.0.0.1. As configurações de proxy do sistema só são alteradas depois que a porta é reservada com sucesso, então um conflito de porta não pode cortar a sua rede.

  3. 3

    Encaminhe e registre

    HTTP em texto puro é encaminhado e registrado diretamente. HTTPS chega via CONNECT e, por padrão, só é descriptografado na porta 443. Hosts de push da Apple e de OCSP já vêm excluídos e são registrados como túneis — apenas host, bytes e duração.

  4. 4

    Restaure ao parar

    Parar a captura restaura o proxy do sistema antes de desligar o proxy. Se o aplicativo sair de forma inesperada, a próxima inicialização restaura o proxy do sistema a partir do snapshot salvo antes.

Alguns padrões que você pode querer saber

Todos os números aqui vêm do código-fonte, não são estimativas.

Endereço de escuta
127.0.0.1
Somente conexões locais — nada mais na sua rede consegue alcançá-lo
Porta do proxy
8989
Configurável nas configurações, de 1024 a 65535
Descriptografado por padrão
Porta 443
Todo o resto passa como túnel
Hosts excluídos
push.apple.com e outros
Inclui push.services.apple.com e todos os hosts OCSP, nunca descriptografados
Corpo retido por item
5 MiB
Acima disso, só a contagem de bytes é mantida
Orçamento de memória dos detalhes
64 MiB
Descartado por LRU em registros inteiros — o conteúdo capturado nunca é gravado em disco
Validade da CA raiz
10 anos
Os certificados de site duram 199 dias e são cacheados para 512 hosts

Suporte a plataformas

macOS e Windows são totalmente suportados. O Linux ainda não consegue capturar.

CapacidademacOSWindowsLinux
Definir o proxy do sistema automaticamenteDisponívelDisponívelIndisponível
Instalar e confiar no certificado raizDisponívelDisponívelIndisponível
Iniciar capturaDisponívelDisponívelIndisponível
Filtrar por aplicativo de origemDisponívelDisponívelIndisponível

O Linux tem apenas configuração de empacotamento — não há drivers de proxy do sistema nem de confiança em certificados. O estado de confiança é sempre reportado como não suportado, e iniciar a captura exige um certificado confiável, então a inicialização é recusada. A CI também não compila instaladores para Linux.

Os drivers de proxy do sistema e de confiança em certificados do Windows seguem a documentação pública e ainda não foram totalmente verificados em hardware real. Problemas são bem-vindos.

Atalhos de teclado

Inicie, limpe e pesquise sem tirar as mãos do teclado.

  • Iniciar / parar capturaCmd/Ctrl+R
  • Limpar registrosCmd/Ctrl+K
  • Buscar requisiçõesCmd/Ctrl+F
  • Abrir configuraçõesCmd/Ctrl+,
  • Navegar pela lista de requisições↑+↓

Segurança e privacidade

Uma ferramenta de captura consegue ver todo o seu tráfego, então é melhor que ela mereça confiança.

  • Somente conexões locais

    O proxy se vincula a 127.0.0.1 e não aceita nada da sua rede local nem da internet.

  • A chave privada fica aqui

    O certificado e a chave da CA raiz ficam no diretório de dados do aplicativo, com 0700 no diretório e 0600 no arquivo da chave. Quem tiver essa chave pode forjar qualquer site HTTPS — nunca compartilhe o ca.key.

  • Nada é gravado em disco

    Os detalhes das requisições ficam só na memória, descartados por LRU dentro de um orçamento de 64 MiB. Sair do aplicativo não deixa nada para trás.

  • O aplicativo em si não envia dados

    O Reqeek não manda dados para lugar nenhum. Sem conta, sem analytics, sem telemetria.

  • Uma instância por vez

    Um bloqueio de instância única impede que duas cópias restaurem as configurações de proxy do sistema uma da outra.

Baixar o Reqeek

Versão atual v0.1.0. Escolha o instalador que combina com a sua máquina.

Os downloads apontam para o GitHub Releases. Se estiverem lentos na sua região, existe um relay para a China continental.

Ver todas as versões

O que o seu sistema vai dizer na primeira vez

macOS
A versão para macOS tem assinatura ad-hoc e não é notarizada pela Apple. O Gatekeeper vai bloquear a primeira abertura — escolha Abrir Mesmo Assim em Ajustes do Sistema → Privacidade e Segurança, ou clique com o botão direito no app no Finder e escolha Abrir.
Windows
A versão para Windows não tem certificado de assinatura de código, então o SmartScreen pode avisar que o Windows protegeu o seu PC. Clique em Mais informações e depois em Executar assim mesmo.

Perguntas frequentes

Por que confiar em um certificado raiz é obrigatório?

Descriptografar HTTPS é, por definição, um man-in-the-middle. O Reqeek gera uma CA raiz na sua máquina e a usa para emitir um certificado temporário para cada host que você acessa. Os navegadores só aceitam esses certificados se o sistema confiar nessa CA raiz. Sem isso, o tráfego HTTPS só pode ser registrado como túnel — host, bytes e duração, sem conteúdo.

Alguns aplicativos não podem ser descriptografados. Isso é um defeito?

Não. Aplicativos que usam certificate pinning recusam a descriptografia de propósito — é o modelo de segurança deles funcionando como deveria. Quando o handshake falha, o Reqeek adiciona aquele host à lista de exclusão e para de tentar, registrando-o como túnel.

O macOS diz que o desenvolvedor não pode ser verificado, ou que o aplicativo está danificado.

A versão atual tem assinatura ad-hoc e não é notarizada pela Apple. Na primeira abertura, encontre o aviso de bloqueio em Ajustes do Sistema → Privacidade e Segurança e escolha Abrir Mesmo Assim. Como alternativa, clique com o botão direito no app no Finder, escolha Abrir e confirme na caixa de diálogo.

Por que o Linux não consegue capturar?

O Linux tem apenas configuração de empacotamento do electron-builder — não há drivers para o proxy do sistema nem para a confiança em certificados. O estado de confiança é sempre reportado como não suportado, e iniciar a captura exige um certificado confiável, então a inicialização é recusada de imediato. A CI também não compila nem envia instaladores para Linux.

A porta 8989 já está em uso. E agora?

Mude a porta nas configurações — qualquer valor de 1024 a 65535. O Reqeek confirma que a nova porta pode ser reservada antes de mexer nas configurações de proxy do sistema, então um conflito nunca quebra a sua rede.

O proxy do sistema vai ficar para trás depois que eu sair?

Parar a captura ou sair normalmente o restaura automaticamente. Se o processo for encerrado à força, a próxima inicialização restaura o proxy do sistema a partir do snapshot salvo antes. Você também pode desligá-lo manualmente em Ajustes do Sistema → Rede → Proxies.