clumsy makes your network condition on Windows significantly worse, but in a managed and interactive manner.
Leveraging the awesome WinDivert, clumsy intercepts live network packets, performs lag/drop/tamper/throttle operations on demand, and forwards them. Whether you want to debug connection edge-cases or test application resilience, clumsy is designed to be simple and lightweight:
- No installation required: run the executable directly without system installation.
- No proxy configuration: works without proxy setup or application code modifications.
- System-wide capture: intercepts network packets system-wide across all active applications.
- Offline loopback support: works even when offline (e.g., localhost/loopback connections).
- Non-disruptive toggling: keep target applications running while starting or stopping degradation.
- Interactive controls: configure network degradation dynamically with real-time feedback.
See the clumsy homepage for more information and the original build instructions.
This fork introduces key features, UI/UX refinements, and stability improvements:
- Process targeting: filter network traffic for specific applications by name (e.g.,
discord.exe,chrome.exe,roblox) instead of guessing static port ranges. - Dynamic socket mapping: tracks connection mappings dynamically to match network sockets to active processes.
- Safe cleanups: automatically handles mid-session connections and releases system resources on stop or exit.
- Execution limits: restrict packet filtering sessions to a configured duration in milliseconds.
- Auto-stop safety: automatically stops network degradation when the duration timer expires.
- Custom shortcut: configure a global hotkey in
config.yaml(e.g.,hotkey: f6orhotkey: ctrl+shift+c). - Visual shortcut guide: displays the active hotkey next to the Start button in the UI.
- One-click toggle: toggle packet interceptors on or off globally at any time using the hotkey.
- YAML format: configuration file upgraded to a structured, documented
config.yaml. - Default fallback: automatically generates a default, valid
config.yamlif missing on boot. - Preset editor: save custom configurations or delete existing ones directly from the UI.
- Dynamic
<custom>selection: automatically switches the dropdown selection to<custom>when settings are tweaked. - Legacy migration: automatically parses and upgrades old
config.txtconfigurations toconfig.yamlon startup. - State saving: filter text, target process, duration timer, and module settings are saved to
state.txton exit. - Restore state: restores active settings on launch without auto-starting.
- Side-by-side frames: restructured UI layout to place Process Filter and Session Timer settings side-by-side.
- DPI and layout safety: dynamically calculates minimum window size based on natural element dimensions (
RASTERSIZE) to prevent clipping and text wrapping across different screen DPIs. - Detached console: fully detached console subsystem to run clumsy cleanly as a windowed application.
- Active state title indicator: window title displays
(running)when packet filtering is active. - Per-module packet statistics: real-time counters display the number of packets affected by each module.
- Context tooltips: comprehensive tooltips on all modules and controls, including a guide for WinDivert filter syntax.
Simulate network latency, delay, packet loss with clumsy on Windows:
This project is licensed under the MIT License.
