
Ferramenta de teste de carga e stress em Go com modos L7 HTTP e L4 TCP/UDP bruto, workers multi-thread, gráfico de taxa em tempo real e uma GUI para Windows além de CLI multiplataforma.
Ferramenta de teste de carga escrita em go. Aponte-a para um alvo, escolha com que força atingi-lo, observe um gráfico ao vivo. Ela roda a partir de uma janela no Windows e do terminal em todos os outros lugares.
Apenas alvos autorizados. Dispare-a contra máquinas que você possui ou tem permissão por escrito para testar. Carga não solicitada contra o serviço de outra pessoa é crime na maioria dos lugares e não é para isso que isto serve.
Pegue um binário na página de releases:
| plataforma | arquivo |
|---|---|
| Windows | ddossnake-windows-amd64.exe — a janela |
| Linux | ddossnake-linux-amd64 |
| macOS (Intel / Apple silicon) | ddossnake-darwin-amd64 / ddossnake-darwin-arm64 |
| FreeBSD / OpenBSD | ddossnake-freebsd-amd64 / ddossnake-openbsd-amd64 |
A do Windows é uma janela nativa, sem console. As demais são a CLI — mesmo motor, sem toolkit de GUI.
No linux/mac/bsd torne-a executável primeiro:
chmod +x ddossnake-linux-amd64
./ddossnake-linux-amd64 -target http://10.0.0.5 -threads 400 -duration 30

TARGET url, ip, or ip:port e.g. 10.0.0.5:8080
REQUESTS cap for the run
MODE dos (L7 http) or ddos (multi source)
THREADS workers
DURATION seconds
FAST MODE keep-alive, no delay
LAYER 4 raw tcp/udp instead of http (ddos mode)
Start executa, Stop mata, o gráfico acompanha pacotes por segundo.
ddossnake -target <url|ip|ip:port> [flags]
-target target to hit
-mode l7 (http) or l4 (raw tcp/udp) [l7]
-proto l4 protocol: tcp or udp [tcp]
-threads concurrent workers [400]
-duration seconds to run [30]
-requests request cap [1000000]
-source worker source, see -list [local]
-fast keep-alive, no delay [true]
-list list worker sources and exit
-version print version
exemplos:
# http load at a box you own
ddossnake -target http://10.0.0.5 -threads 400 -duration 30
# raw udp at a game/voice port
ddossnake -target 10.0.0.5:3478 -mode l4 -proto udp -threads 200
# what pools are available
ddossnake -list
ctrl-c a interrompe. uma linha em execução mostra enviados / erros / pacotes / taxa.
alvos podem ser uma url (http://host:port), um ip puro, ou ip:port. l4 precisa que a porta seja explicitada — ele não vai adivinhar 80 para você.
| fonte | o que é |
|---|---|
local | os sockets desta máquina. o padrão. |
redirects | relays de open-redirect embutidos, para que os saltos venham de outros IPs |
ufonet | ponte para um clone local do UFONet, se você tiver um |
vps-pool | seus próprios nós rodando um agente (preencha a lista de nós) |
stress-api | uma API de teste paga para a qual você tem uma chave |
local e redirects não precisam de mais nada. As outras são para quando você tem sua própria infraestrutura ou uma conta em algum lugar.
Precisa de go 1.21+. Sem cgo em lugar nenhum.
git clone https://gitlab.com/vqkro/ddossnake
cd ddossnake
# cli - any platform
go build -o ddossnake ./cmd/ddossnake
# the window - windows only, walk is a native win32 toolkit
go build -o ddossnake.exe ./cmd/ddossnake-gui
Compilar a cli de forma cruzada é go puro, sem malabarismo com toolchain:
GOOS=linux GOARCH=amd64 go build -o ddossnake-linux-amd64 ./cmd/ddossnake
GOOS=freebsd GOARCH=amd64 go build -o ddossnake-freebsd-amd64 ./cmd/ddossnake
GOOS=darwin GOARCH=arm64 go build -o ddossnake-darwin-arm64 ./cmd/ddossnake
A janela é exclusiva do Windows por natureza — ela desenha com o toolkit walk. Em todos os outros lugares a CLI é a ferramenta, e é o mesmo motor por baixo.
cmd/ddossnake cli entry
cmd/ddossnake-gui windows window
internal/ddos the engine both of them use
go test ./...
MIT, veja LICENSE.