Clumsy 4.0 - Added application level filtering#191
Open
foodak wants to merge 4 commits into
Open
Conversation
Add an optional application filter that limits impairments to packets attributed to configured process names or executable paths. The filter uses IP Helper table seeding plus WinDivert FLOW events to track target processes, child processes, TCP flows, UDP endpoints, and remembered local ports. The network capture filter is rebuilt as target ports appear and expire, so broad presets such as "ip or ipv6" do not route unrelated applications through the impairment pipeline. Update the UI with a "Limit to application" section, process-name/full-path matching, and executable browse support. Child-process inclusion is now the default behavior, which supports portable launchers such as SpeedtestPortable. Add a default "ipv4 + ipv6 all" preset and document the application filter behavior. Also add the required Iphlpapi linkage to supported build files, increase the filter buffer capacity, safely truncate oversized debug log messages, reduce bandwidth drop log spam, and make Debug builds easier to diagnose from a console. Refresh the IUP layout/redraw handling so the new controls remain visible after focus changes from tools such as Snipping Tool. Validation: - Built Debug x64 with MSBuild - Built Release x64 with MSBuild
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update the fork to clumsy 4.0, mainly adding app-level filtering so clumsy can target a specific executable instead of affecting everything.
The new Limit to application option supports matching by process name or full executable path, with a Browse button for selection. Traffic is attributed to processes using WinDivert FLOW tracking plus IP Helper endpoint seeding, while packet modification still happens on the existing NETWORK layer. Packets from other apps, or packets that cannot be attributed, are passed through unchanged.
This also updates the Windows build/release setup for VS2022, adds the needed
Iphlpapi.liblinkage.