initial release
This commit is contained in:
commit
9b3e99fd03
225
youtube-dl-install.sh
Normal file
225
youtube-dl-install.sh
Normal file
@ -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."
|
Loading…
Reference in New Issue
Block a user