jagt.github.io Open in urlscan Pro
2606:50c0:8003::153  Public Scan

URL: http://jagt.github.io/clumsy/index.html
Submission: On October 30 via api from QA — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

 * About
 * Download
 * Manual
 * Who is using clumsy?

中文版


CLUMSY 0.3

clumsy makes your network condition on Windows significantly worse, but in a
managed and interactive manner.

INTRODUCTION

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:

 * No installation.
 * No need for proxy setup or code change in your application.
 * System wide network capturing means it works on any application.
 * Support not only HTTP, any protocol based on TCP/IP is supported.
 * Works even if you're offline (ie, connecting from localhost to localhost).
 * Your application keeps running, while clumsy can start and stop anytime.
 * Interactive controll how bad the network can be, with enough visual feedback
   to tell you what's going on.

IN ACTION

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:

DETAILS

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:

 1. Lag, hold the packets for a short period of time to emulate network lagging.
 2. Drop, randomly discard packets.
 3. Throttle, block traffic for a given time frame, then send them in a single
    batch.
 4. Duplicate, send cloned packets right after to the original one.
 5. Out of order, re-arrange the order of packets.
 6. Tamper, nudge bits of packet's content.

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.

--------------------------------------------------------------------------------

jagttt@gmail.com