#! /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."