Skip to main content

General Questions

MMB supports multiple operating systems:
  • Windows
  • Linux
  • macOS
  • Android (untested)
The tool is written in Go and React, making it highly portable across platforms.
Miku Miku Beam is a network stress testing tool with a Miku-themed frontend. It allows you to configure and run various types of network attacks while enjoying a vibrant, anime-inspired interface complete with background music.Key Features:
  • Multiple attack methods (HTTP Flood, HTTP Bypass, Slowloris, TCP Flood, Minecraft Ping)
  • Real-time attack visualization and statistics
  • Both web interface and CLI support
  • Multi-threaded performance
  • Proxy support for anonymity

Setup and Installation

You need the following installed:
1

Go (v1.21 or above)

Required for building the server and CLI binaries.
go version
2

Node.js (v18 or above)

Required for building the React frontend.
node --version
3

npm (Node Package Manager)

Comes bundled with Node.js.
npm --version
This means the web client hasn’t been built yet.Solution:
  1. Build the web client:
    make webclient
    
  2. Ensure the server is running:
    ./bin/mmb-server
    
  3. If issues persist, rebuild everything:
    make all && make run-server
    
The web client must be built before the server can serve it. In production mode, both frontend and backend run on port 3000.
This is a Node.js/React build issue.Solution:
  1. Verify Node.js version (must be v18+):
    node --version
    
  2. Reinstall dependencies:
    cd web-client
    npm install
    cd ..
    
  3. Run the prepare command:
    make prepare
    
Dependencies aren’t installed or are out of sync.Solution:
  1. Download Go dependencies:
    go mod tidy
    
  2. Install Node.js dependencies:
    cd web-client && npm install
    
  3. Or use the all-in-one command:
    make prepare
    

Usage Questions

By default, MMB requires proxies for safety. However, you can bypass this:CLI Method:
./bin/mmb-cli attack http_flood http://example.com --no-proxy
Server Method: Set the environment variable before starting:
ALLOW_NO_PROXY=true ./bin/mmb-server
Running without proxies exposes your real IP address to the target.
Yes! MMB supports running multiple attacks at the same time.Web Interface:
  • Open multiple browser tabs/windows
  • Each tab can run a different attack
  • Each client maintains its own isolated attack instance
CLI:
  • Run multiple CLI instances in different terminals
  • Each instance operates independently
MMB currently supports five attack methods:

HTTP Flood

Sends random HTTP GET/POST requests with configurable payloads to overwhelm the target.

HTTP Bypass

Mimics real browser requests with realistic headers, cookies, redirects, and resource loading.

HTTP Slowloris

Sends slow HTTP requests and keeps connections open to exhaust server resources.

TCP Flood

Raw TCP packet flooding with random data to saturate network connections.

Minecraft Ping

Sends Minecraft server status/MOTD requests to stress game servers.
You can manage proxies and user agents in two ways:Method 1: Web Interface
  • Click the text button to the right of the beam button
  • This opens the editor where you can add/edit proxies and user agents
Method 2: Manual File Editing Create/edit these files:
# Proxies (one per line)
data/proxies.txt
Supported proxy formats:
  • protocol://user:password@host:port (with authentication)
  • protocol://host:port
  • host:port (defaults to http)
  • host (defaults to port 8080)
# User agents (one per line)
data/uas.txt

Troubleshooting

This typically indicates proxy issues.Solution:
  1. Add valid proxies to data/proxies.txt
  2. Ensure proxies are in the correct format:
    • protocol://user:password@host:port
    • protocol://host:port
    • host:port
    • host
  3. Or run without proxies using the --no-proxy flag
See the troubleshooting guide for more details.
Quick Fix:
# Add proxies to the file
echo "http://proxy1:8080" >> data/proxies.txt
Or run without proxies:
./bin/mmb-cli attack http_flood http://example.com --no-proxy
The React frontend wasn’t built correctly.Solution:
# Clean and rebuild
make clean
make all
Check the troubleshooting guide for detailed solutions.

Advanced Usage

You can configure multiple parameters:Web Interface:
  • Target URL
  • Attack method
  • Packet size (bytes)
  • Duration (seconds)
  • Packet delay (milliseconds)
  • Thread count
CLI Example:
./bin/mmb-cli attack http_bypass http://example.com \
  --duration 120 \
  --delay 100 \
  --packet-size 1024 \
  --threads 8
Use the --verbose flag in the CLI to see detailed attack logs:
./bin/mmb-cli attack tcp_flood http://example.com --verbose
This shows:
  • Which proxy is being used for each request
  • Target information
  • Detailed success/failure logs
  • Real-time statistics
MMB is open source and welcomes contributions!To add a new attack method:
1

Create worker file

Create a new attack worker in internal/attacks/your_protocol/
type yourWorker struct{}
func NewYourWorker() *yourWorker { return &yourWorker{} }
func (w *yourWorker) Fire(ctx context.Context, params core.AttackParams, p core.Proxy, ua string, logCh chan<- core.AttackStats) error {
    // Implementation
    return nil
}
2

Register in engine

Add to internal/engine/registry.go:
AttackYourProtocol: yourprotocol.NewYourWorker(),
3

Update web client

Add the new method to the web interface attack list.
See the Contributing guide for more details.

Docker and Deployment

Yes! MMB is Docker-ready.
Docker support is built-in. Check the documentation for Docker-specific deployment instructions.
Development Mode:
  • Frontend and backend run on separate ports
  • Hot-reload enabled for development
  • Run with make run-server
Production Mode:
  • Both frontend and backend served on port 3000
  • Optimized builds
  • Run with ./bin/mmb-server
Don’t see your question here? Check the troubleshooting guide or open an issue on GitHub.

Build docs developers (and LLMs) love