Files
shell/install/youtube-dl
T
2026-07-10 15:11:51 +08:00

60 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
##makedesc: Install youtube-dl (src)
set -eo pipefail
installed() { command -v "$1" >/dev/null 2>&1; }
install() {
echo
echo "==============================================="
echo "Installing youtube-dl"
echo "==============================================="
echo
# https://github.com/ytdl-org/youtube-dl#installation
if ! installed make; then
if [ "$(uname -s)" = "Darwin" ]; then
echo "ERROR: Install Xcode Command Line Tools first." >&2
exit 1
else
sudo apt install -y make
fi
fi
mkdir -p "$HOME/install/youtube-dl" "$HOME/.local/bin"
if installed git; then
if [ -d "$HOME/install/youtube-dl" ]; then
cd "$HOME/install/youtube-dl"
git pull
else
git clone https://github.com/ytdl-org/youtube-dl.git "$HOME/install/youtube-dl" --depth=1 --single-branch
fi
else
if ! installed wget; then
if [ "$(uname -s)" = "Darwin" ]; then
echo "ERROR: Install wget or use git." >&2
exit 1
else
sudo apt install -y wget
fi
fi
wget -q --show-progress https://github.com/ytdl-org/youtube-dl/archive/refs/heads/master.zip -O "$HOME/install/youtube-dl.zip"
unzip -oq "$HOME/install/youtube-dl.zip" -d "$HOME/install/youtube-dl"
fi
cd "$HOME/install/youtube-dl"
make youtube-dl
mv youtube-dl "$HOME/.local/bin/"
echo
echo "Finish!"
youtube-dl --version
echo
}
case "$1" in
*) install ;;
esac