If KRON Channel 4 or KICU gave me the ability to stream A’s games, I’d gladly
pay for it, but they don’t, and we’re not going to pay for cable just to get
MLB.tv is great and they allow you to stream games, but they have blackout
restrictions where you can’t stream the game if it’s also being shown on cable
Fortunately, there’s a workaround. Because MLB.tv filters based on IP address,
you can get around the restriction by sending your Internet traffic through
a proxy computer, with an IP address that isn’t blocked (this is how, for
example, people in China get on the internet). Most proxies are slow though and
become unwatchable if you try to stream a high-bandwidth video. If only you
could use a high-bandwidth proxy and not share it with anyone else…
Fortunately Amazon provides servers in the cloud that let you do exactly this.
People usually use them for running web servers, but you can use them for this
purpose just as easily.
aws.amazon.comand login using your Amazon credentials. They will
ask you for your credit card and to verify your phone number. As long as you
stay inside the Free Tier (roughly 30-40 games a month) you will not be
Click on EC2. Click “Create Instance,” then use the Quick Launch wizard.
Create an Ubuntu instance (one of the “Free Tier eligible” ones) and make sure
you download the credentials, as you need them to log in and they won’t be
On the next page click on “Edit Details,” then on “Security Settings.”
You need to create a new Security Group, that will allow computers from your
apartment to connect to your new computer in the cloud. Find your apartment’s
IP address by visiting http://jsonip.com. Then fill out
the details like this:
Substitute in your own IP address. If you have a cool ISP like Sonic, you
can get a static IP address, which makes this much easier. Otherwise your
IP address may change from day-to-day, and you’ll have to update this
setting, or provide a broader range of valid IP addresses in the form.
You need one other piece of information which is the
hostname for your EC2 instance. It will look something like this:
Now the fun parts! Open up the Terminal and type in:
ssh -i $HOME/.ssh/mlb.pem [email protected] -D 2001
$HOME/.ssh/mlb.pemis the route to the
.pemfile you downloaded
earlier, and the hostname is the hostname you got above. Go ahead and leave
this connection open. You need to leave this open while you’re trying to
watch some baseball.
(This won’t work for PC users. If you’re on a PC you have to configure
PuTTY to use SSH, which is an unusable mess that I’m glad I don’t have to
deal with anymore).
Now open Firefox Preferences, click “Advanced”, click “Settings”, then type
in these settings:
To check that they were applied correctly, visit jsonip.com in your Firefox
browser. It should be a different IP than your apartment! Browse away!
The next time you set this up, all you have to do is run the SSH command in
your terminal, and set up Firefox to use the proxy. It won’t hurt your computer
to kill either at any time, but the stream will stop working.
This uses the free tier of Amazon Web
Services; if you go over your limits then Amazon will charge you. You can check
your usage in the “Account Activity” portal on aws.amazon.com.
I’ve only done this for one game, and the usage I checked was about 0.4 GB,
which means with 15 GB in/out per month, you should be able to stream about 30
games, assuming no other usage. The connection between MLB and Amazon is really
good; the connection between Amazon and your apartment may not be, depending on
your connection speed.
It may be better to configure these settings in your router so everyone can connect.
I’m not sure how to do that, however.
Again, I wish this weren’t a problem but MLB blacks out games on their
streaming service, so there’s no way to stream games that are on cable. I have
no problem paying for a stream, as we are in fact paying for MLB.tv. I’ll take
this post down once someone figures out how I can pay to stream games in my
local market, without resorting to hacks like this.