Create a Media Server with Your FxBlox — Part 2 — Why You NEED a VPN

Fierro Labs
8 min readNov 26, 2023

--

Photo by Leon Seibert on Unsplash

Our biggest friend and enemy in today’s digital world is our ISP. They provide us with internet access, and we give them personal info that they can sell to the highest bidder. They know all the websites we access, services or movies we stream, online games we’ve played, and if you “just jokingly” clicked on that sleazy ad.

This is Part 2 of creating a media server on our FxBlox by Functionland. The goal is to create a fully self-hosted, censorship-resistant media streaming server to take back control of our data and entertainment. If you’re on any other Linux-Armbian SBC, these instructions should work for you as well. Let’s embark on this journey to create our very own media center.

In this guide, we will learn:

  • Why we need a VPN
  • What is the TOR network
  • How to set up ProtonVPN
  • How to set up and configure OpenVPN (Pointless if you go the ProtonVPN route)

EDIT (1/14/24): We have come to find out that the free version of ProtonVPN does not allow torrenting. If you wish to continue with safe use of TOR, we recommend upgrading to the paid version of Proton, or another good VPN for the Blox like PIA.

Preface

This journey of learning what we can do with the FxBlox has come a long way! From first learning how to manually move files, to creating our own personal cloud. If you want to check out the bare basics you can start with:

If you missed Part 1 where we installed a Jellyfin server on our FxBlox in Docker, check out:

Why We Need a VPN

We need a VPN before we continue with the rest of this series, because we are going to need help from two TOR services called Sonarr and Radarr. Whenever we access the TOR network, I’ve heard your IP address immediately gets on the FBI watch list. That may or may not be true, but we don’t want the MIB coming to knock on our door.

Photo by Henry Be on Unsplash

Our biggest concern for our use case isn’t the government, it’s actually our ISP. Some Internet Service Providers monitor your traffic to restrict you from accessing TOR Network services and among other things. It varies depending on location and ISP. Using a VPN will allow us to move our IP address to a different location, encrypt the traffic to and from our home network, and use whatever internet services we want.

What is the TOR Network?

The TOR network is basically like the Internet’s evil doppelganger. Another name for the Internet is ClearNet. They look very alike from the front; they can access the same ClearNet websites and services, but the ClearNet can not access content on the TOR Net.

Image by studio4rt on Freepik

Basically, the same things are on each side of the Internets, they just work a little differently. The TOR Network still has a client-server model, DNS operates differently, there are still URLs, and it even has its own browser that you can use on the daily.

Before you can access a website, you HAVE to pass three checkpoints. These checkpoints are called Onions. The first Onion is the entry point you have to worry most about. Attempting to connect to this guy without a VPN is cause for concern, because you are exposing your home router’s public IP address to the Onion, as well as your ISP and by extension the government.

You do not want your home internet to be known by an extremely “sour” Onion, if you know what I mean. Which is why it is imperative to connect to a VPN first, because then the IP that is sent to the first Onion, is actually the address of the VPN server. The purpose of the first Onion is to encrypt the IP address and the rest of your request in a layer of security and send it off to the next Onion.

Photo by Önder Örtel on Unsplash

The second onion is your friend that doesn’t care about your problems. They just take that information the first onion gave them, pack it up with more security measures, and just send it to the third and final Onion.

The last Onion is the exit point. This guy will do the actual interacting with a website or service, then send the information back the way it came.

For the purposes of this series, we will always just be a client requesting information, and we’ll practice good/safe security practices by always connecting to a VPN first, before using TOR services.

I highly recommend checking out this awesome video from NetworkChuck on How To Access the DARK WEB in 2023 (3 Levels) — YouTube.

It goes over what is the TOR Network, the best security practices, and how to use it!

How to Set Up ProtonVPN

