Skip to main content

Overview

The Miku Miku Beam web interface provides a user-friendly graphical control panel for launching and monitoring attacks. It communicates with the backend server via Socket.IO for real-time statistics.

Starting the Server

Launch the web server using the mmb-server binary:
By default, the server listens on port 3000. You’ll see output like:

Server Flags

boolean
default:"false"
Allow attacks without proxies. Can also be set via ALLOW_NO_PROXY=true environment variable.

Environment Variables

string
default:"console"
Set to json for JSON-formatted logs, or leave unset for human-readable console output
boolean
default:"false"
Set to true to allow attacks without proxies (equivalent to --no-proxy flag)

Accessing the Interface

Once the server is running, open your browser and navigate to:
The web interface is served from either bin/web-client or web-client/dist depending on your build configuration.

Features

Attack Configuration

The web interface provides an intuitive form for configuring attacks:
1

Select Attack Method

Choose from available attack types:
  • http_flood - Standard HTTP flood
  • http_bypass - Bypass-focused HTTP attack
  • http_slowloris - Slowloris attack
  • tcp_flood - TCP-level flood
  • minecraft_ping - Minecraft server ping flood
2

Enter Target

Specify the target URL or address:
  • HTTP: http://example.com or https://example.com:8443
  • TCP: tcp://192.168.1.100:80
  • Minecraft: mc.example.com:25565
3

Configure Parameters

Set attack parameters:
  • Duration - Attack length in seconds (default: 60)
  • Packet Delay - Delay between packets in ms (default: 500)
  • Packet Size - Size of each packet in bytes (default: 512)
  • Threads - Number of concurrent threads (0 = auto)
4

Launch Attack

Click the attack button to begin. The interface immediately switches to monitoring mode.

Real-Time Statistics

Once an attack is running, the interface displays live statistics:
int
Packets per second - current attack rate
int
Cumulative packets sent since attack started
int
Number of proxies currently in use
string
Detailed attack logs and status messages (always verbose in web mode)

Configuration Management

The web interface allows you to manage proxies and user agents directly from the browser:
The server exposes a GET /configuration endpoint that returns current proxy and user agent lists (base64 encoded).

Socket.IO Communication

The web interface uses Socket.IO for bidirectional real-time communication.

Client Events

object
Initiates a new attack with specified parameters:
void
Immediately stops the current attack:

Server Events

object
Real-time statistics updated every second:
object
Confirmation that attack has started:
object
Error message if attack cannot start:
void
Notification that attack has completed or been stopped:

REST API Endpoints

In addition to Socket.IO, the server provides HTTP endpoints:

List Available Attacks

Response:

Get Configuration

Response:
Proxy and user agent lists are base64-encoded.

Update Configuration

Response:

CORS Configuration

The server supports CORS to allow frontend development servers to connect. By default, it allows:
  • Origin: http://localhost:5173 (Vite dev server)
  • Methods: GET, POST
  • Headers: Content-Type
To change the allowed origin, update your configuration file.

Running Without Proxies

By default, the web server requires proxies. To allow attacks without proxies:
Running without proxies exposes your server’s IP address. Only use this for local testing.

Multiple Clients

The server supports multiple simultaneous connections. Each client gets its own attack instance:
  • Client attacks are tracked by Socket.IO client ID
  • Each client can run one attack at a time
  • Starting a new attack automatically stops the previous one
  • Disconnecting automatically stops the client’s attack

Monitoring Server Logs

The server provides detailed logging of all operations:
Human-readable logs for development:

Troubleshooting

Static Assets Not Found

Solution: Build the web client first:

No Proxies Available

Solution: Either add proxies to your config file or start the server with --no-proxy.

CORS Errors

If developing the frontend separately, update the allowed_origin in your configuration file to match your dev server URL.

Best Practices

Use HTTPS

Deploy behind a reverse proxy with TLS for production use

Restrict Access

Use firewall rules or authentication to prevent unauthorized access

Monitor Resources

Keep an eye on server CPU/memory, especially with multiple clients

Log Everything

Use JSON logging in production for better monitoring and debugging