Hash cracker distribuído com dashboard web em tempo real.
Escrito em Go puro — roda em qualquer máquina, incluindo TV Box (ARM).
- Dashboard Web — interface dark mode com progresso em tempo real via SSE
- Gerador de Hash — gera MD5, SHA1 e SHA256 diretamente no browser
- Dictionary Attack — lê wordlist em streaming (baixo uso de RAM)
- Brute Force Attack — tenta combinações de 1 até N caracteres com charset configurável
- Modo Auto — dictionary primeiro, brute force como fallback
- Modo Distribuído — master/worker via TCP para usar múltiplas máquinas em paralelo
- Cross-platform — compila para ARM32, ARM64, x86, Windows, macOS
# Go 1.22+
go versiongit clone https://github.com/JonathanMar/cipher-scope.git
cd cipher-scope
# Rodar localmente (abre o browser automaticamente)
go run .
# Compilar binário
go build -o cipher-scope .
./cipher-scopeO dashboard abre em http://localhost:8080.
-addr string Endereço de escuta (default ":8080")
-no-browser Não abrir o browser automaticamente
# Na TV Box ou servidor:
./cipher-scope -addr 0.0.0.0:8080 -no-browser
# No celular ou PC na mesma rede, abra:
# http://<IP-DA-TVBOX>:8080# ARM64 (TV Boxes modernas: Amlogic S905X3+, Rockchip RK3318...)
GOOS=linux GOARCH=arm64 go build -o cipher-scope-arm64 .
# ARM32 (TV Boxes antigas 32-bit)
GOOS=linux GOARCH=arm GOARM=7 go build -o cipher-scope-arm32 .
# Copiar para a TV Box via SCP
scp cipher-scope-arm64 user@192.168.x.x:/home/user/| Painel | Funcionalidade |
|---|---|
| Gerador de Hash | Digite uma senha → copia o hash com 1 clique |
| Configuração | Hash alvo, tipo, modo de ataque, workers, tamanho máximo, charset |
| Anel de Progresso | Progresso visual em tempo real (SVG animado) |
| Stats | H/s, ETA, tempo decorrido, tentativas |
| Resultado | Banner de sucesso/falha com a senha encontrada |
| Log | Histórico de eventos com timestamp |
| Método | Endpoint | Descrição |
|---|---|---|
POST |
/api/hash |
Gera hash de uma senha |
POST |
/api/crack |
Inicia um ataque |
POST |
/api/stop |
Para o ataque em andamento |
GET |
/api/progress |
SSE — progresso em tempo real |
curl -X POST http://localhost:8080/api/hash \
-H 'Content-Type: application/json' \
-d '{"password":"hello","type":"md5"}'
# {"hash":"5d41402abc4b2a76b9719d911017c592"}curl -X POST http://localhost:8080/api/crack \
-H 'Content-Type: application/json' \
-d '{
"hash": "5d41402abc4b2a76b9719d911017c592",
"hashType": "md5",
"mode": "auto",
"workers": 4,
"maxLength": 5,
"charset": "abcdefghijklmnopqrstuvwxyz0123456789",
"wordlist": "wordlist.txt"
}'Para distribuir o brute force entre várias máquinas na rede:
# Máquina principal (master) — aguarda workers e distribui tarefas
go run ./master -addr :9000
# Cada TV Box / máquina worker
go run ./worker -master 192.168.0.10:9000 -workers 4O master divide o espaço de combinações entre os workers automaticamente.
cipher-scope/
├── main.go # Servidor HTTP + embed da UI
├── ui/ # Dashboard (HTML/CSS/JS) — embutido no binário
├── server/ # Handlers HTTP, SSE e estado do ataque
├── attacks/ # Dictionary e Brute Force
├── core/ # Engine de workers, validação, tipos
├── crypto/ # MD5, SHA1, SHA256
├── master/ # Nó master do modo distribuído
├── worker/ # Nó worker do modo distribuído
└── utils/ # Logger
| Tipo | Tamanho |
|---|---|
| MD5 | 32 chars |
| SHA1 | 40 chars |
| SHA256 | 64 chars |
MIT © JonathanMar