Monday, 16 May 2011

Getting Around Megavideo



Abstract:  This post will talk about an intermediately challenging method which will allow you to get around the Megavideo time out limits.

Prerequisites: In order to do this you should not be afraid of the terminal window and have some basic knowledge of using a shell (for windows Cygwin).  I will go step by step so no real problems should occur.



Software:  For this tutorial you will need the following:

  • Any browser but I will explain for Firefox.
  • If on windows you will need Cygwin (www.cygwin.com).  I will not go over how to install cygwin as its is fairly straight forward, however you must add the SSH package during installation.
  • You will need to attain a shell account that allows for SSH tunneling.  I will explain how and where to look for this.

Background:  This section will cover the basics of what the details of the timeout are and how we are going to get around it.  All computers that are connected to the internet are assigned a unique IP address. When you view a video on Megavideo the IP address is used to determine which computer or network is streaming, and when 72 minutes have been watched on that address a time out error is done.  This is so non paying customers dont take up all of the bandwidth which costs the company money.  The basics of the method is to change the IP address of you computer which will make Megavideo think you are on a new computer.  
  One would think that if you have a home wireless network then you could just switch computers, however this is not the case.  In a home network each computer essentially points to the router which is connected to a single modem.  This modem contains the IP that Megavideo sees.  This also means that if multiple people in your house are streaming it will all add up meaning you may only get 15 minutes before it times out.
  If you are lucky and have a neighbor with an unsecure network you can just switch to this network and bypass the time limit, however this will cost the neighbor bandwidth and money so this is not the most kind method.  The alternative is what we will talk about now.

Method:  The first thing to do is to install the needed software especially the SSH client on cygwin.  If you are using a distribution of linux like me this should be standard.  In order to test this simply go to the terminal and type ssh and see if you get an error message.  Once this is complete and working we can move on to the next step.
  The next step is to get a shell account.  This is the most difficult part as it is hard to find a shell account that will allow for ssh tunneling.  Since we will be using this shell account as a dummy IP address to trick Megavideo if everyone uses the same account (IP) there will always be time out errors much like everyone in you home streaming at the same time.  So the idea is to find your own unique shell account. You can google ssh tunnel shell accounts and try to find one.  A nice site I found with a few working accounts is http://livessh.com/free-ssh-tunnel-accounts-list.php which has default shells that allow tunneling.  The best account you can find is one that is hosted in the US as this will allow for streaming from US only sites such as Hulu.com and the like, however this is not needed for Megavideo.
  Once you have secured an account you may try to forward a port from Firefox.

SSH Tunnel:   In order to forward traffic from the shell to Firefox you must do only two things.  The first of which is to open your terminal and enter the following command.

ssh username@shellname.com -D 3030

In this command you replace the username, and shell name with the one appropriate with the account you have signed up for (or that on the liveshh.com site).  As a concrete example see Fig.1.

                                          Fig.1: ssh into the shell account.

Once this is complete leave the window open and continue with the Firefox modification.

Firefox Port:  For this step open Firefox and go to EDIT->PREFERENCES->ADVANCED->NETWORK and click on the Connection Settings.  You should be at a following screen.


As shown, change to Manual Proxy Configuration, and in the SOCKS Host set it to "localhost" and port "3030" as before.  Once this is done, try to access any web page from Firefox.  If you get an error message it is likely that the shell account you used does not allow for tunneling.  If this happens the terminal screen should spit out the following error.  channel 3: open failed: administratively prohibited: open failed.  You will have to find another shell account in this case.  Other possible errors are likely similar but may deliver different error messages.  It is difficult to get a good shell and keep it and this is the largest challenge.

Conclusion:  I trust that you found this tutorial somewhat helpful, and of course there are other ways to get around Megavideo however this one has work very consistently for myself and I though I would take the time and spread what I know.  I wish you good luck in finding a shell and I hope you find one in the US.

- theuglybanana

3 comments:

  1. Or you could pay the $10/month and not be a douche?

    ReplyDelete
  2. Tor would probably be better for something like this.

    ReplyDelete
  3. Ya Tor is probs better but its more of the learning experience :P

    ReplyDelete