An open API service indexing awesome lists of open source software.

https://github.com/sammwyy/mikumikubeam

An open-source network stresser tool but it's Hatsune Miku
https://github.com/sammwyy/mikumikubeam

ddos ddos-attack-tools ddos-attacks ddos-tool ddoser hatsune-miku miku stresses

Last synced: 5 months ago
JSON representation

An open-source network stresser tool but it's Hatsune Miku

Awesome Lists containing this project

README

          

# Miku Miku Beam πŸ’₯⚑ (Network Stresser)

A fun and visually appealing stress testing server with a **Miku-themed** frontend, where you can configure and run attacks while enjoying a banger song in the background! 🎀✨

![Screenshot](docs/screenshot.png)

## Features πŸŽ‰

- 🐳 **Docker Ready**: MMB is ready to be built and run in a Docker container.
- 🌐 **Real-time Attack Visualization**: View your attack’s progress and statistics in real-time as it runs. πŸ”₯
- 🎢 **Miku-themed UI**: A cute and vibrant design with Miku’s vibe to make the process more fun. Includes a banger song to keep you pumped! 🎧
- πŸ§‘β€πŸ’» **Configurable Attack Parameters**: Easily set the attack method, packet size, duration, and packet delay via the frontend interface.
- πŸ› οΈ **Worker-Based Attack Handling**: The server processes attacks in separate workers for optimal performance and scalability.
- πŸ“Š **Live Stats**: Track the success and failure of each attack in real-time. See how many packets are sent and whether they succeed or fail.
- πŸ–ΌοΈ **Aesthetic Design**: A visually cute interface to make your experience enjoyable. 🌸
- πŸ“‘ **Attack Methods:**:
- `HTTP Flood` - Send random HTTP requests
- `HTTP Bypass` - Send HTTP requests that mimics real requests (Redirects, cookies, headers, resources...)
- `HTTP Slowloris` - Send HTTP requests and keep the connection open
- `Minecraft Ping` - Send Minecraft ping/motd requests
- `TCP Flood` - Send random TCP packets

## Setup πŸ› οΈ

### Prerequisites πŸ“¦

Make sure you have the following installed:

- Node.js (v14 or above) 🌱
- npm (Node Package Manager) πŸ“¦

### Development Mode πŸ”§

1. Clone this repository:

```bash
git clone https://github.com/sammwyy/mikumikubeam.git
cd mikumikubeam
```

2. Install the required dependencies:

```bash
npm install
```

3. Create the necessary files:
- `data/proxies.txt` - List of proxies.
- `data/uas.txt` - List of user agents.

4. Run the server in development mode:

```bash
npm run dev
```

- The **frontend** runs on `http://localhost:5173`.
- The **backend** runs on `http://localhost:3000`.

---

### Production Mode πŸ’₯

1. Clone the repository and navigate to the project directory:

```bash
git clone https://github.com/sammwyy/mikumikubeam.git
cd mikumikubeam
```

2. Install the dependencies:

```bash
npm install
```

3. Build the project:

```bash
npm run build
```

4. Start the server in production mode:

```bash
npm run start
```

In production mode, both the **frontend** and **backend** are served on the same port (`http://localhost:3000`).

> Don't forget to add the necessary files `data/proxies.txt` and `data/uas.txt`.

## Usage βš™οΈ

Once the server is up and running, you can interact with it via the frontend:

1. **Start Attack**:
- Set up the attack parameters: target URL, attack method (HTTP Flood, Slowloris, TCP, etc...), packet size, duration, and delay.
- Press "Start Attack" to initiate the stress test.

2. **Stop Attack**:
- Press "Stop Attack" to terminate the ongoing attack.

### Example Request

```json
{
"target": "http://example.com",
"attackMethod": "http_flood",
"packetSize": 512,
"duration": 60,
"packetDelay": 500
}
```

## Adding Proxies and User-Agents

Access to the ``data/proxies.txt`` and ``data/uas.txt`` can now be done fully in the frontend. Click the text button to the right of the beam button to open up the editor.

![AnnotatedImage](docs/annotated-button.png)

## Worker-Based Attack Handling πŸ”§πŸ’‘

Each attack type is handled in a separate worker thread, ensuring that the main server remains responsive. The attack workers are dynamically loaded based on the selected attack method (HTTP, etc...).

## To-Do πŸ“

- Add more attack methods:
- UDP 🌐
- DNS πŸ“‘
- And more! πŸ”₯

- Enhance attack statistics and reporting for better real-time monitoring. πŸ“Š

## Contributing πŸ’–

Feel free to fork the repo and open pull requests with new attack protocols, bug fixes, or improvements. If you have an idea for a new feature, please share it! πŸ˜„

### Adding New Attack Methods ⚑

To extend the server with new attack methods (e.g., Minecraft, TCP, UDP, DNS), you can create new worker files and add them to the server configuration.

For example:

- Add a new attack method in the frontend settings.
- Create the corresponding worker file (e.g., `minecraftAttack.js`).
- Update the attack handler configuration to include the new method.

```javascript
const attackHandlers = {
http_flood: "./workers/httpFloodAttack.js",
http_slowloris: "./workers/httpSlowlorisAttack.js",
tcp_flood: "./workers/tcpFloodAttack.js",
minecraft_ping: "./workers/minecraftPingAttack.js",

// Add more protocols as needed!
your_protocol: "./workers/yourProtocolAttack.js"
};
```

---

### FAQs ❓

**1. What operating system does MMB support?**

> **Windows**, **Linux**, **Mac** and **Android (untested)**

**2. It crashes on startup, giving a "concurrently" error**

> Try running two terminals instead of one, in the first one use "npm run dev:client", and in the other one "npm run dev:server". (This happened to several people with Windows 11)

**3. I go to "" and nothing appears.**

> Port `3000` is the server port, to see the UI you must use port `5173` ()

**4. Requests fail to be sent to the target server (Read timeout and variations)**

> You must put the corresponding proxies in the file `data/proxies.txt`. On each line, put a different proxy that will be used to perform the attack. The format must be the following:
>
> - `protocol://user:password@host:port` (Proxy with authentication)
> - `protocol://host:port`
> - `host:port` (Uses http as default protocol)
> - `host` (Uses 8080 as default port)

---

## License πŸ“

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---

## Disclaimer 🚨

Please note that this project is for educational purposes only and should not be used for malicious purposes.

---

### (qβ™₯β€Ώβ™₯q) Happy Hacking πŸ’–πŸŽΆ