youtube-dl-install/youtube-dl-install.sh
2022-08-24 08:40:01 +02:00

146 lines
4.5 KiB
Bash

#! /bin/bash
if ! which zenity ;then
echo "Zenity n'est pas installé, installer zenity et relancer le script."
echo "Fin du script."
exit
fi
if ! which ffmpeg ;then
echo "ffmpeg n'est pas installé, mais est requis."
echo "Fin du script."
exit
fi
#---------------------------------------------------------
# Variables
#---------------------------------------------------------
binarypath="$HOME/bin/yt-dlp"
url="https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp"
#---------------------------------------------------------
# Fonctions
#---------------------------------------------------------
f_TouchePourContinuer () {
read -p "Presser une touche pour continuer ou ctrl+C pour arrêter." CONT
}
f_youtubedlinstall () {
echo "Installation de la version autonome."
mkdir -p $HOME/bin/
wget --quiet $url -O $binarypath
}
#---------------------------------------------------------
# Désinstallation
#---------------------------------------------------------
if [ "$1" = "--delete" ]; then
echo "Suppression des fichiers youtube-dl"
echo ""
f_TouchePourContinuer
rm -v $HOME/.local/share/applications/youtube-dl-update.desktop
rm -v $HOME/.local/share/applications/youtube-dl-gui.desktop
rm -v $HOME/bin/youtube-dl-pseudogui.sh
rm -v $HOME/bin/youtube-dl-update.sh
rm -v $binarypath
exit
fi
#---------------------------------------------------------
# Intro
#---------------------------------------------------------
echo ""
echo "youtube-dl-installs.sh"
cat << "EOF"
par Djan GICQUEL (https://djan-gicquel.fr)
Script mono-utilisateur
Pour supprimmer les fichiers créé par ce script, ajouter --delete en option.
----------------------------------------------------------------------------
Ce que fait ce script :
- créer le dossier ~/bin/
- télécharger le binaire de yt-dlp dans ~/bin
- ajouter des alias pour yt-dlp dans le .bashrc
- créer les scripts bash dans ~/bin
- ajouter les lanceurs dans le menu principal
Pour télécharger une ou plusieurs vidéos lancer "youtubedl-pseudogui" et coller l'url.
Valider, le téléchargement des vidéos commence.
EOF
f_TouchePourContinuer
clear
#---------------------------------------------------------
# Installation youtube-dl
#---------------------------------------------------------
f_youtubedlinstall
#---------------------------------------------------------
# Ajout bashrc
#---------------------------------------------------------
echo "Nettoyage du bashrc...";sleep 2
sed -i '/YOUTUBE-DL/D' ~/.bashrc
sed -i '/alias\ dl_/D' ~/.bashrc
sed -i '/alias\ youtube-dl-update/D' ~/.bashrc
echo "Ajout dans bashrc...";sleep 2
cat << "EOF" >> $HOME/.bashrc
### YOUTUBE-DL ###
alias dl_video="~/bin/yt-dlp -f 'bestvideo[height<=480]+bestaudio/best[height<=480]' --restrict-filenames --output \"%(title)s\""
alias dl_video_original="~/bin/yt-dlp --restrict-filenames --output \"%(title)s\""
alias dl_musique="~/bin/yt-dlp --extract-audio --audio-format mp3 --restrict-filenames --output \"%(title)s.%(ext)s\""
alias dl_playlist="~/bin/yt-dlp --yes-playlist --restrict-filenames --output \"%(title)s\""
alias dl_playlistmp3="~/bin/yt-dlp --yes-playlist --extract-audio --audio-format mp3 --restrict-filenames --output \"%(title)s.%(ext)s\""
alias youtube-dl-update="~/bin/yt-dlp -U"
EOF
#---------------------------------------------------------
# Création des fichiers dans $HOME/bin
#---------------------------------------------------------
echo "Création des scripts...";sleep 2
# Creation Fichier YoutubeDlPseudoGui
cp youtube-dl-pseudogui.sh $HOME/bin/youtube-dl-pseudogui.sh
# Droits des scripts
chmod a+x $HOME/bin/youtube-dl-pseudogui.sh
chmod a+x $binarypath
#---------------------------------------------------------
# Ajout des lanceurs
#---------------------------------------------------------
echo "Création des lanceurs...";sleep 2
mkdir -p $HOME/.local/share/applications/
cat << "EOF" > $HOME/.local/share/applications/youtube-dl-gui.desktop
[Desktop Entry]
Encoding=UTF-8
Type=Application
Categories=Utility;
Name=youtubedl-video
Comment=Télécharger des vidéos sur Youtube ou d'autres sites
Exec=sh bin/youtube-dl-pseudogui.sh
Icon=youtube
EOF
#---------------------------------------------------------
# Ajout des icones
#---------------------------------------------------------
echo "Ajout des icones...";sleep 2
mkdir -p $HOME/.icons/
mv youtube.png $HOME/.icons/
# Suppression des anciens fichiers
rm -f $HOME/bin/youtube-dl-audio.sh
rm -f $HOME/bin/youtube-dl-update.sh
rm -f $HOME/.local/share/applications/youtube-dl-update.desktop
rm -f $HOME/.local/share/applications/youtube-dl-update.desktop
echo "Installation terminée."