Got a PS3? Want Hulu Back? Easy enough…
Update Jan 6, 2010: Some users are reporting that they’re getting an error telling them they need to update Flash. I imagine we’re going to have to wait for Sony to update the PS3 firmware with a new Flash version.
Over the weekend Hulu stopped working for PS3 users. How did they block the PS3 users? With the dumbest method they could find. They test the User-Agent string in the HTTP request. Well, luckily, we can use a proxy server and just rewrite it. Windows users may want to look here
1. Install squid (”sudo apt-get install squid” for ubuntu users…. for Windows users, google for: squid windows)
2. Edit squid’s default config (/etc/squid/squid.conf on ubuntu) with these changes (or download my configuration: squid-hulu.conf):
Search for “acl localnet src” and set it to your internal network. You can remove the other localnet definitions if you’re not using them as shown here:
#acl localnet src 10.0.0.0/8
#acl localnet src 172.16.0.0/12
acl localnet src 192.168.0.0/16
Note: For 99.9999% of you, the correct line will be “acl localnet src 192.168.0.0/16″
After the “acl localnet src” line, add this:
acl hulu url_regex -i ^http://.*.hulu.com/.*
Search for “http_access allow localhost” and add “http_access allow localnet” as such:
http_access allow localnet
http_access allow localhost
Add the following two lines pretty much anywhere in the file (the end of the file works just fine):
header_access User-Agent deny hulu
header_replace User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)
3. Start squid (sudo /etc/init.d/squid start)
4. Go to PS3 Internet settings. Do manual configure. Go through the settings as normal (the defaults should be fine) until you get to proxy server. Set it to be your PC’s IP address port 3128.
Your PS3 is now a Windows machine running Firefox (as far as Hulu is concerned) and you can use Hulu again. What a dumb method of restricting access.
UPDATE – Jul 30 2009: To all of you guys out there saying “Why don’t you just use PlayOn or TVersity?” My response is:
from eric to MediaMall Support
date Mon, Jun 29, 2009 at 10:00 AM
I assume you're saying that there's no plan for a Linux version then?
from MediaMall Support to eric
date Mon, Jun 29, 2009 at 10:03 AM
Correct.
That was the response I received. TVersity is quite obviously intertwined with Windows and there is no hope there either. The users that support the invasive DRM (by using it) are responsible for open protocols not being available. If you want to know why DRM is successful, you need only look in the mirror.
UPDATED – Aug 10 2009: As requested in the comments, the instructions now make it so that only hulu will get the header replaced. Also, the comments section has tips and hints for Windows users and squid version 3.0+. See:
- OH NO!
- Let’s just fix that real quick.
- Woo hoo! (about it working, not Billy dying. RIP Billy!)



@Varius
Nope. There’s nothing else that needs to be changed. You shouldn’t have to change the X-Forwarded-For header either.
I just confirmed that it’s still working as expected.
Thanks!! Works great and your instructions were so easy to follow!
If I set up this proxy server, what happens when my computer is off? Will the PS3 still have internet access without the squid proxy available?
thanks for the instructions, very helpful and life is good again!
I’m not too tech savy. Do I download and do all of that stuff directly through the ps3 or am I supposed to use my laptop? When I tried to dowload the squid program through my ps3 it asked for a storage device so I had to plug in my external hard drive to the ps3. Am I doing this wrong?
@pistol
These are instructions for setting up a proxy server on your PC so all requests from your PS3 are routed through your PC. The proxy server then “fixes” the user-agent. It may require a bit of knowledge of networking, so if you’re not that familiar with it, you may want to bite the bullet and pay for PlayOn which is probably a lot easier.
I already have a linux server in my home network so setting this up using your instructions was fast and easy.
Thanks, for the well written write up!
I tried setting this up yesterday on my ubuntu server, but squid doesn’t seem to be routing anything. The squid software runs without errors, so I’m not even sure how to search for the problem/solution. :^/
Thanks! This works great!
Does it work for macs too???
That is outstanding! Thanks. How would I go about adding tvguide.com to the script?
Much like Shawn, I’m not getting anywhere either. My squid access.log is empty, I disabled my firewall to see if that was it and still no go. Active Connections isn’t showing anything, so it’s like the PS3 isn’t even getting to the Ubuntu server.
I was able to get this running on a mac. Thanks. I have one problem though – PS3 hangs every time I use full screen. Does anybody know how to fix that?
Does anyone know if there is a way to use Polipo for this? I have that running on my dns323 nas and would be very nice to use that rather than keeping the pc running.
This solution works well enough. Many people out there already have a router running an open platform such as tomato. There must be a way to do the header replacement directly on the tomato router. I’m going to dig into it. Speak up if you have a suggestion on how to do this.
I think Hulu may be on to this trick… set it up, and the first video I tried to view said it was unavailable, the second one went back to the same message that it wasn’t available for my platform.
Is the squid proxy work-around still working for others?
I was able to get this to work in about 30 minutes for about $250.00 and some spare parts with Ubuntu… I just took the default settings and it worked quickly. Run the connectivity tests but it should work..
Chris
This looks awesome, and I setup my squid proxy to do exactly this. Unfortunately, it’s not working. I can confirm my PS3 is going through my squid proxy, and instead of getting the normal “Sorry Your Platform Is Not Supported” message, I now get an error saying “You are trying to install Adobe Flash Player on an unsupported operating system..”.
Does Hulu suddenly require a newer version of Flash, or am I missing something?
Thanks,
Mike
I get the same result, and if I use refresh (F5), I get the message “Sorry, the video … unavailable….”
Adam
@Mike
I’m getting the same results as you Mike. Squid was working, but as of yesterday I get a gray box stating that I’m trying “to install Adobe Flash Player on an unsupported operating system….” I’ve tried changing agent strings to potentially a HW/SW platform that doesn’t support the version of Adobe they want to force an upgrade of, but no luck yet.
You rock.
Hulu upgraded flash, but sling hasn’t yet
I can confirm this trick works on Leopard. you can run squid in the background on your Mac as well. Do “sudo port install squid” in Terminal and then do a “sudo launchctl load -w /Library/LaunchDaemons/org.macports.Squid.plist” as suggested to launch squid as superuser when the computer starts. Then restart and… voila…
Oh, and same results as everybody on the hulu flash issue recently. (Sling.com does seem to work though, even for Hulu vidos.)
The squid workaround is definitely broken now. Both sling and hulu give the “You are trying to install Adobe Flash Player on an unsupported operating system..”.