≡ Menu

HowTo: Listen Pandora In Europe ( Outside USA )

I have Pandora Internet Radio One subscription, and recently I moved to Europe for a few months as part of my work schedule. The service fully available only in the United States. How do I access Pandora one service in Europe? Can I get around it by using a proxy server installed on my own server located in USA at home or ISP data center?


From the wikipedia page:

Pandora Internet Radio is an automated music recommendation service and “custodian” of the Music Genome Project. The service, operated by Pandora Media, Inc., is fully available only in the United States, with limited access in Australia and New Zealand. The service plays musical selections similar to song suggestions entered by a user. The user provides positive or negative feedback for songs chosen by the service, which are taken into account for future selections. Due to licensing restrictions service is not available in Asia or Eurpoe.

If listeners are located outside of the US, you will be greeted with the following page:

Fig.01: Pandora blocked

Fig.01: Pandora blocked outside the US

How do I unblock Pandora in Europe/Asia or School/Work?

Consider the following setup:

  +-----------+
  | Computer  |        +-------+       +-------------+
  | in Europe |        | Linux |       | Pandora.com |
  |   OR      +--------+ Proxy +-------+ Radio       |
  | at work/  |        +-------+       +-------------+
  | school    |         Located
  +-----------+         in USA with
                        US based
                        Public IP
                        Address 1.2.3.4
                        on port 80

You need:

  1. A server running on Linux or Unix like operating system.
  2. US based location and IP address.
  3. US based DNS servers.
  4. Optional – Use OpenSSH to act as a VPN provider with your own server in the US.

I’m using FiOS based connection located in Montclair, New Jersey and my setup is as follows:

                  +-------------+
                  | CentOS 6.x  |      +--------+
  +----------+    | Squid Proxy |      |Pandora |
  | Laptop   |----+ Running on  +------+--------+
  +----------+    | 1.2.3.4:80  |
                  +-------------+
                    + Iptables

Step #1: Install Squid Proxy Server On CentOS Linux 6.x

I’m assuming that you have CentOS Linux 6.x / RHEL 6.x / Scientific Linux 6.x server is installed and working properly with 1.2.3.4 as a public IP address. Type the following yum command to install Squid Proxy Server:
# yum install squid
Sample outputs:

Loaded plugins: product-id, protectbase, rhnplugin
0 packages excluded due to repository protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package squid.x86_64 7:3.1.10-9.el6_3 will be installed
--> Processing Dependency: perl(DBI) for package: 7:squid-3.1.10-9.el6_3.x86_64
--> Running transaction check
---> Package perl-DBI.x86_64 0:1.609-4.el6 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
================================================================================
 Package      Arch       Version                 Repository                Size
================================================================================
Installing:
 squid        x86_64     7:3.1.10-9.el6_3        rhel-x86_64-server-6     1.7 M
Installing for dependencies:
 perl-DBI     x86_64     1.609-4.el6             rhel-x86_64-server-6     707 k
 
Transaction Summary
================================================================================
Install       2 Package(s)
 
Total download size: 2.4 M
Installed size: 0
Is this ok [y/N]: y
Downloading Packages:
(1/2): perl-DBI-1.609-4.el6.x86_64.rpm                   | 707 kB     00:00
(2/2): squid-3.1.10-9.el6_3.x86_64.rpm                   | 1.7 MB     00:00
--------------------------------------------------------------------------------
Total                                           5.0 MB/s | 2.4 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : perl-DBI-1.609-4.el6.x86_64                                  1/2
  Installing : 7:squid-3.1.10-9.el6_3.x86_64                                2/2
Installed products updated.
  Verifying  : 7:squid-3.1.10-9.el6_3.x86_64                                1/2
  Verifying  : perl-DBI-1.609-4.el6.x86_64                                  2/2
 
Installed:
  squid.x86_64 7:3.1.10-9.el6_3
 
Dependency Installed:
  perl-DBI.x86_64 0:1.609-4.el6
 
Complete!

Enable squid service using chkconfig command, run:
# chkconfig squid on

Step #2: Configure squid proxy server

The Squid configuration file is /etc/squid/squid.conf. Edit /etc/squid/squid.conf, enter:
# vi /etc/squid/squid.conf
The default listening port for the Squid service is 3128. You need to set it to tcp port # 80 and public IP 1.2.3.4:

http_port 1.2.3.4:80

Set forwarded_for to off to prevent the leakage of internal network configuration details such as proxy client IP address:

forwarded_for off

Next, setup access list for the specific network or networks that the proxy is intended to serve. Only this subset of IP addresses or a single IP address should be allowed access. The syntax is:

acl your-acl-name src ip-range
acl your-acl-name src ip-address

In this example, setup ACL for a single IP address 212.58.1.2 to access your proxy server:

## Your laptop public ip ##
acl europeisp src 212.58.1.2

OR setup ACL for ip-range in the format of xxx.xxx.xxx.xxx/xx i.e. allow 202.58.1.0/24:

## Your laptop public ip ##
acl europeispnetwork src 202.58.1.0/24

You need to allow acl europeisp or europeispnetwork to access the proxy server:

http_access allow acl europeisp
#http_access allow acl europeispnetwork

Finally, you need to configure proxy server authentication. See how to configure authentication for more information:

  1. Squid NTLM authentication configuration using ntlm_auth
  2. Configure squid for LDAP authentication using squid_ldap_auth helper
  3. This entry is 1 of 3 in the Squid Proxy Server and Proxy Auto Configuration (PAC) Tutorial series. Keep reading the rest of the series:
    1. HowTo: Configure Squid Proxy Server To Access Pandora In Europe
    2. HowTo: Create a Proxy PAC File
    3. HowTo: Test a Proxy PAC File Syntax With pactester Command
{ 5 comments… add one }
  • Prasenjit November 18, 2012, 8:57 am

    Try installing “Media Hint” Firefox/chrome extension which allows you to access Pandora, Hulu and lot of other US based websites from outside US.

    It’s pretty awesome and I use it a lot. Give it a try and let me know how it goes.

  • Ollie November 18, 2012, 12:28 pm

    Just as a suggestion in the spirit of green computing, installing squid on a raspberry Pi works very well and only uses 5V/700mA of electricity. The Raspberry Pi only costs around $30 so is a nice cheap alternative. Check out the Raspberry Pi foundation (a charitable organisation) at http://www.raspberrypi.org…. Just a thought!

  • tagno25 November 19, 2012, 11:17 pm

    A faster and easier way would be to use ssh dynamic forwarding.

  • Bravo777 December 6, 2013, 1:39 pm

    thanks!

  • scarlett October 14, 2014, 12:40 pm

    Thanks for the article. I don’t see Pandora coming to Europe anytime soon. However, there are plenty of workarounds available to access it here in Europe Personally, I use UnoTelly for more than a year and I can access Pandora radio like I am in USA.

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">


   Tagged with: , , , , , , , , ,