https://github.com/unhackeddev/nfury
Fast and efficient open-source load testing tool for APIs
https://github.com/unhackeddev/nfury
api-testing benchmarking csharp-code dotnet http load-testing performance-testing stress-testing
Last synced: 19 days ago
JSON representation
Fast and efficient open-source load testing tool for APIs
- Host: GitHub
- URL: https://github.com/unhackeddev/nfury
- Owner: unhackeddev
- License: mit
- Created: 2023-10-24T11:14:30.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-27T23:41:43.000Z (about 1 month ago)
- Last Synced: 2026-01-13T19:46:49.287Z (19 days ago)
- Topics: api-testing, benchmarking, csharp-code, dotnet, http, load-testing, performance-testing, stress-testing
- Language: C#
- Homepage:
- Size: 104 KB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# NFury - API Load Testing Tool
🔥 Fast and Efficient API Load Testing Tool
NFury is an open-source tool developed to efficiently and quickly perform load testing on APIs. With NFury, you can simulate multiple virtual users making requests to a target API and analyze important metrics such as average response time, status code distribution, and percentiles.
## ✨ Features
- **Virtual User Simulation**: Create a defined number of virtual users to simulate traffic on your API
- **Flexible Configuration**: Specify the API URL, HTTP method, and the number of requests to be made
- **Detailed Analysis**: Obtain detailed metrics such as average response time, status code distribution, and percentiles
- **Interactive Interface**: Track test progress in real-time with an interactive command-line interface
- **Web Dashboard**: Real-time monitoring via web interface with SignalR
- **Test History**: Store and compare test results with SQLite database
- **Project Management**: Organize multiple test configurations
## 🚀 Quick Start
### Installation
```bash
# Clone the repository
git clone https://github.com/unhackeddev/nfury.git
cd nfury
# Build the project
dotnet build -c Release
# Run the application
cd src/NFury
dotnet run -- --help
```
### Basic Usage
```bash
# Start the web server
./nfury server
# Access the dashboard at http://localhost:5000
```
## 📊 Web Dashboard
Access the real-time dashboard at `http://localhost:5000` to:
- Create and manage load test projects
- Configure test parameters (URL, method, headers, body)
- Monitor test execution in real-time
- View detailed metrics and percentiles
- Compare historical test results
## 📁 Project Structure
```
├── src/
│ └── NFury/
│ ├── Commands/ # CLI commands (run, server)
│ │ ├── Run/ # Load test runner command
│ │ └── Server/ # Web server command
│ ├── Web/ # Web application components
│ │ ├── Data/ # Database access
│ │ ├── Hubs/ # SignalR hubs
│ │ └── Services/ # Business logic services
│ ├── wwwroot/ # Static web assets
│ │ ├── css/ # Stylesheets
│ │ └── js/ # JavaScript files
│ ├── Program.cs # Application entry point
│ └── NFury.csproj # Project file
├── README.md # Project documentation
├── LICENSE # MIT License
├── CONTRIBUTING.md # Contribution guidelines
├── CODE_OF_CONDUCT.md # Code of conduct
├── SECURITY.md # Security policy
└── CHANGELOG.md # Version history
```
## 🤝 Contributing
Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🔒 Security
For security concerns, please see our [Security Policy](SECURITY.md).
## 🙏 Acknowledgments
- Built with [.NET](https://dotnet.microsoft.com/)
- CLI powered by [Spectre.Console](https://spectreconsole.net/)
- Real-time updates with [SignalR](https://docs.microsoft.com/aspnet/signalr)
## ☕ Support
If you find NFury useful and want to support its development, consider buying me a coffee!
[](https://www.buymeacoffee.com/cristianorodrigues)
---
Made with ❤️ by [Unhacked](https://github.com/unhackeddev)
[GitHub](https://github.com/unhackeddev/nfury) | [Documentation](https://github.com/unhackeddev/nfury/wiki) | [Report an Issue](https://github.com/unhackeddev/nfury/issues)