Um proxy de interceptação HTTP rápido, controlado por teclado, e um kit de ferramentas de hacking e pentesting para o terminal.
Hack a partir do terminal.
Instalação • Uso • Documentação • Contribuição
gori (고리 — coreano para anel, ligação, loop) fica no loop entre o seu cliente e o seu alvo,
capturando cada requisição e resposta como um flow que você pode reproduzir, fuzzar e escanear em HTTP/1.1,
HTTP/2, WebSocket, gRPC e SSE, e interceptar em trânsito em HTTP/1.1 e HTTP/2. As ações centrais de avaliação
que cruzam superfícies usam os mesmos motores, e esses fluxos de trabalho também estão
disponíveis através de gori run e MCP, para que scripts e agentes de IA possam conduzir o mesmo engajamento.
A matriz de capacidades nomeia os limites de protocolo e
superfície explicitamente.
proto:wsfetch, Go, httpie ou um PoC de CSRFCtrl-P) e menu de espaço de contexto (Space) alcançam todas as açõesgori run expõe os fluxos de trabalho centrais de projeto e teste para uso não interativogori mcp) expõe esses fluxos de trabalho para agentes de IA (ele não inicia um proxy de captura)curl -fsSL https://gori.hahwul.com/install.sh | bash
Depois atualize com gori update (auto-atualização para instalações binárias; orientação de gerenciador de pacotes para Homebrew / Snap / AUR).
brew tap hahwul/gori
brew install gori
O repositório é um flake, então ele roda sem ser instalado:
nix run github:hahwul/gori
nix profile install github:hahwul/gori # ou mantenha-o
Requer Crystal >= 1.21.0 e pkg-config.
git clone https://github.com/hahwul/gori.git
cd gori
shards build --release
O binário é gerado em bin/gori.
Para bibliotecas de sistema (Brotli / Zstd), builds offline e outras opções, veja o Guia de Instalação.
gori roda um motor e um projeto por trás de três pontos de entrada. Conduza-o você mesmo, entregue-o a um agente de IA, ou scripte-o, e escolha o que se encaixa em quem está no controle.
gori (TUI)Inicie o proxy e abra a interface de terminal interativa. Nenhum subcomando necessário:
gori
O proxy escuta em 127.0.0.1:8070 por padrão, e um breve assistente de primeira execução escolhe o
padrão global de bind e tema (projetos podem fixar os seus próprios depois). Para interceptar HTTPS, confie na
CA raiz do gori. O caminho mais rápido é o Open browser da paleta (Ctrl-P), que inicia um
navegador já confiável e com proxy. O tráfego capturado chega em History; pressione Ctrl-P para a
paleta de comandos ou Space para ações de contexto.
gori --listen 0.0.0.0 --port 8080 # bind global apenas para esta execução (não persistido)
gori mcp (servidor MCP)gori mcp é um servidor Model Context Protocol. Um cliente de IA
o inicia via stdio, lê o seu tráfego e conduz as mesmas ferramentas que você. Deixe o gori escrever a
configuração para o seu agente, depois reinicie o cliente:
gori mcp --install-claude-code # Claude Code (~/.claude.json)
gori mcp --install-claude # Claude Desktop
gori mcp --install-codex # OpenAI Codex
gori mcp --install-agy # Antigravity CLI
gori mcp --install-grok # Grok
gori mcp --install-hermes # Hermes (~/.hermes/config.yaml)
gori mcp --install-pi # Pi (~/.pi/agent/mcp.json)
Pi precisa de um adaptador MCP, como pi-mcp-adapter
(pi install npm:pi-mcp-adapter). O instalador respeita PI_CODING_AGENT_DIR quando definido.
Adicione --read-only para entregar um projeto a um agente não confiável (apenas ferramentas de leitura, sem requisições ao vivo). O
Guia de Configuração de IA explica como conectar um agente e
executar sua primeira requisição.
gori run (CLI headless)gori run expõe os mesmos motores centrais de projeto e teste sem a UI interativa. Ele é
feito para scripting e CI, mas funciona igualmente bem manualmente ou a partir do shell de um agente:
gori run history --format json # despeja os flows capturados como JSON
gori run sitemap # endpoints vistos até agora
gori run --help # todos os subcomandos
Todos os três pontos de entrada compartilham o mesmo banco de dados de projeto. Veja a documentação para o guia completo, ou abra a aba Help no aplicativo.
shards build # binário de release em bin/gori
shards run gori # executa sem instalar
Se a linkagem falhar com símbolos BrotliDecoder* indefinidos, libbrotlidec está faltando ou
pkg-config não consegue encontrá-lo — veja o
Guia de Instalação para as bibliotecas de sistema e o
build offline com -Dwithout_native_codecs.
Contribuições são bem-vindas — veja CONTRIBUTING.md para começar.
Nem todo tipo de ajuda vira um commit, então a linha sob cada nome diz o que foi: os relatórios
de bugs e reproduções ali em cima encontraram coisas que o gori não teria encontrado sozinho. Para creditar
alguém, edite .github/contributor-mural.yml.
gori (고리) é a palavra coreana para anel, ligação ou loop — exatamente onde a ferramenta se posiciona: no loop entre o seu cliente e o seu alvo, capturando e remodelando cada requisição conforme ela passa. Sit in the loop.