YouTube without (personalized) recommendations

Are you annoyed by YouTube tracking your behavior and giving you (scarily good or completely uncorrelated) recommendations? In this post I’ll show you a neat workaround using a built-in YouTube feature that they don’t talk about!

Introduction

One service which knows a scary amount of my personal preferences is YouTube. But if you are like me, you also don’t want to miss out on our daily doses of Linus and co. The problem arising here is how to keep track of one’s subscriptions when one is eventually deleting one’s Google and therefore YouTube account.

The solution for me is called RSS feed [1]. RSS feeds are mostly used for keeping tracks of blogs and news sites but it can also be used to keep track of YouTube channels. I recently stumbled over a video of Luke Smith [2] where I got this idea from. YouTube does provide RSS feeds for channels. This way we can keep up to date with the latest videos of our favorite YouTube channels without actually using a Google account. Additionally this allows us to organize and categorize channels way better than YouTube does it lately as we can add arbitrary tags and filter accordingly.

As my RSS reader I chose Newsboat [3]. It is a simple and easy to use command line based RSS reader. One reason to choose Newsboat for this task is that it allows to define custom macros which comes in very handy when actually using it as a YouTube replacement. More on this later. You can obviously use any other RSS reader instead if you prefer so, the idea stays the same.

Guide

Set up the RSS reader (Newsboat)

First thing we have to do is to setup our RSS client. For this I use Newsboat [3]. Follow their instructions for installing, there are also packages for some Linux distributions available, e.g. for Ubuntu: sudo apt install newsboat After successfully installing, you cannot start it right away as you need to first setup a list of feeds to keep track of. This you can do by editing the ~/.newsboat/urls file. In this file you list all the blogs/news RSS endpoints that you want to keep track of.

Keep track of YouTube Channels

Instead of subscribing to a specific channel with your YouTube account, we have to find the RSS feed to subscribe to. For this we need to find channel id, which is NOT the channel/user name! The channel id is an alpha numeric random sequence which is used internally to identify the channel. This id is not always directly accessible. The easiest way to find a channel id is to use a service that does this for you, e.g. [5], here you only have to paste in the channel’s URL and it will display you the channel id.

If you want to find it out on yourself it’s not that complicated either: The channel id is buried inside the channel’s page source code. You could e.g. look at the page’s source code in the browser and use your browsers search function to search for https://www.youtube.com/channel/ . This will show you some form of entry where the channel id is appended to your search string. Another thing you could do is to filter it in the command line by e.g. typing curl <insert link> | grep 'https://www.youtube.com/channel/' This will download the page’s source code and filter out only lines which contain this magic string. Here as well you can find the channel id in the results as it will be appended to the search string.

What ever way you use to find those ids, let’s take Linus Tech Tips as an example and we find that UCXuqSBlHAE6Xw-yeJA0Tunw is the channel id. This means that we can now add this channel to our RSS feed. For this go back to urls file for newsboat and add the following line to it (make sure it is one line). https://www.youtube.com/feeds/videos.xml?channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw #Linus Tech Tips As you can see we placed the channel id in there and added a name in form of #Name in the end.

You can now start Newsboat and reload all entries by pressing <Ctrl>+R. You should see an entry called Linus Tech Tips and be able to open it by pressing enter. It will present you with a list of all recent uploads from LTT and you can open them by pressing o to open the entry in the browser.

This is now a simple and working solution on how to use YouTube’s RSS endpoint to keep track of your favorite Linus 🙂 In the following sections we will go over certain topics on how to optimize and personalize this setup for you.

Turn your subscriptions into RSS links

Now this is fine so far, but you certainly don’t want to go through all of your subscriptions and add them by hand. Luckily YouTube provides a function where you can download all your current subscriptions for (almost) exactly this purpose.

For this visit [6], scroll down all the way and click “Export subscriptions” in the Export to RSS Readers section. This will download a XML file in the OPML format. Unfortunately this format is not suitable for Newsboat, but also not hard to transform into our desired format at all. You can either write your own little script or use mine [7] (very dirty but works).

The script will take as only argument the XML file you just downloaded and print out a single line in the target format for each subscription you have on your YouTube account. Just pipe the output into a temporary file or directly into the urls file.

At this point you have set up a full alternative to keep track of YouTube subscriptions without a Google account. This setup works and if you are happy with it you can stop here, but I went a few steps further tuning my Newsboat configuration to optimize my daily usage. This will be covered in the next chapter.

Tuning Newsboat for YouTube usage

The documentation of Newsboat [3] is very helpful and easy to understand, so for a more comprehensive guide of what is possible I will just reference that. I will just talk a bit about the macros and customization I did but here you can basically do what ever you want to. To customize Newsboat you have to edit the config file in: ~./newsboat/config

  1. Change default Newsboat browser to a private Firefox window. Especially if you don’t want to get personalized recommendations you should do this. Make sure you understand what a private window is doing for you and what it is not, for this please read [8]. Add: browser "firefox --private-window %u"
  2. Add a macro to play the video in a local video player instead of the browser. This way you don’t even have to use a browser but can view the video directly from your terminal. For this you need to install mpv [9]. Once you done this you can add the following line to your configuration: macro y set browser "mpv %u" ; open-in-browser-and-mark-read ; set browser "firefox --private-window %u" Afterwards you can open a video directly in the command line with the macro key y (note that to run macros you first have to switch Newsboat into macro mode with the comma key ” , “. This will interpret the next button as a macro call instead of a normal input.)

References

[1] https://en.wikipedia.org/wiki/RSS
[2] https://www.youtube.com/watch?v=dUFCRqs822w
[3] https://newsboat.org/
[4] https://support.google.com/youtube/answer/6224202?hl=en
[5] https://commentpicker.com/youtube-channel-id.php
[6] https://www.youtube.com/subscription_manager
[7] https://gist.github.com/ThePrivacyCaptain/508fb809c0605fd055465bebd83368f8
[8] https://support.mozilla.org/en-US/kb/common-myths-about-private-browsing
[9] https://mpv.io/