Chaos Network Proxy

Chaos Network Proxy

Leader posted 2 min read

The Story: Why I built Chaos Proxy

We've all been there. The feature works perfectly on localhost. The E2E tests pass with flying colors. Then we deploy to production, and users on 3G networks start complaining that the app freezes, crashes, or—worst of all—charges them twice.

I realized that our CI pipelines were living in a fantasy world of 0ms latency and 100% uptime.

I wanted to simulate "Bad Network" conditions automatically in GitHub Actions, specifically for mobile apps and backend idempotency checks. I tried mocking requests in Playwright, but that didn't cover native Android/iOS emulators. I tried local proxies, but they were hard to script.

So I built Chaos Proxy —a cloud-based, programmable Chaos Proxy designed for CI/CD.

How it works

Debuggo isn't just a GUI tool. It’s an API-first platform. You can treat your network infrastructure like code.

  1. Create: Your CI script calls our API to spin up an isolated, ephemeral proxy container.
  2. Connect: You route your E2E test traffic (Web, Android, iOS) through this proxy.
  3. Break: You send API commands to inject latency, trigger 503 errors, or tamper with headers in real-time.

Demo: Simulating 503 Errors in Chrome (Visual)

Key Features

  • API for CI/CD: Spin up and destroy proxies programmatically. No long-living servers to manage.
  • The "Rage Click" Test: Inject 3 seconds of latency into specific endpoints (e.g., /api/pay) to ensure your UI disables buttons correctly before the user clicks twice.
  • Native Mobile Support: Since it works at the network level (HTTP Proxy), it supports Android Emulators and iOS Simulators perfectly.
  • Response Fuzzing: Automatically tamper with JSON bodies to see if your app crashes on malformed data.

⚡️ See it in action
Here is how simple it is to inject a 503 Service Unavailable error into your checkout flow using curl:

curl -X PUT https://api.debuggo.app/v1/sessions/$SESSION_ID/rules \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "rules": [
      {
        "url_pattern": "*/api/checkout",
        "failure_rate": 50,
        "error_code": 503
      }
    ]
  }'

Demo: Automating Network Chaos via Terminal (CLI)

How you can get involved

I just launched the Public API Beta. I am looking for QA Engineers and DevOps folks who are tired of "flaky" apps and want to build true resilience.

  1. Try the Free Tier: You can start manually or via API for free.
  2. Break your App: Try the "Rage Click" test (Tip #5 on our blog).
  3. Feedback: Let me know what integration you need next!

Stop trusting localhost. Start testing reality.

1 Comment

1 vote
0

More Posts

Stop Mocking Everything: How to Test API Resilience in Your Terminal (Curl + Chaos Proxy)

aragossa - Dec 5, 2025

Announcing Chaos Proxy API: Automate Network Chaos in CI/CD

aragossa - Dec 21, 2025

Don't Break Your WiFi: How to Simulate 503 Errors in a Single Browser Tab

aragossa - Dec 7, 2025

The "Spinner of Death": Why Localhost Latency is Lying to You

aragossa - Dec 19, 2025

Why Chaos Engineering is the Missing Layer for Reliable AI Agents in CI/CD

frankhumarang - Jan 19
chevron_left