Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. toxiproxy

toxiproxy

MITGov2.12.0

A TCP proxy for simulating network failures and latency to test application resiliency in development and CI environments.

Visit WebsiteGitHubGitHub
12.3k stars510 forks0 contributors

What is toxiproxy?

Toxiproxy is a TCP proxy that simulates network and system failures like latency, downtime, and bandwidth constraints. It allows developers to test how their applications behave under adverse network conditions, ensuring they remain resilient and have no single points of failure. It's specifically built for testing, CI, and development environments.

Target Audience

Developers, QA engineers, and DevOps teams building distributed systems who need to validate application resiliency against network failures in automated tests and CI pipelines.

Value Proposition

Developers choose Toxiproxy because it provides a lightweight, cross-platform, and programmable way to inject network chaos without requiring root access or complex setup. Its dynamic HTTP API and multi-language client support make it easy to integrate into existing test suites.

Overview

:alarm_clock: :fire: A TCP proxy to simulate network and system conditions for chaos and resiliency testing

Use Cases

Best For

  • Testing fallback mechanisms when a database or cache fails
  • Simulating high-latency network calls to verify UI responsiveness
  • Validating service degradation under bandwidth constraints
  • Automated chaos testing in CI/CD pipelines
  • Unit and integration tests for network failure handling
  • Developing and testing retry logic and circuit breakers

Not Ideal For

  • Projects requiring simulation of UDP or non-TCP protocol failures
  • Teams needing a graphical interface or no-code tool for ad-hoc chaos testing
  • Applications where reconfiguring network connections to use a proxy is not feasible
  • Environments that demand comprehensive, system-wide chaos engineering beyond network layer (e.g., CPU/memory stress)

Pros & Cons

Pros

Deterministic Chaos Testing

Supports both precise and randomized fault injection, enabling repeatable tests for network failures, as emphasized in the README's philosophy of proving resiliency.

Cross-Platform Accessibility

Available for Linux, macOS, Windows, and Docker with simple installation via package managers or binaries, making it easy to deploy in diverse testing environments.

Multi-Language Client Support

Offers official clients in Ruby, Go, Python, Java, and more, allowing seamless integration into various tech stacks without manual HTTP API calls.

Production-Proven Reliability

Used by Shopify in all development and test environments since 2014, demonstrating its effectiveness and stability in real-world applications.

Cons

TCP-Only Protocol Support

Limited to TCP connections, so it cannot simulate failures for UDP-based services or higher-layer protocols like HTTP/2 directly, which restricts its applicability.

Configuration and Setup Overhead

Requires populating proxies and modifying application connections to route through Toxiproxy, adding complexity and potential for errors in test environments.

Breaking API Changes

Upgrading from Toxiproxy 1.x to 2.0 introduced incompatible API changes, forcing updates to client libraries and migration efforts, as noted in the README.

Frequently Asked Questions

Quick Stats

Stars12,313
Forks510
Contributors0
Open Issues77
Last commit7 days ago
CreatedSince 2014

Tags

#load-testing#devops#proxy#integration-testing#chaos#network-simulation#ci-cd#is#testing#fault-injection#resiliency-testing#chaos-engineering#go#tcp-proxy#resiliency

Built With

G
Go
D
Docker

Links & Resources

Website

Included in

Go169.1k
Auto-fetched 7 hours ago

Related Projects

croccroc

Easily and securely send things from one computer to another :crocodile: :package:

Stars40,275
Forks1,615
Last commit1 day ago
resticrestic

Fast, secure, efficient backup program

Stars35,923
Forks1,869
Last commit7 days ago
gorgor

GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.

Stars19,319
Forks96
Last commit7 months ago
JuiceFSJuiceFS

JuiceFS is a distributed POSIX file system built on top of Redis and S3.

Stars14,400
Forks1,284
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