

Hopefully clumsy can provide an easy and painless (though suboptimal) option to do this for busy developers. Properly handle this usually requires adding more code in their projects, and it's not always easy nor possible. You don't want a duplicated UDP packet to crash your application. 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. Tamper, nudge bits of packet's content.Out of order, re-arrange the order of packets.Duplicate, send cloned packets right after to the original one.Throttle, block traffic for a given time frame, then send them in a single batch.


Here's a demo of clumsy working on a netcat listening for localhost udp packets, illustrated as animated gif. Interactive controll how bad the network can be, with enough visual feedback to tell you what's going on.Your application keeps running, while clumsy can start and stop anytime.Works even if you're offline (ie, connecting from localhost to localhost).Support not only HTTP, any protocol based on TCP/IP is supported.System wide network capturing means it works on any application.No need for proxy setup or code change in your application.Whether you want to track down weird bugs related to broken network, or evaluate your application on poor connections, clumsy will come in handy: the packets on demand, then send them away. Leveraging the awesome WinDivert library, clumsy stops living network packets and capture them, lag/drop/tamper/. Clumsy makes your network condition on Windows significantly worse, but in a managed and interactive manner.
