netbrake provides a process oriented bandwidth limitation.
Netbrake is an utility to limit the bandwidth used by a process. It does not require to modify the kernel, nor to be root in order to work. It is useful when you need to download a very big file from a fast server to avoid a network congestion that will result in a too slow web/irc/... experience. I use it mostly to download big files (like the kernel source code) with wget.
Netbrake also implements a very simple HTTP filesystem extension, so you can use the standard text utils against some URL, without to change the code, nor recompile.
Netbrake consists of a little dynamic library (libnetbrake.so). This library provides wrappers for important system calls, this makes possible the bandwidth limitation. To override the libc syscalls wrappers with the netbrake's ones you need to use LD_PRELOAD. To improve the easy of use a simple program (netbrake), that exports the right LD_PRELOAD environ variable and run the specified command (the one you need to limit) is included in the distribution.
· Netbrake is not mature software, the current version is 0.2
· It was a fast hack for my internal use so I can't ensure it will be mantained/extended in the future. For sure I'll apply minor fix if you send me diffs.
What's New in This Release:
· The 0.2 version fixes a compilation bug with new versions of glibc.