Un proxy di intercettazione HTTP veloce, guidato da tastiera, e un toolkit di hacking e pentesting per il terminale.
Hack dal terminale.
Installazione • Utilizzo • Documentazione • Contribuire
gori (고리 — in coreano anello, collegamento, ciclo) si colloca nel ciclo tra il tuo client e il suo target,
catturando ogni richiesta e risposta come un flow che puoi riprodurre, fuzzare e scansionare su HTTP/1.1,
HTTP/2, WebSocket, gRPC e SSE, e intercettare in volo su HTTP/1.1 e HTTP/2. Le azioni di assessment principali
che attraversano le superfici usano gli stessi motori, e quei flussi di lavoro sono anche
disponibili tramite gori run e MCP, così script e agenti AI possono guidare lo stesso engagement.
La matrice delle capacità indica esplicitamente i limiti
di protocollo e superficie.
proto:wsfetch, Go, httpie o un PoC CSRFCtrl-P) e menu contestuale space (Space) raggiungono ogni azionegori run espone i flussi di lavoro core di progetto e testing per un uso non interattivogori mcp) espone quei flussi di lavoro agli agenti AI (non avvia un proxy di cattura)curl -fsSL https://gori.hahwul.com/install.sh | bash
Poi aggiorna in seguito con gori update (self-update per installazioni binarie; guida del package manager per Homebrew / Snap / AUR).
brew tap hahwul/gori
brew install gori
Il repo è un flake, quindi funziona senza essere installato:
nix run github:hahwul/gori
nix profile install github:hahwul/gori # oppure tienilo
Richiede Crystal >= 1.21.0 e pkg-config.
git clone https://github.com/hahwul/gori.git
cd gori
shards build --release
Il binario viene scritto in bin/gori.
Per le librerie di sistema (Brotli / Zstd), build offline e altre opzioni, vedi la guida all'installazione.
gori esegue un motore e un progetto dietro tre punti di ingresso. Guidalo tu stesso, affidalo a un agente AI, o scriptalo, e scegli quello che si adatta a chi ha il controllo.
gori (TUI)Avvia il proxy e apri l'interfaccia terminale interattiva. Nessun sottocomando necessario:
gori
Il proxy ascolta su 127.0.0.1:8070 per impostazione predefinita, e un breve wizard al primo avvio sceglie il
bind e il tema global default (i progetti possono fissare i propri in seguito). Per intercettare HTTPS, fida la
root CA di gori. Il percorso più rapido è Open browser nella palette (Ctrl-P), che avvia un
browser già fidato e proxato. Il traffico catturato finisce in History; premi Ctrl-P per la
command palette o Space per le azioni contestuali.
gori --listen 0.0.0.0 --port 8080 # bind globale solo per questa esecuzione (non persistito)
gori mcp (server MCP)gori mcp è un server Model Context Protocol. Un client AI
lo avvia su stdio, legge il tuo traffico e guida gli stessi strumenti che usi tu. Lascia che gori scriva la
config per il tuo agente, poi riavvia il client:
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 necessita di un adattatore MCP, come pi-mcp-adapter
(pi install npm:pi-mcp-adapter). L'installer rispetta PI_CODING_AGENT_DIR quando impostato.
Aggiungi --read-only per affidare un progetto a un agente non fidato (solo strumenti di lettura, nessuna richiesta live). La
guida alla configurazione AI illustra come connettere un agente e
inviare la tua prima richiesta.
gori run (CLI headless)gori run espone gli stessi motori core di progetto e testing senza l'interfaccia interattiva. È
pensato per lo scripting e la CI, ma funziona altrettanto bene a mano o dalla shell di un agente:
gori run history --format json # dump dei flow catturati come JSON
gori run sitemap # endpoint visti finora
gori run --help # ogni sottocomando
Tutti e tre i punti di ingresso condividono lo stesso database di progetto. Vedi la documentazione per la guida completa, o apri la scheda Help nell'app.
shards build # binario release in bin/gori
shards run gori # esegui senza installare
Se il linking fallisce con simboli BrotliDecoder* non definiti, manca libbrotlidec o
pkg-config non riesce a trovarlo — vedi la
guida all'installazione per le librerie di sistema e la
build offline -Dwithout_native_codecs.
I contributi sono benvenuti — vedi CONTRIBUTING.md per iniziare.
Non ogni tipo di aiuto arriva come commit, quindi la riga sotto ogni nome dice di cosa si è trattato: le segnalazioni
di bug e le riproduzioni lassù hanno trovato cose che gori non avrebbe trovato da solo. Per accreditare
qualcuno, modifica .github/contributor-mural.yml.
gori (고리) è la parola coreana per anello, collegamento o ciclo — esattamente dove si colloca lo strumento: nel ciclo tra il tuo client e il suo target, catturando e rimodellando ogni richiesta mentre passa. Sit in the loop.