146 lines
4.5 KiB
Bash
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."
|