clumsy makes your network condition on Windows significantly worse, but in a managed and interactive manner.
Leveraging the awesome WinDivert library, clumsy stops living network packets and capture them, lag/drop/tamper/.. the packets on demand, then send them away. Whether you want to track down weird bugs related to broken network, or evaluate your application on poor connections, clumsy will come in handy:
Here's a demo of clumsy working on a netcat listening for localhost udp packets, illustrated as animated gif.
If you figured out what's going on then go to Download page and give it a try! If not, scroll on:
clumsy will choose which packets to capture by given filter, in which in can specify whether it's inbound or outbound, tcp or udp, socket port or ip, or a logical combination of many of those criterias. When started clumsy will only capture packets based on the filter, leaving others untouched.
After packets are captured, you can choose to enable provided functions to worsen perspective network condition:
Though nowadays it seems everybody have high speed broadband Internet connection, it's still important to face the fact that network transportation isn't always reliable. You don't want a duplicated UDP packet to crash your application. Properly handle this usually requires adding more code in their projects, and it's not always easy nor possible. Hopefully clumsy can provide an easy and painless (though suboptimal) option to do this for busy developers.
The project repository is on github. Download clumsy here. But before you actually use it, be sure to read the manual to know its capabilities and limitations.