
L7 HTTP 및 L4 원시 TCP/UDP 모드를 지원하고, 멀티스레드 워커, 실시간 속도 그래프, Windows GUI 및 크로스 플랫폼 CLI를 갖춘 Go 부하 및 스트레스 테스트 도구입니다.
부하 테스트 도구. Rust로 작성된 전체 화면 터미널 애플리케이션. 검은 배경에 초록색, 부팅 시퀀스, 패킷 그래프, 그리고 예전 go 빌드가 가졌던 모든 기능을 위한 메뉴를 제공한다.

Rust 1.75 이상. cgo 없음, 다른 도구도 필요 없음.
cargo build --release
바이너리는 target/release/ddossnake.exe에 생성되며, 다른 환경에서는 target/release/ddossnake에 생성됩니다.
msvc 링커가 없는 Windows에서는 gnu 툴체인을 사용하세요. 최근 msys2 설치에는 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
헤드리스, 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
왼쪽에 여섯 개의 벡터가 있습니다: 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
실행 탭에는 대상, 모드, 프로토콜, 스레드, 지속 시간, 요청 상한, 고속 모드, 블렌드, 워커 소스, 그리고 시작 버튼이 있습니다. ctrl+v 또는 터미널 자체의 붙여넣기로 URL을 붙여넣으면 필드에 바로 입력됩니다. 텔레메트리는 오른쪽에 위치합니다: 전송량, 오류, 패킷, 속도, 최고치, 경과 시간, 초당 패킷 수의 스파크라인, 그리고 실행 시계용 게이지가 있습니다.
프록시 탭: 폴더 경로, 불러오기, 무료 목록 스크레이프 및 검사(실시간 카운터, 저장 가능한 작동 세트), 검사 중단 시 통과한 항목 유지, 초기화.
소스 탭: 워커 소스를 선택하고, 해당 유형, 노드 수, 엔드포인트, 키 환경 변수를 확인합니다. reload는 작업 디렉터리 또는 바이너리 옆에서 nodes.json을 다시 읽습니다.
음성 탭: 토큰, 길드 ID, 채널 ID, 선택적 프록시. Resolve는 VOICE_SERVER_UPDATE를 포착할 만큼만 음성 상태에 참여합니다. 그런 다음 push relay to run이 대상을 l4/udp를 사용하는 미디어 릴레이로 설정합니다.
로그 탭: 레벨이 포함된 전체 메시지 스트림.
| 소스 | 설명 |
|---|---|
local | 이 머신의 소켓, 기본값 |
proxies | 자신의 프록시 목록 |
scrape | 무료 목록을 스크레이프하고 검사한 뒤 작동 세트를 실행 |
redirects | 내장 오픈 리다이렉트 릴레이, 홉은 해당 IP에서 가져옴 |
ufonet | 로컬 UFONet 클론이 있을 경우 이를 연결하는 브리지 |
vps-pool | 에이전트를 실행하는 자신의 노드 |
stress-api | 키를 보유한 유료 테스트 API |
한 줄에 프록시 하나. 폴더 내 모든 파일을 읽습니다.
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는 목록 전체에 분산되며, 프록시마다 하나의 연결 풀을 사용합니다. 프록시를 통과하는 것은 http만입니다. l4 작업은 로컬로 폴백하며 그 사실을 명시합니다.
monosans 및 proxifly 목록을 가져온 뒤, 먼저 짧은 타임아웃으로 모든 후보에 연결을 시도하고(대부분의 항목은 죽은 호스트임), 그런 다음 살아남은 항목을 통해 실제 요청을 수행합니다. 목록이 끊임없이 잘못 태그하기 때문에 http를 먼저, socks5를 두 번째로 시도합니다. 작동하는 집합은 프록시 폴더의 scraped.txt에 가장 빠른 순서로 기록됩니다.
Blend는 기본적으로 켜져 있습니다. 모든 요청은 고유한 쿼리 문자열을 가지며, user agent, 언어, referer가 교체되고, workers는 작은 무작위 간격으로 속도를 조절하며, ramp는 스파이크로 시작하는 대신 약 3초에 걸쳐 스레드 생성을 분산합니다. 이는 처리량을 희생합니다. 원시 수치를 원할 때는 -blend=false를 사용하세요.
l4에는 포트가 필요합니다. 80을 추측하지 않습니다.
redirects 레인은 http 레인보다 더 넓게 속도를 조절하며, 릴레이는 속도 제한이 가장 심합니다.
스레드는 실제 스레드입니다. 실행하는 장비가 첫 번째 한계입니다.
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, LICENSE 참조.