chaos-tproxy is a transparent HTTP fault injection proxy for Linux that intercepts IPv4 TCP traffic without requiring application proxy settings.
The tool solves the problem of injecting faults into HTTP traffic for chaos engineering and testing purposes. It uses TPROXY to transparently intercept traffic at the network level, allowing rules to abort or delay HTTP requests and responses, replace fields, and merge JSON bodies. The controller modifies network interfaces, routes, firewall rules, and DNS resolver configuration to establish interception, then restores the original state when stopped.
Adoption requires running the tool as root in a disposable Linux VM or container with specific kernel support and networking tools installed, including iproute2, net-tools, ebtables, and ebtables-legacy. The tool is suited for chaos engineering workflows where you need to inject faults into HTTP traffic without modifying application code or configuration. It works by intercepting traffic at the kernel level through TPROXY rather than requiring applications to route through a proxy. The strict environmental requirements—disposable infrastructure, root access, specific kernel modules, and a non-loopback DNS resolver—mean it is best used in isolated test environments rather than production systems.
The project maintains active development with regular updates to both the proxy and controller components. The build infrastructure includes Docker support with automated testing before release builds, ensuring that changes pass the test suite before distribution. The tool provides multiple log levels for debugging network interception issues, and configuration supports both JSON and YAML formats with documented examples for different fault injection scenarios.