Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zer-far/spurt
HTTP stress testing tool that can overload web servers.
https://github.com/zer-far/spurt
cache-busting cache-bypass ddos ddos-attack-tool ddos-attacks denial-of-service denial-of-service-attack dos flood hacking layer7 layer7-ddos load-test load-testing loadtesting stress-test stress-tester stress-testing
Last synced: 2 days ago
JSON representation
HTTP stress testing tool that can overload web servers.
- Host: GitHub
- URL: https://github.com/zer-far/spurt
- Owner: zer-far
- License: gpl-3.0
- Created: 2022-12-10T20:43:39.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-28T19:17:39.000Z (13 days ago)
- Last Synced: 2024-10-28T20:24:24.957Z (13 days ago)
- Topics: cache-busting, cache-bypass, ddos, ddos-attack-tool, ddos-attacks, denial-of-service, denial-of-service-attack, dos, flood, hacking, layer7, layer7-ddos, load-test, load-testing, loadtesting, stress-test, stress-tester, stress-testing
- Language: Go
- Homepage:
- Size: 105 KB
- Stars: 77
- Watchers: 2
- Forks: 21
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Spurt
[![Go](https://github.com/zer-far/spurt/workflows/Go/badge.svg)](https://github.com/zer-far/spurt/actions?query=workflow%3A%22Go%22)## Introduction
Spurt is a powerful stress testing tool designed to simulate high volumes of traffic and evaluate the performance and resilience of web servers. It has been tested on Linux.
Spurt first checks if the target URL is valid. A custom module is used to generate common "User-Agent" and "Referer" headers quickly, allowing it to make thousands of requests per second. Another module is used for multi-threading to send requests in parallel.
## Compile
### Prerequisites
Make sure you have the following installed:
- Go
- Make
- Git### Steps
```bash
git clone https://github.com/zer-far/spurt
cd spurt
make
```## Basic usage
```bash
./spurt --url https://example.com
```Press Ctrl+C to stop Spurt.
## Features
### Target URL
- Option: --url string
- Description: Sets the target URL for requests.
-
### Check IP address- Option: --check
- Description: Checks your public IP address before using it for testing.
### Custom cookie
- Option: --cookie string
- Description: Uses a custom cookie.
### Sleep time between requests
- Option: --sleep int
- Description: Sets a delay (in ms) between requests to avoid rate limits.
- Default: 1 ms
### Multi-threading
- Option: --threads int
- Description: Specifies the number of threads for sending requests.
- Default: 1 thread### Request timeout
- Option: --timeout int
- Description: Sets a timeout (in ms) for each request to handle slow responses.
- Default: 3000 ms### Example command
```bash
./spurt --check --cookie "sessionid=123456" --sleep 10 --threads 2 --timeout 4000 --url https://example.com
```This command uses the IP check, a custom cookie, a sleep time of 10 ms, 2 threads and a timeout ot 4000 ms.
## Notes
- Spurt is intended for testing server performance under controlled conditions. It should not be used maliciously or for Denial of Service (DoS) attacks. Unauthorised use may lead to legal consequences.
- Your internet connection may slow down during use.
- Excessive requests may result in rate limiting or blocking.
- Avoid using on connections with limited bandwidth.