The Torrible Toolset: yesxortor release 0.2.1
Peering over the Shoulders of Giants
[Image: This graphical composition includes logos from the TorProject and GNU and a font/text rendition of youtube-dl. I use the M.C. Escher image to represent the Linux kernel. These are technologies used by the software which this release notice announces. There are no financial or professional relationships between the author/developer and any of these organizations. There are no implied endorsements by these organizations and the developer or toolset. The developer is very grateful for their works.]
Publication date: 2022-04-25
Update 2022-05-07: No bugs are yet reported, apart from the one which I created to test that the bug reporting system works. The HOWTO was also edited to highlight the importance of the use of single quotes with the url-decode tool.
Update 2022-07-27: No bug reports have been filed, and version 0.2 is released.
Update 2022-09-04: Still no bug reports. Version 0.2.1 is released with minor fixes.
Update Version 0.2.1
One minor bug was noticed by the author and fixed. One message was improved for clarity. No new functionality.
Update: Version 0.2
Version 0.2 of the toolset has been released. The single change is a move from using youtube-dl to yt-dlp as the transport. youtube-dl’s most recent update is from late last year (2021), whereas yt-dlp is being more frequently updated. yt-dlp provides backwards command-line compatibility, so the transition has been seamless. The suggestion to make the change came from a someone who uses the tool. All thanks are to this community contributor for this improvement.
One of the key advantages of yt-dlp is that it provides higher bandwidth downloads from youtube. How they manage this, I have not investigated. But, it has been tested. The
README.txt file which thanks youtube-dl’s developers has been extended to also include yt-dlp’s, as is appropriate. The documentation has also been updated to keep it conformant with version 0.2.
To update you should:
Install yt-dlp via your package manager
git pullthe yesxortor repository
sudo make all
If you wish to continue to use youtube-dl, you can just not update. The selection of transport is made in the
bin/yesxortor-lib file, which now defaults to yt-dlp, but can easily be changed to youtube-dl should one wish. With both transport tools installed, one can easily change between them and select whichever transport best suits one’s purposes.
Welcome to the release of The Torrible Toolset: yesxortor 0.1 !
If you are interested in this software, please begin by learning about Tor.
Obtaining The Torrible Toolset (3T)
Instructions for obtaining the software are provided. Preparation, installation and usage instructions are entirely contained in the software archive. Below is a copy of these instructions which are contained in text files within the software distribution.
3T is for persons who use GNU/Linux and also have some experience at the command-line. No GNU/Linux or no command-line experience? Stop now.
1: Preparation (PREREQUISITES.txt)
[Updated for version 0.2 changes; replace youtube-dl with yt-dlp]
To install this toolset you need to have installed git
and gnumake. To make use of this toolset you need to have
installed yt-dlp. The default media player is mpv.
All of git, gnumake, mpv and yt-dlp should be able to
be installed with your GNU/Linux distribution package
(software) management tool like apt or dnf.
E.g for Debian type GNU/Linux distributions:
sudo apt-get install gnumake git yt-dlp mpv
Or for RedHat type distributions:
sudo dnf install gnumake git yt-dlp mpv
Lastly, you need Tor. Go to:
and install Tor for your system.
You are then "good to go" and ready for install and use.
2: Obtaining 3T
Following these instructions is the best way to obtain The Torrible Toolset (3T).
3: Installing 3T (INSTALL.txt)
The launchpad.net site which this repository uses
for distribution comes with facilities which support
installation. These will be examined in the near future.
For now, we'll be using the oldest of old school methods:
If you have not already, start with PREREQUISITES.txt
Then, if you just "want this done", you need to be in
the top level directory of the yesxortor repository.
If you've followed the instructions this far, you are
already there. Just copy/paste this to the command-line:
sudo make all
This will install the programs and a shared library under
the /usr/local/bin directory, the documentation under
/usr/share/doc/yesxortor, and the yesxortor.alias file
under your home directory.
This is the simplest and easiest choice. For flexibility
and ensuing complications read on.
-- Customized Installations --
If you wish to install to another location you'll need to
edit the Makefile. At the top of the Makefile, clearly
labelled are three definitions of PREFIX. You make your
choice there, by commenting out choices you dont want,
and uncommenting that single choice you do want. If you
are going to edit the Makefile please read the top section.
I have tried to be as helpful as possible.
The key takeaway is that only ONE definition of PREFIX
should be uncommented (i.e in operation). ONE and
There are two variations.
* The first involves working with INST_DIR. Read the
Makefile. It should be obvious. Keep in mind that
which is defined (uncommented) and that which is not
(is commented out).
* The second is to not install anything at all, but just
use the software directly. This is an advanced topic.
You'll need to know what you are doing.
4: Using 3T (HOWTO.txt)
The HOWTO document discusses the use of RSS as a media source coordinating tool. All that matters is copying and pasting links, however you consume media.
This description of a recommended style of use of the
toolset is based upon what the author/developer does every
day; a "day in the life" description.
I began writing articles about geopolitics and for that
I needed to read and watch/listen to media. I became
annoyed with limitations I faced and built the toolkit to
"scratch an itch" to alleviate these frustrations.
I, and this toolset, use Tor for privacy/anonymity
purposes. An extended discussion of Tor, its history,
community and technology is provided in a 4 article series.
It is strongly recommended that a user of this toolset
familiarize themselves with Tor.
My media consumption starts with RSS. Once you have begun
using RSS you will never revert to previous behaviour.
It is a godsend. Thank you, Aaron Schwatz.
Like any good tool RSS requires a little investment in time
to learn about it, and then some more to customize the
tool into your ecosystem of media consumption. Make the
investment. I like akregator and liferea as RSS clients.
Choose an RSS client that suits you.
I have configured my RSS client to gather sources separated
into print (text) and video or audio sources. I like to
read at the start of the day. As someone who now writes,
reading is what I do. It trains my mind and improves
my craft. Many sources of modern independent journalism
use audio or video as their primary method. They publish
on varying platforms from Youtube to Rumble or Odysee
and Bitchute, or Soundcloud. This is where the "yt-dl"
tool comes in, wrapping the utility of the youtube-dl tool
with Tor's anonymity and transport capabilities and some
When I see an article which sparks my attention I
right-click and copy the article's address from the RSS
application. I then go to Tor Browser and "control-T"
(new tab) and "control-V" (paste) the address, press Return
When I have a video or audio source I also copy its URL
and then head to my terminal (command-line) and use:
Following a test that Tor is actually running, yt-dl
will begin the download process for the audio or video.
Because we are using GNU/Linux rather than other shitty
operating systems, we can watch the video or listen to
the audio BEFORE download is complete.
All one needs is about 1% of the download and to be
confident that the download is moving faster than playback.
Here, the second tool comes in:
This just plays with the media player of your choice
(edit the yesxortor-lib file; mpv is the default) the most
recent file in the directory (which is not a file with
the .txt extension). Thus, it plays the file currently
IMMEDIATELY pause the playback. Observe the length of the
video/track and the download speed that yt-dl (youtube-dl)
is displaying. Now you know if the download speed is
exceeding the playback speed. If it is, just watch.
If not, do something else for a while.
When one has watched/listened for a few minutes one can
assess if this media is interesting or not. If it is not,
removelast comes in. Control-C the yt-dl download to stop
it and run:
It will delete, and only after confirmation, the most
recently modified file in the directory, which is that
file that you just stopped downloading.
As Larry Wall (author of Perl) famously exclaimed:
Laziness is a Virtue!
To facilitate this, one can modify one's bash
(command-line) process and employ two aliases. One edits
one's ~/.bashrc file and adds the following line to .bashrc:
This creates two "shorthands". playlast is just pl,
and removelast is just rl. They take effect in all
Now we have:
and waiting a little for the download to get moving until
it is 1% complete. Then, just:
and if one is not interested:
There are two more tools which I need less frequently,
but when I need them they save me time.
The 'download' tool does exactly what it says, and uses
Tor's transport network. It needs the URL of a resource.
It can be an HTML page, or an image or an audio file, or
whatever. But that URL must lead to a FILE. Then download
will just download that file, and only that file, over Tor.
The last tool is url-decode. This is for when a publisher
is using Youtube as a distribution platform and in their
"show notes" there is a link, usually to an article,
that one wishes to examine. Youtube re-encodes the
link with its own crap so that it can follow you around.
url-decode gets rid of the Youtube crap, and just gives
you the actual URL which you want.
url-decode '<paste the shitty external link from Youtube>'
NOTE the use of the single quotes (') above. The crappy
Youtube URL will include characters which are meaningful to
the shell (bash). Specifically, they are the ampersand
character (&). These MUST be shielded by the use of the
single quotes. You will forget to do this, and confusion
will arise. I know. I've made this error and I wrote the tool.
Remember to use SINGLE QUOTES before and after the pasted URL.
The method is
1. type in url-decode and the first single quote
2. paste in the URL from Youtube
3. add the last single quote to enclose the URL
4. press the Return key
An example session of using yt-dl (but no other tools)
is provided in the doc/ directory as:
Open it with an image viewer. The key point is highlighted
with the read arrow. Can you see the "permission denied"
type warning from Youtube?
Get used to it. Youtube just does this now and then.
Ignore it and just "up arrow" and run the command again.
Usually, one retry is all that is needed.
The example session image is:
This all looks terribly complex. Its not. Three commands are issued (yt-dl, underlined in green). The middle one fails (drawn red arrow) because Youtube is being annoying.
The command is re-issued, and the download begins.
5: Bugs, Damned Bugs and Improvements
Of course there are no bugs ;)
Report them all !!!!
The software is made available via Canonical’s LaunchPad distribution platform. Thanks to Canonical for this gratis service.
One helpful individual helped by testing the download and installation process. I am grateful for the assistance.
yesxortor, YesXorNo, launchpad.net, 2022-04-25
If you like what you read here, you can please the author by sharing it.
Do Not Subscribe: This blog does not issue "notifications" via Substack. Use RSS. The URL is the obvious: https://yesxorno.substack.com/feed .
Following @YesXorNo1 on Twitter is the next best alert mechanism.
Copyright and Licensing
This article is copyright to the blog's author with CC BY-SA 4.0 licensing. Have fun, reuse, remix etc. but give credit and place no further restrictions. Lets build culture.
The software to which this article refers is licensed under GPLv3.