
Go load and stress testing tool with L7 HTTP and L4 raw TCP/UDP modes, multi-threaded workers, live rate graph, and a Windows GUI plus cross-platform CLI.
Load tester. Rust, full screen terminal app. Green on black, boot sequence, packet graph, and a menu for every function the old go build had.

Rust 1.75 or newer. No cgo, no other tools.
cargo build --release
Binary lands in target/release/ddossnake.exe, or target/release/ddossnake
elsewhere.
On windows without the msvc linker, use the gnu toolchain. Any recent msys2 install has mingw-w64:
rustup toolchain install stable-x86_64-pc-windows-gnu
rustup target add x86_64-pc-windows-gnu --toolchain stable-x86_64-pc-windows-gnu
# with C:\msys64\mingw64\bin on PATH
cargo +stable-x86_64-pc-windows-gnu build --release
ddossnake # terminal ui
ddossnake --tui # same, explicit
Headless, same flags as the go cli:
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]
-proxies proxy folder (with -source proxies) [proxies]
-fast keep-alive, no delay [true]
-blend vary request shape and pace [true]
-discord-token / -guild / -channel voice lane resolve
-list list worker sources and exit
-version print version
Six vectors down the left: run, proxies, sources, voice, log, about.
tab / shift-tab cycle vectors
1 ... 6 jump straight to a vector
up down / j k move selection
left right adjust a value or choice (shift = x10 step)
enter type a fresh value / fire an action
ctrl+v paste into the focused field
space toggle or cycle
F5 / r engage
F9 / s halt
esc halt, then quit when idle
q quit
pgup / pgdn scroll the log
The run tab has target, mode, proto, threads, duration, request cap, fast mode,
blend, worker source and the engage button. Paste a url with ctrl+v or the
terminal's own paste, it goes straight into the field. Telemetry sits on the
right: sent, errors, packets, rate, peak, elapsed, a sparkline of packets per
second and a gauge for the run clock.
Proxies tab: folder path, load it, scrape and check the free lists (live counters, savable working set), stop mid check keeping what passed, clear.
Sources tab: pick a worker source, see its type, node count, endpoint and key
env. reload re-reads nodes.json from the working directory or from next to
the binary.
Voice tab: token, guild id, channel id, optional proxy. Resolve joins the voice
state just long enough to catch VOICE_SERVER_UPDATE. push relay to run then
sets the target to the media relay with l4/udp.
Log tab: the full message stream with levels.
| source | what it is |
|---|---|
local | this machine's sockets, the default |
proxies | your own proxy lists |
scrape | scrapes free lists, checks them, runs the working set |
redirects | built-in open redirect relays, hops come from their ips |
ufonet | bridge to a local UFONet clone, if you have one |
vps-pool | your own nodes running an agent |
stress-api | a paid testing api you hold a key for |
One proxy per line. Every file in the folder gets read.
http://1.2.3.4:8080
socks5://5.6.7.8:1080
9.9.9.9:3128 (http assumed)
user:[email protected]:3128
# comment
Workers spread across the list, one connection pool per proxy. Only http goes through proxies. An l4 job falls back to local and says so.
Pulls the monosans and proxifly lists, dials every candidate with a short
timeout first (most entries are dead hosts), then does a real request through
the survivors. http first, socks5 second, since the lists mistag constantly.
The working set goes to scraped.txt in the proxy folder, fastest first.
Blend is on by default. Every request gets its own query string, user agent,
language and referer rotate, workers pace with a small random gap, and the ramp
spreads thread creation over about 3 seconds instead of opening with a spike. It
costs throughput. -blend=false when you want the raw number.
l4 needs a port. It will not guess 80.
The redirects lane paces wider than the http lane, relays rate limit hardest.
Threads are real threads. The box you run it from is the limit first.
src/engine/ stats, target parsing, l7/l4 load, proxies, scrape,
redirects, sources, ufonet bridge, discord voice resolve
src/ui/ app state, rendering, boot animation, theme
src/cli.rs headless flags
cargo test
MIT, see LICENSE.