Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. JVM
  3. comcast

comcast

Apache-2.0Gov1.0.1

A tool to simulate common network problems like latency, bandwidth restrictions, and packet loss for testing distributed systems.

GitHubGitHub
10.5k stars378 forks0 contributors

What is comcast?

Comcast is a command-line tool that simulates poor network conditions—such as latency, bandwidth restrictions, and packet loss—to help developers test and build more resilient distributed systems. It wraps system-level networking tools like `iptables` and `tc` on Linux or `pfctl` and `ipfw` on BSD/OSX to inject controlled failures into network traffic.

Target Audience

Developers, DevOps engineers, and system administrators working on distributed systems who need to test application behavior under realistic network impairments.

Value Proposition

It provides a simple, cross-platform CLI to simulate real-world network issues without manual configuration of low-level tools, making resilience testing accessible and repeatable.

Overview

Simulating shitty network connections so you can build better systems.

Use Cases

Best For

  • Testing distributed system resilience under network latency
  • Simulating bandwidth restrictions for performance benchmarking
  • Introducing packet loss to verify error handling and retry logic
  • Validating application behavior on slow or unreliable networks like 3G or DSL
  • Creating reproducible network failure scenarios in development or CI/CD pipelines
  • Learning how network conditions affect system performance and reliability

Not Ideal For

  • Windows environments or teams requiring cross-platform support including Windows
  • Scenarios needing advanced network simulation beyond latency, bandwidth, and packet loss, such as custom jitter or corruption patterns
  • Systems where root or administrative privileges are unavailable, as Comcast executes low-level system commands

Pros & Cons

Pros

Cross-Platform Simplicity

Provides a unified CLI interface for network simulation on Linux and BSD/OSX, abstracting complex tools like tc and iptables into simple commands.

Targeted Traffic Control

Allows precise application of network conditions to specific IPs, protocols, and ports, as shown in the Linux usage example with --target-addr and --target-proto.

Safe Dry-Run Mode

Includes a --dry-run flag to log system commands without execution, reducing risk by letting users verify changes first.

Easy Reversion

The --stop command quickly reverts all network impairments, minimizing disruption and simplifying cleanup after testing.

Cons

Missing Windows Support

The README explicitly states that Windows implementation is not yet available, limiting its utility in mixed-OS environments.

Platform Feature Discrepancies

On BSD systems, Comcast only supports device, latency, bandwidth, and packet loss, unlike Linux which offers additional options like target protocols and ports.

Root Access Dependency

Requires administrative privileges to execute underlying system tools, which can be problematic in containerized or locked-down environments.

Frequently Asked Questions

Quick Stats

Stars10,513
Forks378
Contributors0
Open Issues24
Last commit1 year ago
CreatedSince 2014

Tags

#devops#chaos#distributed-systems#network-testing#latency#system-administration#resilience-testing#traffic-control#chaos-engineering#go#latency-simulation#go-tool#bandwidth

Built With

G
Go

Included in

JVM2.2k
Auto-fetched 5 hours ago

Related Projects

okhttpokhttp

A meticulous HTTP client for the JVM, Android, and GraalVM.

Stars47,062
Forks9,294
Last commit6 hours 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
AeronAeron

Efficient reliable UDP unicast, UDP multicast, and IPC message transport

Stars8,846
Forks1,089
Last commit17 hours ago
SimianArmySimianArmy

Tools for keeping your cloud operating in top form. Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.

Stars7,980
Forks1,114
Last commit7 years 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