Skip to content
/ goldeneye Public

GoldenEye is a powerful HTTP DoS attack tool designed to stress test web servers written in Go.

License

Notifications You must be signed in to change notification settings

zvdy/goldeneye

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoldenEye

Go Report Card

GoldenEye Logo

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.

Features

  • 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

Installation

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

Usage

To run GoldenEye, use the following command:

./goldeneye <url> [OPTIONS]

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

Example

./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.

Docker

To build and run the application using Docker, follow these steps:

  1. Build the Docker image

    docker build -t goldeneye .
  2. Run the Docker container

    docker run -it --rm goldeneye <url> [OPTIONS]

    Replace <url> and [OPTIONS] with the appropriate values for your application.

Docker Hub Repository

You can also pull the pre-built Docker image from Docker Hub:

docker pull zvdy/goldeneye

Docker Hub Repository: zvdy/goldeneye

Example

To run the application with a specific URL and options:

docker run -it --rm zvdy/goldeneye http://example.com 

Dockerfile

Ensure you have the Dockerfile in your cloned repository.

Testing

You can run the tests in order to check the functionality too:

go test -v ./...

Use Cases

  • 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.

Disclaimer

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.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

Acknowledgements

This project is inspired by and based on the original goldeneye by @jseidl. Special thanks to the original author for their work and inspiration.

Contact

For any questions or support, please open an issue on the GitHub repository.