Update 8-11-09
Depending on the shows you want to watch, you may not need hulu, and instead can watch what you want at sling.com. Tip o the Hat to a commenter at Joystiq.
Show availability is mixed tho, for example, “The Daily Show” & “Smallville” play, but “Burn Notice” and “Warehouse 13″ don’t play. For those shows sling.com just acts as a front end to hulu.com.
Summary
I have put together a small Linux virtual machine that should, for most people, re-enable Hulu content on the PS3. It provides a web proxy configuration that only effects Hulu related network traffic, thus not slowing down gaming or making the PS3 otherwise dependent on the VM’s proxy.
The one machine that is always on at my house is an old (2002) Windows XP box that currently serves double duty as a file/print server and is host to a Windows based security camera package. Thus, I needed to make the Virtual Machine image as small and lightweight as possible.
The Fix : Download and Run It
1. Download VMWare Player.
2. Download 7zip, to uncompress the VM.
3. Download the VM via http, 50 MB download.
4. Uncompress the VM, and run it with the Vmware Player. Login and password are “notroot” / “huluproxy” if you want to login and look around.
5. Configure the PS3 to use the IP of the Virtual Machine as its Primary DNS.
– This means that on the PS3′s network configuration wizard, chose “custom”, and when you get to DNS, choose “manual”.
- Set the primary DNS of the PS3 to 192.168.1.5, aka the IP of the VM.
- Set the secondary DNS to be the ip of your router, should be 192.168.1.1
6. Visit hulu.com on the PS3 and see if it works.
Alternatively, if you are a techie, you can set this up yourself on your own linux machine, see the Configuration section below. I recommend the Linux Mint the distribution.
If you are stuck running Windows, and if downloading and running a VM from some random blog bothers you (which it should), by all means download a more stock VM image and configure Squid and Dnsmaq yourself. In “porting” this solution to my Windows box, I started with an Ubuntu 9.04 image from this gent and configured from there. These VMs are pretty heavyweight tho, which I why I rolled my own once I knew it would work.
The Fix : Conceptually
The fix detailed by the yPass.net guys works but does have one problem: all of your PS3′s network traffic will get routed through the Proxy server. Thus making it very annoying if the Proxy server ever goes down.
Ideally, only network traffic going to Hulu should be routed through the Proxy server, which can be done by setting up your own DNS server.
Thus the fix conceptually looks like this:

Hulu PS3 workaround using Squid and DNSMasq
Step 1. Configure the PS3 to a DNS server (Dnsmasq) that you control, and that has been configured to lie to the PS3 when it asks for the IP address www.hulu.com to it and tell it to use the IP address of the local Squid proxy server instead.
What is nice about this, is that the PS3 can be configured with two DNS servers, a primary and secondary. Configure the PS3 to use the new DNS server as the primary DNS server, and the normal DNS server as the secondary. Thus, the PS3 will still operate normally even if Dnsmasq or Squid is down.
Step 2. The proxy server forwards requests onto the real Hulu servers, but changes the “User Agent” of the browser so it looks like the request is coming from a Windows machine. It does this by being configured as a “transparent reverse proxy”, which unfortunately the Windows port of Squid does not support. Thus you are pretty much stuck running Linux.
Step 3. Enjoy your lazy weekend mornings splayed out on the couch catching up on your favorite shows, but be aware of the limitations of Hulu on the PS3.
One caveat with this setup, as compared to the original proxy setup, is that you can’t login to hulu.com and see your Queue or Subscriptions as in this configuration the Proxy can’t handle the https traffic. To “work around” this, I just bookmark the pages of the shows I want to watch.
The Fix : How it is Implemented
While I worked and debugged the Squid and Dnsmasq configuration on my Linux dev box, I don’t leave it on all the time.
As mentioned above, transparent reverse proxy is not supported on the Windows version of Squid, so I created a very small Virtual Machine of Debian 5 Linux, with Squid and Dnsmasq setup to run on my old, always-on Windows box.
The Virtual Machine boots to a static IP address of 192.168.1.5, uses 128 MB of ram and 500 MB of disk space.
The VM should also “just work” for most people. By definition, if you have a PS3 and you are wanting to watch Hulu on it, you A) have a broadband internet connection, and B) most likely have a home gateway / wifi access point (Linksys, DLink, etc).
Most home gateway routers, don’t dish out IP addresses that low by DHCP so it shouldn’t conflict with anything else on your network. Also, most home routers use 192.168.1.1 as their address in the home (LAN side). If your home router uses a different address, you will have to edit some config files to get it to work.
The Fix : How to configure it yourself, aka not running the VM
Squid: Starting with the default conf file from Squid 2.7 (what comes with Debian/Ubuntu), modify the /etc/squid/squid.conf file as follows.
Uncomment this line in the file
http_access allow localnet
Comment out this line of the file
http_port 3128
Add these lines
http_port 80 accel defaultsite=www.hulu.com http11 vhost allow-direct
header_access User-Agent deny all
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)
Dnsmasq: Starting with the default /etc/dnsmasq.conf
Add the following lines:
address=/hulu.com/192.168.1.5
address=/www.hulu.com/192.168.1.5
address=/static.hulu.com/192.168.1.5
address=/ads.hulu.com/192.168.1.5
address=/assets.hulu.com/192.168.1.5
address=/t2.hulu.com/192.168.1.5
address=/urlcheck.hulu.com/192.168.1.5
address=/secure.hulu.com/192.168.1.5
address=/a.hulu.com/192.168.1.5
address=/b.hulu.com/192.168.1.5
address=/c.hulu.com/192.168.1.5
address=/d.hulu.com/192.168.1.5
address=/e.hulu.com/192.168.1.5
address=/f.hulu.com/192.168.1.5
address=/g.hulu.com/192.168.1.5
address=/h.hulu.com/192.168.1.5
address=/i.hulu.com/192.168.1.5
address=/j.hulu.com/192.168.1.5
address=/k.hulu.com/192.168.1.5
address=/l.hulu.com/192.168.1.5
address=/m.hulu.com/192.168.1.5
address=/n.hulu.com/192.168.1.5
address=/o.hulu.com/192.168.1.5
address=/p.hulu.com/192.168.1.5
address=/q.hulu.com/192.168.1.5
address=/r.hulu.com/192.168.1.5
address=/s.hulu.com/192.168.1.5
address=/t.hulu.com/192.168.1.5
address=/u.hulu.com/192.168.1.5
address=/v.hulu.com/192.168.1.5
address=/w.hulu.com/192.168.1.5
address=/x.hulu.com/192.168.1.5
address=/y.hulu.com/192.168.1.5
address=/z.hulu.com/192.168.1.5
Hulu uses alot of sub domains.
The Fix : Troubleshooting
If you need to have the VM use a different static IP address, you will need to update the address in the /etc/dnsmasq.conf file and the /etc/network/interfaces files. Nano is the availalbe text editor, "sudo nano -w /etc/dnsmasq.conf" & "sudo nano -w /etc/network/interfaces". Either reboot when you are done or restart the services.
To verify if dnsmasq is working : On a Linux machine, do “dig @192.168.1.5 hulu.com“, it should report back the 192.168.1.5 address instead of hulu.com’s real address. I don’t know how to “dig” on a Windows machine.
To verify if squid is running : In a browser on another machine goto “http://192.168.1.5“, you should get a nice “The requested URL could not be retrieved.” message.