jagt / clumsy Goto Github PK
View Code? Open in Web Editor NEWclumsy makes your network condition on Windows significantly worse, but in a controlled and interactive manner.
Home Page: http://jagt.github.io/clumsy/
License: Other
clumsy makes your network condition on Windows significantly worse, but in a controlled and interactive manner.
Home Page: http://jagt.github.io/clumsy/
License: Other
First off, awesome tool - thanks!
I'd love to see ability to set a specific rate limit on bandwidth. At the moment it allows you to set a relative throttle (in %), but that doesn't allow me to set up cases like: "I want to see how the app/page will behave on 200ms RTT with 1Mbps downlink". Is that a plausible thing to implement? I think it would be a very popular feature for web developers. :)
有木有大神有写好的 热键开关 和默认开启Drop。
麻烦大家了。。。
While 1000ms is a significant amount of time., there are senarios where is could be higher.
Hi jagt,
The current version of clumsy is using a very old version of WinDivert, namely WinDivert1.1.1 for the latest 0.2-rc release. WinDivert1.1.1 contains bugs that may affect clumsy, e.g. see here.
I recommend upgrading to the latest version of WinDivert (currently WinDivert1.1.6), and then to WinDivert1.1.7 when it is released (hopefully released 1-2weeks).
I'm observing an interesting situation where I start with the following filter:
tcp and (tcp.DstPort == 80 or tcp.SrcPort == 80)
We have an internal website (internal network, not localhost) that load time looks like this without Clumsy running (consistently over ~10 page loads):
DOMContentLoaded: 600ms
Load event fired: 700ms
However, if I click "start", but do not enable any functions (nothing is checked), that load time now looks like this (repeatable result):
DOMContentLoaded: 1,500ms
Load event fired: 6,500ms
The testing was done in Chrome, and the time was measure in the Network tab of Chroms dev tools. Now, if I enable lag for 20ms, the time reduces even further (as expected):
DOMContentLoaded: ~2,000ms
Load event fired: ~9,500ms
However, because of the overhead, this makes me wonder - does adding 20ms of lag really make my website take 2.5 seconds longer to load (e.g., if I had a real 20ms lag without clumsy running), or does Clumsy add some additional overhead as part of those 2.5 seconds (as evidenced by the fact that just running Clumsy, with nothing enabled, made a 600 ms request triple to ~1.5secs)
i.e. any TCP request on port 80 will always take 3 times longer just with clumsy running? And therefore a 20ms lag that added 2.5secs of load time would, in reality, only add 2.5 / 3 total seconds of load time?
So, I guess my question is this:
My game that I am making sends out a lot of packets and clumsy is not lagging them properly. Even if I select a lag setting of 2 ms the packets get delayed longer and longer. It is as if some kind of queue is building up.
When trying to use Clumsy it flickers constantly and I am unable to use. I have been using it before and it was fine, any ideas? Is there some type of permissions or something that could cause this?
Rather than a constant latency value, some variation in latency within a distribution (uniform or normal) seems like a more realistic simulation. Just wondering how viable this would be to implement?
ip.DstPort == 12354 or ip.SrcPort == 12354 is not valid (default rule)
tcp.DstPort nor tcp.SrcPort is working (however valid rule)
Host machine: Windows 8 64b, version clumsy: 0.2 64b
I'm attempting to run Clumsy on a web server with Windows Server 2012 R2. Whenever I attempt to start filtering, I get an error:
Failed to start filtering: failed to open device (code: 1753) Make sure you run clumsy as Administrator
I am running as administrator. I notice a similar, closed issue for Windows Vista and Windows Server 2008, but I'm not sure if the solution will apply to Windows 2012, since the Microsoft KB article does not mention 2012.
I saw a comment for another issue that Clumsy depends on having the Base Filtering Engine service running. When I start that I get another error code: 2150760455 (the rest of the error message is identical)
Please let me know any suggestions.
Thanks
I've seen this behavior on releases 0.2 and 0.3rc2.
The included IUP library is outdated (3.8), it does not handle HiDPI-supporting applications. The newest version (3.16) includes HiDPI support.
Sidenote: to make clumsy HiDPI compatible, call SetProcessDpiAwareness(PROCESS_SYSTEM_DPI_AWARE);
from main()
.
Is there any specific reason why you cut the latency at 3000ms? I would like to rather have a latency of 20 seconds. Could I easily change it or did you face problems before when you tried that?
I do this: IupSetAttribute(toggle, "VALUE", "OFF");
this uncheck checkbox but function still working.. If I Start and Stop clumsy - function still working too..
Please help me.
(sorry for my bad english)
im sure i have started with the adminstartor but whn i press start it will not start it give me this error
Command line: clumsy.exe --filter "outbound" --lag on --lag-outbound on --lag-chance 100
Lag stays at default value of 50.
Clumsy isn't able to start filtering, gives an error:
Failed to start filtering: failed to open device (code:1753)
Windows 7 x64
NIC: Realtek PCIe GBE Family Controller (on board), no other network cards
COMODO Firewall (latest)
It is a physical PC, not VM.
I run Clumsy from unpacked clumsy-0.2-win64.zip, of course i do have admin privileges.
http://jagt.github.io/clumsy/ - has no donate button
https://github.com/jagt/clumsy - has not donate button
clumsy.exe - has no donate button
Please add donate buttons (or at least one). if do not accept donation, please route to some other organization.
The filter ip.DstPort == 12345 or ip.SrcPort = 12345
doesn't work, displaying Failed to start filtering : filter syntax error.
using tcp.DstPort... or tcp.SrcPort... or udp.DstPort... or udp.SrcPort
does work.
Clumsy 0.2 starts up the program fine with Windows Server 2008. However, whenever I press the Start button, it will produce the error message: 'Failed to start filtering : failed to open device (code:127). Make sure you run clumsy as Administrator'.
This occurs when I use the default localhost ipv4 all preset ('outbound and ip.DstAddr >= 127.0.0.1 and ip.DstAddr <= 127.255.255.255'). It also happens with the other presets. If I leave the filtering textbox blank, it will give a 'Failed to start filtering : filter syntax error.' error message instead.
This message occurs on both 32 and 64 bit operating systems. I'm running the program with an administrator account, and I've right-clicked on the executable and selected 'Run as administrator'. The program runs correctly on Windows 7 though.
I am observing a reproducable and constant degradation of network performance on a Windows 7 machine even after Clumsy has been closed.
I do not see any leftover process that I could identify as part of clumsy left behind though.
Any remedies?
Can someone please make a hotkey for the start/stop button, I have tried Autohotkey but with my extremely limited knowledge of coding in any sense or form. I can't figure it out myself thanks in advance if this is possible and if not sorry for the bother.
is it possible to use this with command line only?
Just a suggestion/question that i would like to share.
I've been experimenting with clumsy and a windows file share and with:
-Clumsy Running
-Filtering Started
-No functions enabled
I experience a poor network connection. If I stop the filtering then the connection will go back to normal.
If no functions are enabled and filtering is running should n't I expect to see a normal network connection.
Seems the connection is affected even before functions are being enabled.
John
I'm using Clumsy on Window's 10 and it doesn't do anything when using ping. When using my software, it behaves arbitrarily. Am I missing an installation or configuration step?
Like there are filter presets, but for
{3g, 4g, wifi, ethernet} x {very remote server, local server} - total 8 presets for network qualities.
So people can check out their scenarios from kind of some ground.
I guess presets could be deduced from:
https://na.leagueoflegends.com/en/page/ethernet-vs-wifi-ping-packets-playing-better
https://hpbn.co/mobile-networks/#real-world-3g-4g-and-wifi-performance
http://dl.ifip.org/db/conf/networking/networking2016/1570235910.pdf
With version 0.2, the chance parameters can only be set to as low as 0.1%. Any lower and the chance is effectively 0%.
Can you make it much more granular? I'm testing the transfer of some files over SMB, with 0.1% everywhere and it's still too drastic - the network becomes basically unusable.
In order for clumsy to be deployed in automated test runs, it is necessary to be able to control clumsy from other applications.
Ideally clumsy would:
hi can you add a hotkey feature, so when we press the hotkey, it presses the start button with the current settings we have on? thanks!
Hi there,
the current black on transparent icon is not visible in the default Windows 10 task bar.
When the clumsy window is active, one can vaguely see an icon, but the contrast is very low.
I would suggest to outline the icon, but I am not a designer :) Any suggestions or opinions? I am also happy to submit a PR with a modified icon.
Best,
Tobias
If I use only "inbound" or only "outbound" filter it seems to affect the traffic speed. But if I put "inbound and outbound" it goes back to full speed.
I see not work done for 3 year. Any alive fork?
Make a Hotkey control of Stop/Start
which contains OnlyActiveWhile("" == Pressed)
and Toggle to active.
Hi there,
So I've been using Wireshark to check out the functionality of clumsy, and found that the out of order function doesn't seem to work. I've ticked inbound and outbound as well as putting the chance value as 100%, with no observable effect. I know this is the case because I have timestamps within my UDP packets, and have observed a consistent second by second increment within the packets.
I've confirmed I've got the right filtering settings by checking drop and observing dropped packets within Wireshark. The same results were found for lag, throttle.etc
Was just wondering if anyone else has had this issue with out of order and knows of a workaround?
Any help would be greatly appreciated =)
Cheers,
Moh
Expected:
Actual:
I am interested in a simple bandwidth limiting effect. I have uncommented a section of Clumsy that contained a "cap" effect. This effect seems to have the correct logic. One issue that I see is a packet is always pushed from the local "cap" buffer. There is a comment in the "cap" process loop indicating that the local buffer packet will get stuck if a packet is not pushed during a process cycle. This seems to be the case if the code is modified to not output a packet every cap::process cycle.
Any insight into this "cap" effect effort / removal would be appreciated.
Thanks,
Bob
example: outbound and ip and (udp or tcp)
Removing udp
works fine, but including it causes clumsy to hang after anywhere between 10 seconds and a few minutes. Clumsy becomes unresponsive and I have to force close it, disable the network adapter, then enable it to get a network connection back. The disable/enable process takes a good 5 minutes to complete too.
Hi, I am using clumsy for simulating WAN latency on two intefaces between win and linux servers and I see that its unable to add latency for outgoing traffic generated using a simulator, however its working fine for incoming traffic.
I tried using different filters based on SrcAdr and DstAdr.
Note:Both simulators are running on same machine.
Regards,
Amit
When running premake
I get the following error message:
premake4.lua:116: attempt to call global 'debugdir' (a nil value)
I am in taxi. I got from one LTE/3G/mobile base station into another. While gaming I have ping 100. But during transition I have 300. Than again 100. Would be interesting to have check box to float all ON parameter from 0 to maximal values, with some modification of total bad time, and some formula to raise issues and stop them - abruptly or smooth.
E.g. ping could be:
100 100 100 100 100 300 400 200 100 100 100 100.
So I can make things smooth in my game even if floating network.
How can i uninstall/delete clumsy?
I havent fit Internet
On a fresh restart, clumsy ALWAYS works. Sometimes I have to close clumsy and open back up (for testing purposes).
Randomly (but very very frequently) I will get the following error message when starting back up.
Failed to start filtering : failed to open device (code:1058). Make sure you run clumsy as
Yes, for SURE it is being run as admin. I don't understand how to fix this! Restarting computer fixes it every time.
Please please please... how do I solve this without restarting??
See screenshot below:
See pic: http://i.imgur.com/uTZTiIq.png
I'm trying to start and stop clumsy from command line. Is it possible to do this? I can run the command to start it initiating the filters and all, but how do i stop it? I'm using the drop feature.
can y’all delete clumsy
Should Clumsy check to see if there's an existing UI instance running, and if so, simply switch to it?
(This might be a little tricky due to the UAC elevation dance that runs at the beginning)
I need to simulate a satelite connection that includes latencys of 2-3 seconds and a fixed (max) bandwidth. Is this possible with the tool?
There are wood, God and written hotkey switch, and drop is enabled by default.
Please...
I am running clumsy on a router but it doesn't seem to capture any routed traffic, is it possible to do so?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.