Tailscale as a VPN to stream content from abroad
It can be very irritating when you are barred from streaming your usual content when you travel abroad. I pay for a TV licence in the UK and then can't watch BBC iPlayer when abroad. It doesn't seem fair.
Streaming services use what's called Geo-blocking to restrict access to those in a specific geographical area. They do this by using the IP address of the computer trying to stream the content. An IP address can be matched to a specific Internet Service Provider and to the country where the ISP operates - and often the city. So if you try and watch iPlayer from your holiday apartment in Spain, the chances are that you won't be able to stream anything.
When we were last in France, British people we stayed with that lived in France subscribed to different VPNs to get around the geo-blocking. Their TVs accessed the streaming service via a proxy server based in the country where watching is permitted. The VPN provider switches the IP addresses too whenever they get black listed by the main streaming services. These VPNs did generally work but they tended to be very slow and sometimes you had to switch VPN servers. You could add a VPN app onto an Amazon firestick that generally worked but Amazon wouldn't let you use Amazon Prime streaming services because Amazon knew you were using a VPN and what your actual IP address was.
Since I started using Tailscale to access my Home Assistant server remotely, I thought it might be worth using it to get around geo-blocking. Tailscale has what are called exit nodes that allow you to route traffic through a particular remote server.
I have a server based in London and thought it might be worth trying to configure it as an exit node. It was very easy to install Tailscale on the server and to configure it as an exit node. On my laptop, I could then activate my Tailscale client and use the exit node on my London based server.
I could then browse to the website https://www.whatismyip.com to see what IP address the destination server could see. Although I was abroad, the IP address was London, UK based.
I then accessed https://www.bbc.co.uk/iplayer in my browser and logged into the streaming service. I was able to watch BBC staples like Match of the Day. Hoorah!
So this is great. The VPN is working a treat. But how do I stream on my TV? When I searched for Tailscale articles, I stumbled the knowledge that you can install Tailscale on an Apple TV! This was great news. It means that I could carry an Apple TV with me abroad and use that to stream content from England. It also would allow me to access content abroad from the UK so long as I had access to an exit node in the country I was interested in.
Not long later, I am the proud owner of an Apple TV. I installed Tailscale on it using the following guide.
I then tested it from California and managed to watch iPlayer, ITVX and My5 with no issues. Unfortunately when I tried to stream All4 it didn't work. I believe that the All4 streaming service identified the London based server as belonging to a major cloud web services provider and took the view that the viewer was overseas! Changing the Tailscale configuration so that the Apple TV used an exit node on a server in my UK home worked with All4 with no issues.
Being able to use Tailscale on my Apple TV is a game changer for me and I'll no longer carry my firestick overseas. *
I'm really amazed with the ease of use and the power of Tailscale. It is also extremely cost effective (free) for up to three users and one hundred devices.
[* I have just read that Tailscale is now available for the Amazon Fire Linux OS so can install onto fire sticks released after 2018. Tailscale is also available for Google Chromecast.]