This article is not sponsored by ProtonVPN, but in my opinion they are the most useful and transparent of the popular VPNs. Why is it useful? Because they offer a free tier! Not just “free trial”, no, they offer a no-strings-attached free vpn service. The only quirks I’ve been able to identify are that you can only connect one device at a time with your account and that the free servers have a capacity limit. That could be an issue if the server that is fastest for you is already maxed out leaving you stuck with a slow server. To get started using the free tier, you will have to make an account at https://protonvpn.com/ .

I haven’t had any problems using it so far (see note at top of article), so I can happily recommend it. And it is the easiest VPN to set up on the FxBlox or other Armbian SBC.

After setting up an account, you can download the .deb installer from their guide How to install the ProtonVPN Linux app on Ubuntu 20+, you just have to click on the link. (Looks like this)

screenshot of their protonvpn website
Screenshot of Proton’s website on where to find installer link.
  1. Next, we’ll check and install any new system updates:
sudo apt update && sudo apt upgrade

2. Then, we’ll open the command line, navigate to the Downloads folder, and run:

sudo dpkg --install <name-of-downloaded-installer>

3. Then we run an update one more time:

sudo apt update

4. Finally, we get the desktop app with:

sudo apt install proton-vpn-gnome-desktop

A little unconventional for a first party app, but it still was pretty easy to get a VPN on your FxBlox. It should automatically connect every time you turn on your Blox, but double check it is on before you ever download/access anything on the TOR network.

As a special bonus, some servers allow extra security by connecting you to the TOR Network as identified by an Onion next to the name!

How to set up and configure OpenVPN (optional)

After I found ProtonVPN I honestly ditched my current VPN, because it is way overpriced for the same features. But before I canceled my subscription, I fought tooth and nail to get it working on the FxBlox. It was only possible by manually connecting to a single server using OpenVPN and my VPN credentials.

OpenVPN is an open-sourced vpn protocol that most vpn providers offer as a connectivity option. It is often the case that this method is much more limited in its capacity than their proprietary way. Most Linux versions come with an OpenVPN client that can be used to connect to those servers. I highly recommend reading:

How to Connect to a VPN Automatically on Linux — Make Tech Easier | Nick Congleton | August 2017.

This guide should help with connecting services like ExpressVPN, PIA, Surfshark, NordVPN, and many others on your Linux device.

I’ll summarize those details here:

  1. It is good practice to make sure your device is up to date, if you haven’t already:
sudo apt update && sudo apt upgrade

2. Next, install openvpn (you may already have it):

sudo apt install openvpn

3. Find your VPN providers configuration files, they’ll come in a compressed/zip folder.

4. A vpn directory should have been auto created when we installed openvpn. Now, we can move our providers configuration file to that directory, and have it named “openvpn.conf”

sudo cp ~/Downloads/OpenVPN/’Northeast US.ovpn’ /etc/openvpn/openvpn.conf

5. Edit theopenvpn.conf file with vim (you will need superuser permissions):

sudo vim /etc/openvpn/openvpn.conf

6. Now, find the line that says auth-user-pass, press i, and type auth.txt. Now save and close the file, by hitting Esc and typing :wq!

7. Now we can create the auth.txt file that will hold our credentials:

sudo vim /etc/openvpn/auth.txt

8. On the first line put in your username, and on the second line enter your password.

9. Now just restart and enjoy!

sudo systemctl restart openvpn
sudo systemctl status openvpn

Conclusion

With how capable the FxBlox is, it makes it a good option for creating a low-energy, low-profile, aesthetically pleasing server to maintain control of our own data. This has been a goal of ours since we started on this web3 and decentralized networks journey, but we never found a good place to start. Now that we have a VPN, we are heading in the right direction.

In the next tutorial, we will look into setting up Radarr on our FxBlox.

Follow my YouTube channel for more web 3 content. Follow my Medium blog for more personal experience content and tutorials. Find me on X at @legendofmar. Checkout the Functionland Telegram for support and updates. Cheers!

--

--

Fierro Labs

Fierro Labs is a Web3 content and documentation creative studio. In this blog we talk about and make guides on IT and Web3 topics! Email: marco@fierrolabs.com