Avoiding the Modern Drug

and how RSS will save us.

In this post I am going to talk a little bit about the addictiveness of social media, and how we can use a Raspberry Pi, and the old school cool of rss feeds to avoid it.


The Disease

It is no secret how social media is designed to eat away at our time, and keep us hooked for as long as possible so that Big Techtm can try and desperately grapple onto as much of our juicy data as possible. Although medicine has yet to decide conclusively how social media effects our mental health, it is undeniable that social media has become highly addictive to the extent that the phenomena known as "nomophobia", or the fear of being without a phone, has been submitted to be added to the DSM-V. The world we live in has an unprecedented level of interconnectivity and these websites are an integral part of everyday life. Many people try to limit their interaction on social media; they set time limits for themselves, they purposefully buy non-smart devices like feature phones, they use grayscale to reduce the site's attention-grabbing nature, or make software that does it for them. None of these solutions are perfect, however. In today's world, cutting yourself off from social media often means cutting yourself off from the outside world; not being able to keep up with your hobbies, or the latest trends, or checking up on your favorite content creators are all an integral part of how the younger generation communicates, especially in the age of 'Rona. In a perfect world these websites would regulate themselves of course. They would give access to tools that help us maintain healthy habits, as opposed to catering towards addiction. Unfortunately, asking a business to make less money is a non starter, to say the least. So, we have to take matters into our own hands. But how do we lower our engagement with social media, without cutting ourselves off from the things we love?

The Cure

What you will need
- A Raspberry Pi 3 B+, or 4.(Older Pis might work but untested)
- Micro SD card with Raspberry Pi OS Lite.
- It's also recommended that you use an Ethernet connection, but WiFi will work fine.

What we will be doing is using docker to self host a few web services. These will allow us to generate and read rss feeds for many popular sites. This guide will assume you have at least intermediate tech literacy, however I will do my best to walk you through the process.

After flashing Rpi-OS onto your SD card you should see two partitions appear in your file manager, boot and rootfs(You may only see boot on windows). You will want to create a blank file called ssh in that boot partition. You should make sure that the file doesn't have a file extension (.txt, .etc) by double checking that you have file extensions visible. This allows us to access the pi without needed to plug a keyboard or monitor into it. You can then go ahead and insert the SD card into your pi.

You will then want to open your either Powershell on Windows, or your terminal emulator of choice on Linux/Mac, and type pi@[Pis-ip] replacing [Pis-ip] with whatever the local ip address of your pi is (This can be found by connecting to your router, you will have to look up specific instructions for your model). You should be prompted for a password, the default one being raspberry. We will want to first ensure that our system is completely up to date. Go ahead an input the following into you terminal.

sudo apt update
sudo apt upgrade

You will also want to make sure that you change your user password. Please for the love of god choose a good one.

passwd

Next we are going to install Docker you the easiest way to do this is by running this command.

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
sudo systemctl enable docker

We will now reboot the the rpi

sudo reboot now

Then reconnect to the rpi. We can now install the first tool we will use, RSSHub. RSSHub is an rss feed generator that allows us to create rss feeds for many of the webs most popular websites: everything from Twitter, to Youtube, to Fur Affinity is able to have a feed generated for it so it will cover all of our bases on that front. The installation process with docker is incredibly simple.

sudo docker pull diygod/rsshub
sudo docker run -d --name rsshub --restart unless-stopped -p 1200:1200 diygod/rsshub

And with that you should be able to connect to [Pis-ip]:1200 (Again replacing [pi's-ip] with your rpi's local ip) in your web browser of choice and land on the RSSHub page that looks like this.


Now that we have a way to make the rss feeds, we need a way to read them. Thats where FreshRSS comes in. FreshRSS is a self hostable web based rss reader that is clean, user-friendly, and most importantly fast.

We are going to want to start off by creating a custom network within docker.

sudo docker network create freshrss-network

The next thing we want to do is actually install FreshRSS itself, the documentation on this is a little confusing, however I have removed the unnecessary elements and set everything up in the commands below, the only change you should make is to the TZ=Europe/Paris section, simple change Europe/Paris to whatever you local php timezone is.

sudo docker volume create freshrss-data
sudo docker volume create freshrss-extensions
sudo docker run -d --restart unless-stopped --log-opt max-size=10m -v freshrss-data:/var/www/FreshRSS/data -v freshrss-extensions:/var/www/FreshRSS/extensions -p 8080:80 -e 'CRON_MIN=4,34' -e TZ=Europe/Paris --net freshrss-network --name freshrss freshrss/freshrss:arm

You should then be able to put [Pis-ip]:8080 into your web browser and get a screen like this.

Follow the simple setup instructions that FreshRSS gives you to create a default user and a GOOD password, and voilĂ  you are done. "So what now?" is what I imagine you are likely thinking about right now, well RSSHub has a whole slew of possible feeds to generate, it would double my word count just to start talking about it, and you really really should read the documentation on you own. As some websites require specific configuration in order to work (Twitter in particular being a pain in the ass, I might do a future post on some of the more difficult feeds to get working). You will want to self host as many of these feeds as you can, as centrally hosted options often end up getting heavily rate limited, but I will list a few alternatives for ease of use.

https://nitter.net/
https://feedly.com/
https://nitter.domain.glass/
https://rsshub.app

Well their you have it, your very own web based rss feed generator+reader. You can access these anytime you are connected to you home network, and I will have a future guide on how you can turn your rpi into a Wireguard split vpn tunnel, allowing you to be able to access your self-hosted apps from anywhere without the security risk of having an internet facing server on your home network. So join the newsletter if you want to be notified when that comes out. I hoped you found this guide useful, if you did consider contributing, and stay paranoid.