Repository navigation
Docker
Note
The image contains the CLI and wordlists. The web panel runs from a source checkout and needs Node.js.
The container image is a small Python 3.12 image with the CLI and wordlists. It does not include the web panel.
docker pull ghcr.io/matrixtm/mhddos:latestTags are published for main, version tags, and commit SHAs. latest follows the default branch.
docker run --rm --cap-add=NET_RAW \
ghcr.io/matrixtm/mhddos:latest \
GET https://example.com 0 100 http.txt 10 60The image entrypoint is python start.py, so arguments after the image name are passed straight to the CLI.
Show help:
docker run --rm ghcr.io/matrixtm/mhddos:latest HELPOpen a shell:
docker run --rm -it --entrypoint /bin/bash ghcr.io/matrixtm/mhddos:latestdocker compose build
docker compose run --rm mhddos GET https://example.com 0 100 http.txt 10 60The service is one-shot. docker compose up runs start.py with no arguments, prints the usage, and exits; it is not a long-running daemon. restart is therefore set to "no".
Useful service settings in docker-compose.yml:
| Setting | Why |
|---|---|
cap_add: NET_RAW |
Raw-socket methods |
init: true |
Clean signal handling |
stdin_open / tty
|
Interactive shells and console tools |
./config.json:/app/config.json:ro |
Keep config editable from the host |
./files:/app/files |
Wordlists and downloaded proxies |
These methods need NET_RAW:
SYN, ICMP, OVH-UDP, MEM, NTP, DNS, ARD, CLDAP, CHAR, RDP
docker run --rm --cap-add=NET_RAW ...Without the capability the process starts but raw-socket checks fail. DOCTOR reports this.
The image ships config.json and files/. Mount them if you want changes to survive a container rebuild:
volumes:
- ./config.json:/app/config.json:ro
- ./files:/app/filesThe proxy directory is writable because MHDDoS writes checked proxies there.
docker build -t mhddos:local .
docker run --rm --cap-add=NET_RAW mhddos:local HELPThe Dockerfile installs requirements.txt, removes the temporary git package, copies start.py, config.json, and files/, and sets STOPSIGNAL SIGINT.
.github/workflows/docker-image.yml builds linux/amd64 and linux/arm64 with Buildx, pushes to GHCR on non-PR events, and uses the GitHub Actions cache. Pull requests build without pushing.
- The web panel is not in the image. Run it from a source checkout.
- The image runs as root so raw sockets work. Drop that only if you also add the needed capabilities and adjust file ownership.
- If
docker compose upexits immediately, that is expected. Usedocker compose run. -
docker compose run -it --entrypoint /bin/bash mhddosstarts a shell; the image has no default command to get in the way.
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