5 ms·
Toxy, a hackable HTTP proxy to simulate failure scenarios
- fica 11y agoThis is amazing! It would work very well with any API gateway like KONG [1], especially to test unexpected network conditions for our internal APIs. [1] https://github.com/Mashape/kong https://github.com/Mashape/kong
- trishume 11y agoThis looks suspiciously similar to https://github.com/Shopify/toxiproxy https://github.com/Shopify/toxiproxy which is an older project. It even uses similar naming "toxic" "poisons".
- eric_h 11y agoSuspicious seems inappropriately sinister. The project you linked is a go project, the OP is JavaScript. Imitation is the most sincere form of flattery.
- jdrumheller 11y agoWould it be possible to sort traffic by L2 or L3, and only apply to certain MACs or IP addresses? I can see that being very useful for PXE and provisioning in "cloud" environments.
- h2non 11y agoYou can create your own rule to do that, for instance, inspect the request remote connection address. Then, you can apply that rule to the bandwidth poison. The poison will be only applicable if the rule passes.
- vangale 11y agoAlong with this and Kong there is also https://github.com/mailhog/MailHog https://github.com/mailhog/MailHog for testing SMTP failure scenarios on outgoing email.
- crdoconnor 11y agoI wrote a similar thing to this too: https://github.com/hitchtest/hitchsmtp#bad-smtp-server https://github.com/hitchtest/hitchsmtp#bad-smtp-server It just outputs the mail it receives to stdout as JSON for easy parsing. Sending to specific email addresses "e.g. 451-please-try-again-later@smtperrors.com" will trigger specific SMTP errors.
- sitkack 11y agoPlease make airbnb run this. Their site is such utter cow dung on a flaky connection. It would cache broken assets, they must test with a 1G connection to the colo.
- lkarsten 11y agoOn linux netem can help you do something similar. It is also faster, better tested, has more features and so on. I guess an argument can be made about the user interface, as tc is a nightmare. :-)
- gaul 11y agoSimilar project: https://github.com/bouncestorage/chaos-http-proxy https://github.com/bouncestorage/chaos-http-proxy
- crdoconnor 11y agoSimilar project: https://vaurien.readthedocs.org https://vaurien.readthedocs.org
- nitrogen 11y agoA somewhat related tool that is also very useful is mitmproxy.
- warrior10111 11y agois there a "verbose" option?
- _greim_ 11y agoSimilar project: http://greim.github.io/hoxy/ http://greim.github.io/hoxy/ - It also has throttling and latency simulation, but not as fine-grained. It's focus is more generally on debugging and traffic manipulation.
- andrewsteed 11y agoDoesn't appear to support https. Ideally a similar mechanism to say Fiddler/Charles Proxy where a certificate is provided and appropriately translates the https between both sides of the connection. Obviously you would need to trust a new root. I'm fine with that on a dev/qe machine. Basically, DNS injection for a machine would mean no noticeable difference in HTTPS.