Music,Video @Work (Twonky Port 9000)

Hi All

What a great community, so glad I returned my Iomega drive and bought a MBL 2TB.

However I am stuck with 1 thing…

I want to be able to access my music from a web browser at work, after reading a few posts I found twonky on port 9000 however I could open port 9000 and access it, but noticed when you click links, I.E wants to try find 192.168.1.19 the internal IP. I imagine there is a setting to change somewhere? Or is it a firmware fix?

I just want to be able to play music anywhere, I really dislike the mionet approach. 

Cheers, Chris

Your problem is that Twonky is embedding local addresses in absolute URLs in the web pages.  I have no idea whether Twonky can be configured to only do “relative URLs” in the pages, however there is an easy work-around using SSH to create a SOCKS proxy.

This side-steps your problem because by tunneling into your home network, your requests come from a local IP behind your NAT router on the same network as your MBL.  Naturally, you’ll need something on the receiving end to receive the SSH inbound connection to your network.

A linux box can do this, or a Windows box running an SSH server service, or you can use your router if you have DD-WRT firmware, or you can use the MBL itself since it’s just a linux system.

Here’s how it works:

Let’s assume you’ve enabled the SSH protocol on a local Linux system you happen to have running somewhere on your network.  Even though you can use your MBL, you’d need to set a password on it, and you’d run into trouble with WD Tech Support if you mess with it.  You can generalize what I’m writing here to the MBL.

Most Linux system run SSH daemon by default.  There’s nothing to do on the server end.  sshd listens on port tcp/22.  Let’s say your Linux box has an IP address of 192.168.2.10.

Open the admin page on your router and create a firewall rule that will forward connections from the internet to your Linux box’s ssh daemon.  Let’s say anyone connecting to port tcp/8022 on the internet side of the router will be forwarded to port 22 on the Linux box at 192.168.2.10.  Usually this setting is under “Security”.  If you want to restrict only connections from your work network, you can do that here.  I’d suggest you leave it open for starters, and then go back and secure it later.  

You’ll need your IP address on the Internet for your home network.  Go to http://dnsstuff.com from your home computer and check the upper left hand side of the screen.  It’ll be there.  Or you can just log into your router and check it in the Internet connection status.  Your IP will likely change from time to time, unless you’ve leased a static IP.  Dynamic DNS might be able to help with that, but that’s beyond the scope of this note.

Next, you need to install an SSH client on your computer at work.  If you’re running Mac OSX or Linux, you’ll already have one.  If you’re on Windows, you’ll need one and I recommend PuTTY.  

Now we have to establish a connection from your work computer, over the Internet to your home network.  

For Linux and Mac OSX, open a terminal and type:

ssh -D 20443 -p 8022 user@your_home_network_internet_ip

The -D opens a socks proxy on port 20443 on the localhost (your work computer).  The -p tells SSH to use port 8022 instead of 22 which is the default.  The user is your username for your Linux or MacOSX system at home, and your_home_network_internet_ip is your internet IP address on your home router.

For PuTTY, go into the settings for SSH and get it to create a socks proxy for you.  Then just fill in the blanks with the ip and port for your destination.  Before hitting “connect”, just save it under a profile name so you can use it easily.

You’ll be prompted for your username and password at your home system.  Just log in.

If you want to make things even easier, I’d suggest creating an SSH key and using the PuTTY Agent or using ssh-agent.  Then you only have to save the private key in memory and save some password typing for each time you connect.  Again, that’s beyond the scope of this note and easily Googleable (is that a word?)

Now, with your SSH tunnel set up, and your socks proxy going, all you need to do it tell your web browser to use a socks proxy.  In Firefox, go to Advanced → Network Settings → Proxy and fill in the socks line.  It should be localhost and the port will be 20443 from this example.  Choose SOCKS 4 OR 5, whichever works.

Once this is done, your browser will be able to see your entire internal network at home, and will browse the Internet as though you were at your home network.

So, type in the ip address of your MBL into the URL bar and away you go:   http://192.168.2.xx:9000

If you want to bypass the proxy, just throw sites into the exclude list in the proxy settings panel of Firefox.  One suggestion to enhance your privacy, since your entire session is encrypted from your work computer to your home network:  Get firefox to make DNS requests over the socks tunnel instead of locally.  Go into about:config and change the network.proxy.socks_remote_dns boolean to true.

Happy (private) browsing,

M

Hi

Thank you for your help!

I’ve managed to SSH into my MBL using the root username. 

After setting up firefox as your stated above, I’ve managed to surf the internet and via my home connection

I can even access the twonky server on 192.168.1.XX:9000

However when i click to play a song, the interface failes to load, and I notice the SSH tunnel disconnects with the following in my Terminal

MyBookLive:~# Corrupted MAC on input.

Disconnecting: Packet corrupt

Chris-MacBook-Pro:~ Chris$ 

I can sit and look through my media and surf all day long, but soon as I click play a song it kills the tunnel. any ideas?

Great guide, should be a sticky, 

Sorry for the long delay in responding.  I was fly-fishing in Algonquin Park all last week.

Anyway, that’s strange.  It works for me, however I’m using a separate Linux system rather than the MBL as the SSH endpoint.  One way to help diagnose is to crank up the verbosity on the SSH client to see what happens to the tunnel.

On the command line, just add “-v” to the arguments.  You can add up to about 4 of them to increase verbosity incrementally.  Not sure what PuTTY uses, but I seem to recall there being logging options as well.

You can also increase the logging on the SSH server side, but if you’re using the MBL as your endpoint, then you’ve got a catch-22.  You need SSH to get to the command line.  I wouldn’t mess with that end unless you’re prepared to do a factory reset and cope with the data loss.

M.

I just Googled the issue, and found a few older articles dealing with this error.  One suggested that this is a problem in low memory situations, and the other suggested that this can happen to systems under load.

Which crypto pair are you using?  Should be something like AES192 with SHA1 hashing.  You could try using a different pair, like Blowfish or the smallest of the AES along with MD5.

The MAC the SSH server is complaining about is not the MAC address of your ethernet card, it’s the MAC digest of the crypto protocol.