This was a fun project I did with ChatGPT. I really didn’t know what ChatGPT could do, frankly, given that I had never messed with anything of that kind before about ten days ago. I was pretty amazed. This is pretty crazy and I started knowing nothing – had a simple bash script (and a batch script for Windows – from which I did the same thing).
How To Install, etc
First, I have only tried running this on Linux Mint Cinnamon edition. I have no idea how it would work – or fail to work – on Mint Mate or Mint Xfce.
If anyone else wanted to use this it’s pretty simple. Just download a .zip file, chmod the INSTALL.script executable (chmod 777 INSTALL.script) and run ./INSTALL.script (or, heck, just run ./IN* – use a wildcard..that works). The install script just copies a few harmless files around your computer. During the install, on Mint 21 and Mint 22, it does change permissions on your /usr/local/bin folder (to 777). The first time you run the GUI and hit the update button these get reset to 755 when the update is complete. This is not required on Mint 20 due to looser, defult permissions.
So installing is super simple: Just download the .zip file and unarchive the thing anywhere. Open a terminal, navigate to the unarchived folder, and type:
chmod 777 INSTALL.script ./INSTALL*
This is what the install file does – and it ain’t much:
- Copies yt-dlp_linux to /usr/local/bin – I didn’t even rename the file from Github.
- Copies an icon to /usr/share/icons/hicolor/256×256/apps
- Copies a desktop shortcut to /usr/share/applications
- On Mint 21 and 22 the script temporarily resets, recursively, permissions on /usr/bin/local to 777. Once you run the GUI and hit the “Update Yt-dlp” button permissions for the /usr/local/bin folder are then reset to 755. The stock permissions on Mint 21 and 22 are extremely paranoid, in the first place. But, hey, we play along and tighten them up again by hitting the “Update” button in the GUI (on Mint 20 /usr/local/bin has 777 permissions out of the box).
- Yt-dlp actually ships with Mint 21 and Mint 22 but without any sort of front-end. Basically you’d never even know it was in the system unless you dug into the docs. It creates a conflict with the yt-dlp_linux binary we’re copying to /usr/local/bin so the Mint 21 and Mint 22 install scripts remove this stock version. You’ll be asked to approve this as the script runs – just type “Y” to approve removing the stock file.
- Again: Just chmod the INSTALL.sript file 777 (one more time: chmod 777 INSTALL.script) and run the install (./INSTALL.script).
- That’s it. You will find shortcuts for the program in the “Internet” section of your start menu.
Downloads – zip archives with simple bash install script
Mint 20 (Cinnamon)
Mint 20 (Cinnamon) – alternate between hi-lite and dark themes
Mint 21 (Cinnamon)
Mint 22 (Cinnamon)
On wild variation for Mint 20
This works and it was just an experiement with theming. This .zip file contains all of the files I used to build this thing. Important: The standalone got relocation errors until ChatGPT printed a .spec file for me and we built from that spec file. We eventually built like so:
pyinstaller youtube-downloader.spec
You can download everthing here.
This .deb file may work on Mint 20: Download.
Most Recent Iteration
Added a browse function, and, a command to force audio in English – since I am completely mono-lingual!
Third Iteration
Second Iteration
The placement of the buttons was a little confusing – hence the above update.