Sometimes it’s useful to limit the bandwidth used by some of your programs, perhaps you want to limit your Browser or FTP client, and they dont’ have a native way to limit the input and/or output bandwidth they are using, there is a small application that can solve this problem for you: Trickle
trickle is a portable lightweight userspace bandwidth shaper. It can run in collaborative mode (together with trickled) or in stand alone mode.
trickle works by taking advantage of the unix loader preloading. Essentially it provides, to the application, a new version of the functionality that is required to send and receive data through sockets. It then limits traffic based on delaying the sending and receiving of data over a socket. trickle runs entirely in userspace and does not require root privileges.