https://github.com/darkstarbdx/crashwave
CrashWave is a powerful Python-based load testing tool designed to simulate high traffic on websites or web applications.
https://github.com/darkstarbdx/crashwave
cybersecurity ddos ddos-tool dos ethical-hacking http-requests load-testing multi-threading performance-testing
Last synced: about 2 months ago
JSON representation
CrashWave is a powerful Python-based load testing tool designed to simulate high traffic on websites or web applications.
- Host: GitHub
- URL: https://github.com/darkstarbdx/crashwave
- Owner: darkstarbdx
- License: mit
- Created: 2024-12-31T03:41:25.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-12-31T05:07:23.000Z (5 months ago)
- Last Synced: 2025-02-08T19:39:13.315Z (4 months ago)
- Topics: cybersecurity, ddos, ddos-tool, dos, ethical-hacking, http-requests, load-testing, multi-threading, performance-testing
- Language: Python
- Homepage:
- Size: 18.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **CrashWave** π
**CrashWave** is a powerful Python-based load testing tool designed to simulate high traffic on websites or web applications. With its **Rich UI**, **adaptive load testing modes**, and **detailed reporting**, **CrashWave** helps developers and DevOps engineers test the performance, scalability, and resilience of their systems under heavy load. Whether youβre testing a single endpoint or a complex web application, **CrashWave** provides the tools you need to ensure your system can handle real-world traffic.
---
## **Features** β¨
- **Rich UI**: Beautiful and interactive terminal interface powered by the `rich` library.
- **Load Test Modes**:
- **Constant**: Sends requests at a constant rate.
- **Burst**: Sends requests in bursts to simulate sudden traffic spikes.
- **Ramp**: Gradually increases the request rate over time.
- **Random**: Sends requests with random delays for realistic traffic simulation.
- **Multi-Threaded**: Sends concurrent requests using a dynamic thread pool.
- **Randomized User Agents**: Simulates real users with a large pool of user agent strings.
- **Retry Mechanism**: Automatically retries failed requests.
- **Adaptive Behavior**: Adjusts request delays and retries based on server responses.
- **Detailed Reporting**: Provides success rates, average response times, and error summaries.
- **Real-Time Progress**: Displays progress using a `tqdm` progress bar.---
## **Warning** β οΈ
**CrashWave is intended for ethical and authorized use only.**
- **Permission**: Always obtain explicit permission before testing any website or application.
- **Legal Compliance**: Unauthorized use of this tool may violate laws and regulations.
- **Responsibility**: The user assumes full responsibility for any consequences of using this tool.---
## **Disclaimer** π€
This tool was developed with the assistance of **AI (Artificial Intelligence)**. While it has been thoroughly tested, please use it at your own risk and ensure it aligns with your ethical and legal standards.---
## **Installation** π οΈ
1. Clone the repository:
```bash
git clone https://github.com/darkstarbdx/CrashWave.git
cd CrashWave
```
2. Install the required dependencies:
```bash
pip3 install -r requirements.txt
```---
## **Requirements** π¦
The required Python packages are listed in `requirements.txt`:
```plaintext
requests==2.31.0
rich==13.4.2
```Install them using:
```bash
pip3 install -r requirements.txt
```---
## **Usage** π¦
Run the script and provide the required inputs:
```bash
python3 CrashWave.py
```### **Inputs**:
- **Target URL**: The URL to test (e.g., `https://example.com`).
- **Number of Requests**: Total number of requests to send.
- **Max Threads**: Maximum number of concurrent threads.
- **HTTP Method**: `GET` or `POST`.
- **Retries**: Number of retries for failed requests.
- **Load Test Mode**: Choose from `constant`, `burst`, `ramp`, or `random`.
- **Request Rate/Delays**: Configure based on the selected mode.### **Example**:
```plaintext
β¦ Enter the target URL (e.g., https://example.com): https://example.com
β¦ Enter the number of requests [default: 100]: 100
β¦ Enter the maximum number of concurrent threads [default: 10]: 10
β¦ Enter the HTTP method (GET/POST) [default: GET]: GET
β¦ Enter the number of retries for failed requests [default: 3]: 3
β¦ Enter the load test mode (constant/burst/ramp/random) [default: constant]: constant
β¦ Enter the request rate (requests per second) [default: 10]: 10
```---
## **Load Test Modes** π₯
- **Constant**: Sends requests at a fixed rate (e.g., 10 requests per second).
- **Burst**: Sends a large number of requests in a short period to simulate traffic spikes.
- **Ramp**: Gradually increases the request rate over time to test system scalability.
- **Random**: Sends requests with random delays for more realistic traffic simulation.---
## **Output** π
The tool provides a detailed summary of the load test, including:
- Total requests
- Successful requests
- Failed requests
- Average response time
- Total time
- Requests per second
- Error summary (if any)---
## **Example Output** π
```plaintext
Test Results:
β Target URL: https://example.com
β Total Requests: 100
β Successful Requests: 98
β Failed Requests: 2
β Average Response Time: 0.25 seconds
β Total Time: 6.12 seconds
β Requests Per Second: 16.34Error Summary:
β 404: 2 occurrences
```---
## **Contributing** π€
Contributions are welcome! If you have suggestions, bug reports, or feature requests, please open an issue or submit a pull request.---
## **License** π
This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.---
## **Credits** π
This tool was developed with the assistance of **AI (Artificial Intelligence)**.---
## **Support** π¬
If you have any questions or need help, feel free to open an issue or contact the maintainers.
β¨ Want to get in touch?
π Join our vibrant Telegram community!
π Click here to connect: [Telegram Group](https://t.me/+mzZ9IrWgXe9jNWNl)---
**Happy Testing with CrashWave!** ππ