GoldenEye is a powerful HTTP DoS (Denial of Service) attack tool designed to stress test web servers. It allows you to simulate multiple concurrent connections to a target URL, using various HTTP methods and user agents. This tool is intended for educational purposes and to test the robustness of your own web servers.
- Simulate multiple concurrent connections
- Support for custom HTTP methods (GET, POST, RANDOM)
- Option to disable SSL certificate verification
- Customizable user agents
- Debug mode for verbose output
To install GoldenEye, you need to have Go installed on your system. Clone the repository and build the project:
git clone https://github.com/zvdy/goldeneye.git
cd goldeneye
go build -o goldeneye ./cmd/goldeneye/main.go
To run GoldenEye, use the following command:
./goldeneye <url> [OPTIONS]
Flag | Description | Default |
---|---|---|
-u, --useragents |
File with user-agents to use | randomly generated |
-w, --workers |
Number of concurrent workers | 50 |
-s, --sockets |
Number of concurrent sockets | 30 |
-m, --method |
HTTP Method to use ('get', 'post', 'random') | get |
-d, --debug |
Enable Debug Mode (more verbose output) | False |
-n, --nosslcheck |
Do not verify SSL Certificate | True |
-h, --help |
Shows this help |
./goldeneye http://example.com -w 100 -s 50 -m post -d
This command will start a DoS attack on http://example.com
with 100 workers
, each opening 50 sockets
, using the POST
method, and enabling debug mode.
To build and run the application using Docker, follow these steps:
-
Build the Docker image
docker build -t goldeneye .
-
Run the Docker container
docker run -it --rm goldeneye <url> [OPTIONS]
Replace
<url>
and[OPTIONS]
with the appropriate values for your application.
You can also pull the pre-built Docker image from Docker Hub:
docker pull zvdy/goldeneye
Docker Hub Repository: zvdy/goldeneye
To run the application with a specific URL and options:
docker run -it --rm zvdy/goldeneye http://example.com
Ensure you have the Dockerfile in your cloned repository.
You can run the tests in order to check the functionality too:
go test -v ./...
- Stress Testing: Test the robustness and performance of your web servers under heavy load.
- Educational Purposes: Learn about HTTP DoS attacks and how to mitigate them.
- Security Testing: Identify potential vulnerabilities in your web infrastructure.
GoldenEye is intended for educational purposes and testing your own web servers. Do not use this tool to attack websites without permission. Unauthorized use of this tool may violate local, state, and federal laws.
Read DISCLAIMER for more details.
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
This project is inspired by and based on the original goldeneye by @jseidl. Special thanks to the original author for their work and inspiration.
For any questions or support, please open an issue on the GitHub repository.