clumsy
toxiproxy
Our great sponsors
clumsy | toxiproxy | |
---|---|---|
22 | 25 | |
4,782 | 10,232 | |
- | 1.6% | |
0.0 | 6.7 | |
5 months ago | 16 days ago | |
C | Go | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
clumsy
-
Toxiproxy – simulate network and system conditions for chaos testing
And clumsy https://github.com/jagt/clumsy which is windows only.
- Artificially Producing Poor Internet?
- Simulating poor network connections so you can build better systems .
-
`zig cc`: a Powerful Drop-In Replacement for GCC/Clang
I recently ported my project to build with zig cc. The build script is here. At the current state it's already a competent replacement to msys2(and to TDM-GCC if you know what it is).
- Simulate Slow internet and high Latency? (Satelite internet)
-
Got reasons to believe that, both the Firefox UI hanging and video playback hanging, has something to do with a "UNSTABLE internet connection".
I have to use proxy. I used a plugin called SwitchyOmega to configure proxy settings. And the issues page (https://github.com/FelisCatus/SwitchyOmega/issues) showed quite a few complains about the UI hanging. Some says switching to another proxy configuring plugin will solve the problem. Not working for me! Not only did I tried FoxyProxy. I even tried a fresh new profile with no plugins installed! Tried configuring proxy in Firefox settings, still lags! One of the issues posts there (https://github.com/FelisCatus/SwitchyOmega/issues/2197) showed a way to simulate bad network. If Firefox devs have trouble reproducing the issue, might try the tool called Clumsy (https://github.com/jagt/clumsy/releases) mentioned in the issue post. (I cannot verify this for you because I always have a bad network connection. Need someone with a good connection to test this out. See if Firefox lags few times a day with a bad connection.) But how bad the simulated network should be. Well... I can't give a complete answer. My bad network has about 500ms of "lag", and about 40% of package "drop" rate. There are some "duplicates", not sure how much and what rate. The other 3 (Out of order, throttle, tamper) I don't really know.
toxiproxy
-
Speedbump – a TCP proxy to simulate variable network latency
Checkout also shopify's awesome tool called toxiproxy: https://github.com/Shopify/toxiproxy
It turns out to be also a very good way to test a networking library by implementing it. Since your stack needs to be able to basically handle most adverse events properly.
The idea behind 'chaos engineering' is cool.
-
Twenty-five open-source network emulators and simulators you can use in 2023
I use this to simulate delays between various local services:
https://github.com/Shopify/toxiproxy
If you have Docker all you need is a few terminal commands
- Toxiproxy – simulate network and system conditions for chaos testing
-
Artificially Producing Poor Internet?
Idk about firewall level, but application level I’d recommend https://github.com/Shopify/toxiproxy
-
Speedbump - a TCP proxy for simulating variable network latency
On the same vibes as https://github.com/Shopify/toxiproxy
-
Ask HN: How do I force network failures during development against remote APIs?
https://github.com/Shopify/toxiproxy is a perfect solution for that. I used it quite successfully years ago and it looks like it's still pretty active.
-
Is there a tool to control bandwidth for debugging purposes?
I also tried toxiproxy but it doesn’t support TLS which is also important to me.
Looking at the toxiproxy you mentioned, it seems like it should do what you want though? TLS is generally over TCP anyway, so it should still be able to throttle those connections - it just wont understand the encryption. I also saw a pull request for having it act as a TLS man-in-the-middle proxy: https://github.com/Shopify/toxiproxy/pull/270
That's unfortunate. My next idea was if you have a spare raspberry pi lying around, you could connect it to a wifi network, connect your Jetson to the raspberry via ethernet, and then setup routing rules on the raspberry to route packets between the wifi and ethernet interfaces, essentially using the raspberry pi to connect the jetson to the router, allowing the raspberry pi to be in the middle of all the traffic - then you could use tc to control the traffic on the raspberry pi... assuming tc works on the raspberry pi. Warning I haven't done this either, though I've had some interest in rigging up a raspberry pi this way for stuff similar to this. Looking at the toxiproxy you mentioned, it seems like it should do what you want? TLS is generally over TCP anyway, so it should still be able to throttle those connections - it just wont understand the encryption. I also saw a pull request for having it act as a TLS man-in-the-middle proxy: https://github.com/Shopify/toxiproxy/pull/270 But again, that would only be necessary if you need it to understand the encryption - SSL/TLS MITM proxies pretend to be t he site you are trying to connect to and even present a generated certificate which you will generally have to accept, which allows them to decrypt your connection and then they setup their own SSL/TLS connection to the actual site and proxy between them. Other popular SSL/TLS mitm proxies include mitmproxy and Zed Attack Proxy, but not sure if they have traffic shaping/controlling abilitiies.
-
Test Your Product on a Crappy Laptop
I've used toxiproxy [1] to imitate various network problems (slowness, lost packets, dropping connections, etc). It works pretty well, and is even amenable to running during functional / integration tests.
What are some alternatives?
rkt
heka - DEPRECATED: Data collection and processing made easy.
Hugo - The world’s fastest framework for building websites.
Docker - Notary is a project that allows anyone to have trust over arbitrary collections of data
Juju - Orchestration engine that enables the deployment, integration and lifecycle management of applications at any scale, on any infrastructure (Kubernetes or otherwise).
nes - NES emulator written in Go.
pwc - Password card generator
Documize - Modern Confluence alternative designed for internal & external docs, built with Go + EmberJS
LiteIDE - LiteIDE is a simple, open source, cross-platform Go IDE.
myLG - Network Diagnostic Tool
Comcast - Simulating shitty network connections so you can build better systems.
croc - Easily and securely send things from one computer to another :crocodile: :package: