Nice! There was a different tool in the same category, aptly named "Comcast", featured on HN a few weeks ago: <a href="https://github.com/tylertreat/Comcast" rel="nofollow">https://github.com/tylertreat/Comcast</a>
At work we've been running into problems performing npm installs over a VPN. I'm suspicious that it relates to executing too many concurrent HTTP requests. This motivated me to create crapify, a tool which lets us experiment with throttling connection speed and concurrency.
On OS X you can achieve something similar using ipfw<p>For example,<p>sudo ipfw pipe 1 config bw 500KByte/s<p>Limits all network on your box to 500kb/s<p>sudo ipfw add 1 pipe 1 src-port 443<p>To direct all traffic through port 443 through your slow pipe<p>sudo ipfw delete 1<p>When you are all done delete
This is cool. If it could add random NATing between various VLANs and occasionally not open firewall ports as configured, it would be a simulation of my work environment!
A more complete version of this:
<a href="https://github.com/lightbody/browsermob-proxy" rel="nofollow">https://github.com/lightbody/browsermob-proxy</a><p><pre><code> * captures performance data in the HAR format.
* blacklisting and whitelisting certain URL patterns
* simulating various bandwidth and latency
* remapping DNS lookups
* flushing DNS caching
* controlling DNS and request timeouts
* automatic BASIC authorization
* REST API</code></pre>
Why not use DummyNet, Clumsy or Network Link Conditioner (depending on your OS of choice)?<p>If you really need a HTTP proxy there are tools like Charles (although the low RTT to a proxy may change the nature of the testing)