Saturday, September 22, 2007

iTunes throttled by Streamyx - The fix

I’m hooked on podcasts. They are like radio stations that I could download into my iBook and listen to them whenever I had time. Since there are so many podcasts to sort through and download, iTunes is a great tool to consolidate all my favourites.

All was fine and dandy until the day TM decided to start throttling P2P activities using methods only known to them. Somehow, through some freak of administrative and executive knee jerk reaction, downloading podcasts using iTunes got throttled as well.

A common sight for me – unable to even load the iTunes Store.

I’ve made numerous calls to TM’s customer support, explaining to them what are podcasts and how I couldn’t download them using iTunes. I’ve received many suggestions and repeated requests for details about my PC and my modem, and I patiently answered all their questions. There was even a time when my report “I cannot download podcasts using iTunes” got scrambled in ways only TM customer support can manage, to “I cannot load iTunes website”. And the technician resolved my issue by trying to load http://www.itunes.com. Of COURSE it will load. After all that, I still didn’t have a solution to my problem.

A guy’s patience has its limits and for almost a year, I had to put aside my favourite podcasts, and left to wander aimlessly on the Internet, occasionally manually downloading individual MP3s of podcasts that I happen to stumble upon. But NO MORE!

Thanks to helpful Mac users from http://www.lowyat.net and http://www.mymug.org, I was shown a way to overcome the throttling. And with this method, it’s clear as day that Streamyx is throttling iTunes based on its user-agent string.

The Fix

First, you’ll need to download PAW (Pro Active Webfilter). It’s a Java application, so you’ll have to make sure you have Java installed on your Mac, or PC. My instructions below are for the Mac.

It comes as a zipped file. Unzip the file and copy the extracted folder into your Applications directory. I renamed the folder to paw. There are 2 important files in that folder:

Just double click on paw-server.jar and that launches the PAW server. This server acts as a proxy server that strips away the user-agent ID of any applications that wants to make a connection to the Internet. But you’ll have to enable this setting. To do that, proceed to the next step.

Now you double click paw-gui.jar to launch the GUI.


Click to headers-request in the Files directory, as shown below. You’ll want to delete the hash “#” on the user-agent you want. What this does is PAW will strip away the user-agent of the software that wants to access the Internet and replace it with the user-agent for Internet Explorer 6.0, in the case below.


Don’t forget to click the green floppy button to apply your edits. Then click Sync to update the PAW server to your latest setting.


Now that the PAW server is running and you’ve configured the server using the PAW GUI, it’s time to make some changes on your Mac.

Launch System Preference, and double click Network. You maintain all your existing settings, but change the Proxies tab, as shown below. The Web Proxy Server you see is actually the PAW server. The DNS 127.0.0.1:8080 is what’s suggested by PAW in their documentation.


Normally I’d only run PAW when I want to update my podcasts. So I create a new Location on my Mac just for PAW.


When I'm done, I go to the PAW GUI, click Stop PAW Server, and click Shutdown PAW Server to free any resources taken up by the PAW Server.

And the result?


Just like old times...

No comments: