YouTube_RSS is a simple YouTube client I've made for fun. The goal is to have a simple user interface for those who want to preserve their privacy when using YouTube, but who still want to be able to keep track of their favourite channels, etc.
YouTube_RSS manages subscriptions to channels using RSS, rather than YouTube's internal subscription system that requires a privacy violating Google account.
It also (optionally) uses Tor to hide the IP address of the user.
YouTube_RSS is developed and tested on Ubuntu Linux. It will probably work just fine in similar Unix-like operating systems, but probably not on Windows (at least not without a little bit of pain).
The following python modules are used and may need to be installed, e.g. using pip:
aiohttp
aiohttp-socks
feedparser
urllib3
The program also assumes that mpv is
installed in the environment. In, for example, Ubuntu, this can be accomplished
by running sudo apt-get install mpv
. youtube-dl also
needs to be installed (I use the latest version on their official website, and
at the time of this writing, the version in the Ubuntu rebository seems too old to work
the way this project uses it).
For using Tor, YouTube_RSS assumes that Tor is installed and currently running
on port 9050
(which is the default for the Tor daemon anyway). It also requires that
torsocks is installed.
Note that while I am enthusiastic about privacy and security, I am not a professional, and may have missed something important. However, the surface to protect should be relatively small, and I've taken care to get rid of DNS-leaks, etc. as well as I can. If you are more knowledgable than I, then I would appreciate input on how to make YouTube_RSS more privacy preserving and secure.
Most of the way the application works is self-explanatory; I won't tell you that to search for a video, you enter the "search for video" option (although I guess I just did), but rather focus on the things not immediately obvious when opening the program.
The keybindings are designed so that the user can do almost everything necessary by just
using the arrow keys (except, of course, when writing search queries), or by using the
hjkl
keys for vi users.
When in a menu, the user can press KEY_UP
or k
to move to the previous menu item.
When in a menu, the user can press KEY_DOWN
or j
to move to the next menu item.
When in a menu, the user can press g
(lower case) to go to the first menu item.
When in a menu, the user can press G
(upper case) to go to the last menu item.
When in a menu, the user can type a number and then press either Enter
or l
or KEY_RIGHT
to jump to the item indicated by the number typed by the user.
When in a menu, the user can press ENTER
, l
or KEY_RIGHT
to select the highlighted item, if no
number has been typed since last jump.
When in a menu, the user can press q
, <Ctrl>-C
, h
or KEY_LEFT
to go back to the previous menu.
When browsing subscriptions, in the menu where channels are displayed as menu items, the user can press
a
to toggle all entries of the currently highlighted channel as seen or unseen
When browsing subscriptions, in the menu where videos from a particular channel are displayed as menu
items, the user can press a
to toggle the highlighted entry as seen or unseen
YouTube_RSS used to support thumbnails, using ueberzug, but no longer does, since that project has sadly been discontinued.
If you used YouTube_RSS with thumbnails in the past, you need to manually delete
thumbnail files, which are stored under ~/.youtube_rss/thumbnails
.