Clumsy Looter Mac OS
Releases
Notice: clumsy only support Windows Vista, Windows 7 and above. 64bit Windows users are strongly recommanded to download the 64bit build.
Apple recently released Mac OS X v10.12 Sierra. We have discovered some issues with the compatibility of Canon’s Camera Window DC, EOS Utility and Map Utility software programs with Mac OS X v10.12 Sierra that may cause certain functions of such Canon software not to work.
- System 7 Today, Advocates of Apple's 'Orphan' Mac OS 7.6.1, Tommy Thomas, Welcome to Macintosh, 2006.10.26. Why Mac OS 7.6.1 is far better for 68040 and PowerPC Macs than System 7.5.x.
- Access your iCloud content on your Mac. ICloud is the easiest way to make sure all your important content is everywhere you are. ICloud stores your documents, photos, music, apps, contacts, and calendars, so you can access them anytime you’re connected to the web.
- File Name Product File size Time Download; Project - RainInTheValley APC 17.5 mb: 2017/12/19: Project - Manjusaka APC 16.4 mb: 2017/12/19: Garageband installation patch.
0.2 - Updated WinDivert to 1.1.7.
- 32bit: clumsy-0.2-win32.zip (MD5:9aab0d257661a4f75831a7186254725b)
- 64bit: clumsy-0.2-win64.zip (MD5:c5117edad320930d14d18c1cac2a4ccd)
Install
Extract downloaded zip file to arbitrary directory and execute clumsy.exe. clumsy is alpha quality software and does have some gotchas. Be sure to read the manual page before using it.
Build
If you have Visual Studio 2012 or TDM-GCC 4.8.1 installed then building is rather easy. Currently no other environment is supported.
Clone the repository. Then you'll need premake 4.4-beta5 to build the solution or makefiles. premake currently can only generate VS2010 solution file. Open it in VS2012 and choose upgrade works fine. All external dependencies are included in the repo, so it should build out of the box.
If you choose to build using VS2012, remember the runtime MUST be dynamically linked. This is due to provided library binaries are using dynamic runtime. This means if you want to distribute your builds, the user needs to install VS2012 runtime. It is recommended to use the awesome TDM64-GCC 4.8.1 to build the project. It would generate binaries without other dependencies execpt those are included here. This is also how the provided clumsy binaries above are built.
Acknowledgements
Here's a list of things used to build clumsy.
- WinDivert used to handle the magical Windows packet capturing/reinjecting. It installs network drivers at runtime and removes it when closing, encapsuled the underdocumented Windows Filtering Platform, does a bunch of things that non Windows developers can hardly figure out how in years. WinDivert jam all these into a handful of functions for you to use for free, while similar commercial solution costs thousands.
- IUP Portable User Interface ANSI C library to build native cross platform GUI. It's so wonderfully designed and you can pick it up in a single day, and it's a full funcion GUI toolkit in C. Think about it.
- LICEcap free and open source gif capturing that just works.
Similar softwares
Here's a list of simlilar softwares aiming to solve the same problem, provided in case of looking for alternatives.
- Network Emulator for Windows Toolkit (Windows) - network emulator provided by Microsoft.
- ipfw or pfctl (FreeBSD/OSX) - low level packet filter.
- wipfw (Windows) - ipfw Windows port with only a subset of functions.
- netem (Linux) - Linux kernel supported network emulation.
- tc (Linux) - Configure traffic control in the Linux kernel.
- Throttle (Mac) - Simulate 3G network through shared wireless network.
- Network Link Conditioner (Mac) - XCode bundled network conditioner.
License
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:
Clumsy Looter Mac Os 11
- Lag, hold the packets for a short period of time to emulate network lagging.
- Drop, randomly discard packets.
- Throttle, block traffic for a given time frame, then send them in a single batch.
- Duplicate, send cloned packets right after to the original one.
- Out of order, re-arrange the order of packets.
- Tamper, nudge bits of packet's content.
Clumsy Looter Mac Os X
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.
Clumsy Looter Mac Os Download
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.