
Outil de test de charge et de stress en Go avec modes L7 HTTP et L4 TCP/UDP brut, workers multi-threadés, graphique de débit en temps réel, et une interface graphique Windows ainsi qu'une CLI multiplateforme.
Testeur de charge. Rust, application terminal plein écran. Vert sur noir, séquence de démarrage, graphique de paquets, et un menu pour chaque fonction que l'ancien build go possédait.

Rust 1.75 ou plus récent. Pas de cgo, pas d'autres outils.
cargo build --release
Le binaire se trouve dans target/release/ddossnake.exe, ou target/release/ddossnake
ailleurs.
Sous Windows sans l'éditeur de liens msvc, utilisez la chaîne d'outils gnu. Toute installation msys2 récente dispose de 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
Sans interface graphique, mêmes options que la CLI go :
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 vecteurs sur la gauche : exécution, proxys, sources, voix, journal, à propos.
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
L'onglet run contient la cible, le mode, le proto, les threads, la durée, le plafond de requêtes, le mode rapide, le blend, la source de workers et le bouton engage. Collez une url avec ctrl+v ou le collage propre au terminal, elle va directement dans le champ. La télémétrie se trouve à droite : envoyés, erreurs, paquets, débit, pic, temps écoulé, une sparkline des paquets par seconde et une jauge pour l'horloge de l'exécution.
Onglet Proxies : chemin du dossier, chargement, scrape et vérification des listes gratuites (compteurs en direct, ensemble fonctionnel sauvegardable), arrêt en cours de vérification en conservant ce qui a passé, effacement.
Onglet Sources : choisissez une source de workers, voyez son type, son nombre de nœuds, son endpoint et sa variable d'environnement de clé. reload relit nodes.json depuis le répertoire de travail ou depuis le dossier à côté du binaire.
Onglet Voice : token, guild id, channel id, proxy optionnel. Resolve rejoint l'état vocal juste assez longtemps pour capter VOICE_SERVER_UPDATE. push relay to run définit ensuite la cible sur le relais média avec l4/udp.
Onglet Log : le flux complet des messages avec les niveaux.
| source | ce que c'est |
|---|---|
local | les sockets de cette machine, la valeur par défaut |
proxies | vos propres listes de proxies |
scrape | scrape les listes gratuites, les vérifie, exécute l'ensemble fonctionnel |
redirects | relais à redirection ouverte intégrés, les sauts proviennent de leurs ips |
ufonet | pont vers un clone local d'UFONet, si vous en avez un |
vps-pool | vos propres nœuds exécutant un agent |
stress-api | une api de test payante pour laquelle vous détenez une clé |
Un proxy par ligne. Chaque fichier du dossier est lu.
http://1.2.3.4:8080
socks5://5.6.7.8:1080
9.9.9.9:3128 (http assumed)
user:[email protected]:3128
# comment
Les workers sont répartis sur la liste, un pool de connexions par proxy. Seul http passe par les proxies. Une tâche l4 se rabat sur le local et le signale.
Récupère les listes monosans et proxifly, contacte d'abord chaque candidat avec un court
timeout (la plupart des entrées sont des hôtes morts), puis effectue une vraie requête via
les survivants. http d'abord, socks5 ensuite, car les listes se trompent constamment d'étiquette.
L'ensemble fonctionnel est écrit dans scraped.txt dans le dossier proxy, du plus rapide au plus lent.
Blend est activé par défaut. Chaque requête reçoit sa propre chaîne de requête, le user agent,
la langue et le referer tournent, les workers avancent avec un petit intervalle aléatoire, et la montée en charge
répartit la création de threads sur environ 3 secondes au lieu de démarrer par un pic. Cela
coûte en débit. -blend=false quand vous voulez le chiffre brut.
l4 nécessite un port. Il ne devinera pas 80.
La voie des redirections avance plus largement que la voie http, les relais limitent le débit le plus fortement.
Les threads sont de vrais threads. La machine depuis laquelle vous l'exécutez est la première limite.
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, voir LICENSE.