WinDivert-based per-process network bandwidth limiter for Windows
netregu is a simple CLI tool that allows you to limit the network bandwidth of specific processes on your Windows machine.
- Get CMake
- Install it (select the option to add it to the system PATH)
- Get WinDivert
- Download the latest release and extract it
- Copy
include/windivert.htonetregu/include/ - Copy
x64/WinDivert.libtonetregu/lib/
- Get CLI11
- Download the latest
CLI11.hppfile and copy it tonetregu/include/
- Download the latest
- Build the app
- Open a terminal and cd into the
netregufolder - Run
cmake --preset=x64-release -B build/x64-release && cmake --build build/x64-release --config Releaseto build the app
- Open a terminal and cd into the
- Go back to the extracted WinDivert folder
- Copy
x64/WinDivert.dlltonetregu/build/x64-release/Release/ - Copy
x64/WinDivert64.systonetregu/build/x64-release/Release/
- Copy
- Run the app using a terminal with administrator privileges (required for WinDivert)
- Use command line options to specify which processes to limit and the desired bandwidth limits (
netregu --helpfor details)
- The app can introduce some latency to network traffic due to packet processing
- Some connections are not directly detected and the responsible process will be unknown until that connection is closed and reopened (for example by restarting the application/download or reloading the browser tab)
- The app may not work correctly with other applications that modify network traffic