commit 9b3e99fd03e1415a8c4eedf27803742556161b06 Author: Djan GICQUEL <> Date: Sun Aug 1 11:56:00 2021 +0200 initial release diff --git a/youtube-dl-install.sh b/youtube-dl-install.sh new file mode 100644 index 0000000..2f7c713 --- /dev/null +++ b/youtube-dl-install.sh @@ -0,0 +1,225 @@ +#! /bin/bash + +#--------------------------------------------------------- +# Variables +#--------------------------------------------------------- +version="v0.4" +DATE_COMPRESS="$(date +%Y%m%d%H%M)" +binarypath="$HOME/bin/youtube-dl" +url="https://yt-dl.org/downloads/latest/youtube-dl" + +#--------------------------------------------------------- +# Fonctions +#--------------------------------------------------------- +f_CreationDossier () { +if [ ! -d "$1" ]; then +mkdir -p "$1" +echo "Le dossier $1 a été créé." +fi +} + +f_TouchePourContinuer () { +read -p "Presser une touche pour continuer ou ctrl+C pour arrêter." CONT +} + +f_youtubedlinstall () { +echo "Installation de la version autonome." +f_CreationDossier $HOME/bin/ +wget --quiet $url -O $binarypath +} + +f_DetectEditor () { +if [ $(which mousepad) ]; then +echo "mousepad est installé." +editorytdl="mousepad" + +elif [ $(which pluma $devnl) ]; then +echo "pluma est installé." +editorytdl="pluma" + +elif [ $(which gedit $devnl) ]; then +echo "gedit est installé." +editorytdl="pluma" + +elif [ $(which geany $devnl) ]; then +echo "geany est installé." +editorytdl="pluma" + +elif [ $(which leafpad $devnl) ]; then +echo "leafpad est installé." +editorytdl="leafpad" + +elif [ $(which kate $devnl) ]; then +echo "kate est installé." +editorytdl="kate" + +elif [ $(which kwrite $devnl) ]; then +echo "kwrite est installé." +editorytdl="kwrite" + +elif [ $(which gvim $devnl) ]; then +echo "gvim est installé." +editorytdl="gvim" + +else +echo "Aucun éditeur trouvé, mon script ne sera pas fonctionnel sur votre installation." +exit + +fi +} + +#--------------------------------------------------------- +# Désinstallation +#--------------------------------------------------------- +if [ "$1" = "--delete" ]; then +echo "Suppression des fichiers youtube-dl" +echo "Une confirmation sera demandé pour chaque fichiers" +echo "" +f_TouchePourContinuer + +rm -vi $HOME/.local/share/applications/youtube-dl-update.desktop +rm -vi $HOME/.local/share/applications/youtube-dl-gui.desktop +rm -vi $HOME/bin/youtube-dl-pseudogui.sh +rm -vi $HOME/bin/youtube-dl-update.sh +rm -vi $HOME/bin/youtube-dl +exit +fi + +#--------------------------------------------------------- +# Intro +#--------------------------------------------------------- +echo "" +echo "youtube-dl-installs.sh" $version +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 youtube-dl dans ~/bin +- ajouter des alias pour youtube-dl dans le .bashrc +- créer les scripts bash dans ~/bin +- ajouter les lanceurs dans le menu principal + +Utilisation : +Ce script ajoute deux nouvelles icones dans votre menu principal. +- youtubedl-pseudogui ; qui permet de télécharger des vidéos +- youtubedl-update ; qui permet de mettre à jour youtube-dl + +Pour télécharger une ou plusieurs vidéos lancer "youtubedl-pseudogui" et coller les urls, une par ligne. +Puis enregistrez le fichier. Le téléchargement des vidéos commence. + + +EOF + +f_TouchePourContinuer +clear + +#--------------------------------------------------------- +# Installation youtube-dl +#--------------------------------------------------------- +f_youtubedlinstall + + +#--------------------------------------------------------- +# Detection éditeur de texte +#--------------------------------------------------------- +f_DetectEditor + +#--------------------------------------------------------- +# Ajout bashrc +#--------------------------------------------------------- +echo "Ajout dans bashrc...";sleep 2 + +cat << "EOF" >> $HOME/.bashrc +alias dl_video="~/bin/youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]' --restrict-filenames --output \"%(title)s\"" +alias dl_video_original="~/bin/youtube-dl --restrict-filenames --output \"%(title)s\"" +alias dl_musique="~/bin/youtube-dl --extract-audio --audio-format mp3 --restrict-filenames --output \"%(title)s.%(ext)s\"" +alias dl_playlist="~/bin/youtube-dl --yes-playlist --restrict-filenames --output \"%(title)s\"" +alias dl_playlistmp3="~/bin/youtube-dl --yes-playlist --extract-audio --audio-format mp3 --restrict-filenames --output \"%(title)s.%(ext)s\"" +alias youtube-dl-update="~/bin/youtube-dl -U" +EOF + +#--------------------------------------------------------- +# Création des fichiers dans $HOME/bin +#--------------------------------------------------------- +echo "Création des scripts...";sleep 2 + +# CreationFichierYoutubeDlPseudoGui +cat << "EOF" >> $HOME/bin/youtube-dl-pseudogui.sh +#! /bin/bash +dir="$HOME/Téléchargements/" +file="/tmp/youtubedlurl_$(date +%d%b%Y%H%M%S).txt" +youtubedlbinary="$HOME/bin/youtube-dl" +EOF + +echo "$editorytdl \$file" >> $HOME/bin/youtube-dl-pseudogui.sh + +cat << "EOF" >> $HOME/bin/youtube-dl-pseudogui.sh +cd $dir +for line in $(cat $file); do + notify-send -t 20000 "Téléchargement vidéo commencé..." "$line" + $youtubedlbinary $line + + if [ "$?" != "0" ]; then + echo "Erreur, le script va s'arreter." + notify-send -t 20000 "Youtube-dl erreur" "Une erreur est survenue dans le téléchargement de $line" + exit + else + notify-send -t 20000 "Téléchargement vidéo terminé." "$line" + fi +done +EOF + +# CreationFichierYoutubeDlUpdate +cat << "EOF" > $HOME/bin/youtube-dl-update.sh +#! /bin/bash +return=$($HOME/bin/youtube-dl --update) +notify-send -t 20000 "youtube-dl" "$return" +EOF + +# Droits des scripts +chmod a+x $HOME/bin/youtube-dl-update.sh +chmod a+x $HOME/bin/youtube-dl-pseudogui.sh +chmod a+x $HOME/bin/youtube-dl + +#--------------------------------------------------------- +# Ajout des lanceurs +#--------------------------------------------------------- +echo "Création des lanceurs...";sleep 2 +mkdir -p $HOME/.local/share/applications/ + +cat << "EOF" > $HOME/.local/share/applications/youtube-dl-update.desktop +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Categories=Utility; +Name=youtubedl-update +Comment=Mettre à jour Youtube-dl +Exec=sh bin/youtube-dl-update.sh +Icon=youtube +EOF + +cat << "EOF" > $HOME/.local/share/applications/youtube-dl-gui.desktop +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Categories=Utility; +Name=youtubedl-pseudogui +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/ +urlicon="https://nxcl.djan-gicquel.fr/index.php/s/SFMLFq9MHAk4P8G/download" +wget --quiet $urlicon -O "$HOME/.icons/youtube.png" + + +echo "Installation terminée."