Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I notice that iTunes seems to suck up all my bandwidth and doesn’t play nice with other applications that use the web when it's downloading. In fact, it doesn't even give itself enough bandwidth when browsing the iTunes Store while downloading large or many files (podcasts, TV shows, large apps, etc).

I'm not concerned with getting all my downloads as soon as possible, they're really low priority, and I'd rather not have to do this while I'm awake, but I can't hit the refresh button if I'm in bed and forgot it already.

Is there an application or tool via the Terminal to limit the download bandwidth that iTunes gets without also hindering web browsers or other applications?

FOSS/GPL software is preferable, but pay software might be acceptable too.

share|improve this question

6 Answers 6

How about waterroof? It's an easy front end for IPFW. (And open source.)

share|improve this answer
Very nice, I'll have to look at it later. Are you aware of any tutorials on it for my intended use? –  Kio Dane Apr 9 '10 at 15:32

This is a really perverse thought, but you might be able to use Mac OS X's built-in ipfw and dummynet to write rules to do this. See the man pages for those tools.

share|improve this answer
A video of someone doing just that on OSX: youtube.com/watch?v=VgwR230coOw –  Prof. Falken Jun 8 '11 at 9:42


CLI (no port-specific filtering but can be adapted):

These tools rely on ports or port ranges as a filter criterium. If you don't know what ports your application uses you can check its documentation or use lsof while the appplication is running to reveal the ports numbers.

sudo lsof -i -P

Most or all of the tools use ipfw which is officially deprecated in favor of pf, so not sure if these solutions will work on OS X 10.9 and beyond.

share|improve this answer

trickle is what you're after.

The only issues are that it does not support executables utilizing kqueue, and it does not support statically linked executables. iTunes should be fine.

share|improve this answer
I couldn't get trickle 1.0.6 or 1.0.7 to build. After running ./configure I get an error saying that libevent cannot be found. I installed libevent via MacPorts and got the same error when I tried again. –  Kio Dane Apr 2 '10 at 14:00
@Kio versions > 1.06 do not build due to problems with the call to poll(). Older ones should work however. –  John T Apr 2 '10 at 22:00
I downloaded trickle 1.0.5, ran "$ sudo ./configure" and got the following error just like before: "configure: error: libevent not found". I checked, and MacPorts has libevent installed. Besides, I'm not as fond of software that hasn't been updated in years. –  Kio Dane Apr 4 '10 at 0:35

http://github.com/zquestz/throttled this might be what you're after if you've not found it yet.

share|improve this answer
Looks really good. –  Prof. Falken Jun 8 '11 at 9:44

Use IceFloor on [Mountain] Lion

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.