ezdl is an Easy (Video) Download tool written in Python and uses readily available libraries in order to simplify the process of downloading videos from varying sources right from the terminal.
- Linux
- macOS
- Windows (using WSL)
bash5.0+ffmpeg6.1.1+python3.0+
-
Simple yet useful configuration options to get things done the way you want it and to have that process reproducible.
Examples:
- Set a location where your cookies are stored and ezdl will recognise them and prompt you to pick one, if any, when you're downloading videos.
- Define several download path options for ezdl to allow you to choose from when downloading.
- Configure custom source profiles on top or in place of the ones provided by default i.e. Create a new
instagramsource profile with yt-dlp options to use when downloading from Instagram. - Set defaults for each option (i.e. source, download path, cookie) or don't and ezdl will determine a default for you.
-
Easy to use with essentially nothing to remember or recall when you need to download a video.
-
Very fast downloads and compatible with videos from a huge list of sources thanks to the yt-dlp project.
-
Custom sanitisation/parsing options for video links (i.e. automatically changing
vimeo.comlinks toplayer.vimeo.com,x.comlinks totwitter.com, and removes tracking code from certain sites that are known to have them).
Follow these steps to install or update the programme for a single user or system-wide:
-
Ensure that you have met all of the project requirements.
-
Clone the repository:
git clone https://github.com/irfanhakim-as/ezdl.git ~/.ezdl -
Get into the local repository:
cd ~/.ezdl
-
Install using the provided installer script.
-
To install the programme for a single user, simply run the script as is:
./installer.sh
By default, this will install the programme to the
~/.localprefix. Please ensure that the~/.local/bindirectory is in yourPATHenvironment variable. -
Alternatively, to install the programme system-wide, run the script with
sudo:sudo ./installer.sh
By default, this will install the programme to the
/usr/localprefix. -
To check out any other available installation options, append the
--helpflag to the command:./installer.sh --help
-
There are two configuration files available that are provided by default after using ezdl for the first time:
-
ezdl.json: Configuration options pertaining to the ezdl tool. All supported options are detailed below. -
source.json: Source profile configurations that are primarily used as yt-dlp download options you could pick from when you are downloading videos. They are meant to be set up for different sources or modes of downloading, for example:- One profile for downloading YouTube videos as
mp4files - Another profile for downloading YouTube videos as
mp3files - A profile for downloading videos off of social media sites like Twitter or Instagram
Each of these profiles could be customised according to their specific needs (i.e. different quality preferences, formats, cookies, etc.)
- One profile for downloading YouTube videos as
They are both installed to ~/.config/ezdl by default.
| Option | Description | Sample Value | Default Value |
|---|---|---|---|
cookies_dir |
The directory where your cookie(s) are stored, if any. | ~/Downloads/cookies |
~/.ezdl/cookies |
default_cookie |
The default cookie (.txt) file name to use/suggest. |
cookies if the file name is cookies.txt |
anonymous or the first available cookie if any |
default_download_path |
The default download path name to use/suggest. | current |
downloads or the first available download path |
default_source |
The default source profile name to use/suggest. | twitter |
The first available source profile |
download_auto_subs |
Specifies whether or not ezdl should download automatically generated video subtitles. | true |
false |
download_paths |
A dictionary of download path options comprised of their name and path. | {"videos": "~/Videos", "movies": "~/Movies"} |
{"downloads": "~/Downloads", "current": "."} |
download_subtitles |
Specifies whether or not ezdl should download video subtitles. | true |
false |
sanitise_links |
Specifies whether or not ezdl should sanitise video links. | false |
true |
subtitle_format |
The preferred subtitle format to download if available. | vtt |
srt |
subtitle_lang |
A list of language codes to download video subtitles for. | ["ja", "ko"] |
["en.*"] |
-
Ensure that you have installed the project successfully.
-
The easiest way to use ezdl is to use the
ezdlcommand as is:ezdl
This will walk you through picking a source profile, a download path, and a cookie (if available) before then getting the video links from you and downloading them accordingly.
-
You may also use the help option to see other (optional) options available to ezdl:
ezdl --help
Follow these steps to uninstall the programme:
-
Get into the local repository:
cd ~/.ezdl
-
Uninstall using the same installer script:
-
If you have previously installed the programme for a single user, run the script as is with the
--uninstallflag:./installer.sh --uninstall
-
Alternatively, if you have installed the programme system-wide, run the script with
sudo:sudo ./installer.sh --uninstall
-
(Optional) Remove the user configuration directory and the local repository:
rm -rf ~/.config/ezdl ~/.ezdl
-