Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Node.js
  3. toxy

toxy

MITJavaScript

A hackable HTTP proxy for resiliency testing, simulating network failures and unexpected conditions in Node.js.

GitHubGitHub
2.7k stars80 forks0 contributors

What is toxy?

toxy is a hackable HTTP proxy built for Node.js that enables developers to simulate server failures, network latency, bandwidth restrictions, and other adverse conditions. It helps test the resiliency and fault tolerance of systems, particularly in microservices and disruption-tolerant networks, by intercepting and altering HTTP traffic between clients and servers.

Target Audience

Developers and QA engineers working on distributed systems, microservices, or APIs who need to validate fault tolerance, conduct chaos engineering experiments, or perform resiliency testing under simulated network failures.

Value Proposition

toxy offers a programmable, middleware-friendly approach to failure injection with a rich set of built-in poisons and rules, allowing precise control over HTTP traffic manipulation. Its dual programmatic and HTTP API support makes it versatile for both automated testing and manual experimentation.

Overview

Hackable HTTP proxy for resiliency testing and simulated network conditions

Use Cases

Best For

  • Testing how microservices handle latency spikes or packet loss
  • Simulating API rate limiting and quota exhaustion scenarios
  • Validating client-side error handling and retry logic
  • Conducting chaos engineering experiments in staging environments
  • Benchmarking system performance under bandwidth constraints
  • Injecting custom HTTP errors to verify graceful degradation

Not Ideal For

  • Projects requiring long-term maintenance and compatibility with the latest Node.js versions
  • Testing network failures at layers below HTTP (L7), such as TCP packet loss or DNS issues
  • Teams needing a graphical interface for configuring and monitoring failure simulations

Pros & Cons

Pros

Rich Built-in Poisons

Includes latency injection, bandwidth limitation, error responses, and rate limiting with configurable parameters, as detailed in the poisons section of the README.

Flexible Rule-Based Filtering

Allows conditional poisoning based on HTTP methods, headers, body content, and probability, enabling precise test scenarios for different traffic patterns.

Dual API Support

Offers both a fluent Node.js programmatic API and a separate HTTP admin API, allowing for dynamic configuration and control without code changes.

Extensible Architecture

Supports custom poisons and rules, and is pluggable as middleware in Connect/Express, making it hackable for advanced or niche testing needs.

Cons

Inactive Maintenance

The README explicitly states it is not actively maintained and may not work with latest Node.js runtimes, posing significant risks for compatibility and security updates.

Complex Setup Overhead

Requires configuring hierarchical scopes, poisons, and rules, which can be overwhelming for quick tests compared to simpler, one-command tools.

HTTP-Centric Limitations

Primarily operates at the application layer (L7), so it cannot simulate lower-level network conditions like raw TCP disruptions without HTTP context.

Frequently Asked Questions

Quick Stats

Stars2,719
Forks80
Contributors0
Open Issues13
Last commit4 years ago
CreatedSince 2015

Tags

#http-proxy#load-testing#simulation#proxy#network#network-simulation#retry#api-testing#failover#testing#fault-injection#resiliency-testing#node-js#reactive#chaos-engineering#middleware#resiliency

Built With

N
Node.js

Included in

Node.js65.5k
Auto-fetched 1 day ago

Related Projects

PuppeteerPuppeteer

JavaScript API for Chrome and Firefox

Stars94,483
Forks9,423
Last commit2 days ago
PlaywrightPlaywright

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

Stars90,476
Forks5,878
Last commit1 day ago
JestJest

Delightful JavaScript Testing.

Stars45,406
Forks6,664
Last commit1 day ago
MochaMocha

☕️ Classic, reliable, trusted test framework for Node.js and the browser

Stars22,916
Forks3,074
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub