Say you've got a really fat but high latency link, and you want to run something over it that uses tcp... but it can't use the whole link, because of tcp windows or whatever. At least that's what they told me happens, so I wrote this. I don't have any big fat but high latency links to use it on, but it does work.
What it does is set up a proxy between two machines, each running showerhead; you connect to one, and the showerhead on the other end connects to whatever you told it to when you started it. All your data gets sent over some large (configurable) number tcp streams, and reassembled on the other end.
You can run a completely arbitrary number of connections over it; I've tested up to around 20 (netcatting huge files, mostly).
Showerhead project should be better documented and easier to use.