In this guide, I will explain how to access and listen to your entire iTunes library from anywhere.
To do this, we will use iTunes “shared library” feature, and trick iTunes into thinking that the host computer is on the same network as the client computer.
Note – this tutorial describes how to connect from a Windows PC with iTunes (client), to a Mac with iTunes (host).
It’s probably not too difficult to also get this working Windows to Windows or Windows to Mac.
1. On your Mac, enable the built-in SSH server. Go to Settings -> Sharing -> and tick the “Remote login” box.
Advanced: You may want to change the default SSH port from 22 to something else. Check out my tutorial here.
2. Again on your Mac, open iTunes and open the preferences. Click on “Sharing” and tick the box “Share my library on my local network”. I recommend sharing the entire library (I have approximately 48 000 songs in my library and it’s no problem whatsoever). You don’t have to set a password.
Note the external IP address and the SSH port number of your Mac. Make sure it’s forwarded correctly if you’re behind a firewall or a router.
Important! iTunes needs to be left open and running on the Mac in order for this to work.
3. On the Windows PC, download and install the latest version of Cygwin here.
Make sure that the packages openssh and dns-sd are installed. To check whether they are, simply run each of them in the Cygwin terminal. If they are missing, just install them using Cygwin’s package manager.
Optional: This is not required, but I strongly recommend it. Download install the mintty terminal window for Cygwin here. It’s far superior to the default Cygwin shell.
4. Enter the following commands (in order) into Cygwin/mintty:
ssh -C -N -L 3689:localhost:3689 firstname.lastname@example.org -p 123
Replace username with your actual user name, ip-to-your-mac.com with your actual IP/host name, and 123 with the actual SSH port.
You will then be prompted for your password. Enter it and hit enter. This will create the SSH tunnel.
Then, enter this command:
dns-sd -P “Home iTunes” _daap._tcp local 3689 localhost.local. 127.0.0.1 “Arbitrary text record” &
You may need to delete the quotation marks and replace them if you copy the command directly from this page.
“Home iTunes” is just a placeholder name and could be anything. You should get some text saying that the service has been registered correctly.
5. Finally, open iTunes. You should see the shared library called “Home iTunes” or whatever you called it under “SHARED” in the right column.
Click on it and it should load your entire iTunes library (this make take a while depending on how large it is).
If it starts loading but cancels after a few seconds, make sure that iTunes is running on the host computer.
That’s it, enjoy your music! :)