2017-06-06 02:43:07 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
2017-06-06 03:10:44 +02:00
|
|
|
version="0.5.0"
|
2017-06-06 02:43:07 +02:00
|
|
|
|
|
|
|
#####
|
|
|
|
# licence LPRAB/WTFPL
|
|
|
|
# auteurs naguam / kyodev
|
|
|
|
# 06/2017
|
|
|
|
#####
|
|
|
|
|
|
|
|
|
|
|
|
# entete ---------------------------------------------------------------
|
|
|
|
|
|
|
|
clear
|
|
|
|
cat << "EOF"
|
|
|
|
_ _____ _ _ ____ _
|
|
|
|
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
|
|
|
|
/ _' |/ _ \ __| |_ | |/ _' / __| '_ \| |_) | |/ _' | | | |/ _ \ '__|
|
|
|
|
| (_| | __/ |_| _| | | (_| \__ \ | | | __/| | (_| | |_| | __/ |
|
|
|
|
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|
|
|
|
|___/ |___/
|
|
|
|
|
|
|
|
EOF
|
|
|
|
echo -e " pour Firefox\t\t version $version\n"
|
|
|
|
|
|
|
|
# fonction avertissement -----------------------------------------------
|
|
|
|
|
|
|
|
f_avertisement(){
|
|
|
|
cat << "EOF"
|
|
|
|
|
|
|
|
FlashPlayer n'est pas libre, c'est un programmme propriétaire dont on ne
|
|
|
|
peut pas connaître le code source, ni l'utiliser sans conditions, ni le
|
|
|
|
distribuer librement.
|
|
|
|
Il souffre de nombreuses vulnérabilités chroniques, depuis de nombreuses années
|
|
|
|
sans que l'éditeur fasse beaucoup d'efforts pour corriger cet état de fait...
|
|
|
|
Il sera donc bloqué à plus ou moins court terme pas les navigateurs majeurs,
|
|
|
|
c'est à dire Firefox et Chrom(ium). Préparez vous à cela...
|
|
|
|
|
|
|
|
EOF
|
|
|
|
}
|
|
|
|
|
|
|
|
# arguments-------------------------------------------------------------
|
|
|
|
|
|
|
|
if [ "$1" == "install" ]; then cmd="install"
|
|
|
|
elif [ "$1" == "remove" ]; then cmd="remove"
|
2017-06-06 03:10:44 +02:00
|
|
|
elif [ "$1" == "version" ]; then cmd="version"
|
2017-06-06 02:43:07 +02:00
|
|
|
else
|
|
|
|
# pas d'arguments ou mauvais argument, affichage help
|
|
|
|
cat << "EOF"
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Pour tous les utilisateurs du système:
|
|
|
|
|
|
|
|
getFlashPlayer install: téléchargement et installation FlashPlayer
|
2017-06-06 03:10:44 +02:00
|
|
|
getFlashPlayer remove : désinstallation FlashPlayer
|
|
|
|
getFlashPlayer version: récupération version en ligne FlashPlayer
|
2017-06-06 02:43:07 +02:00
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Ce script doit être exécuté avec les droits administrateur root
|
2017-06-06 03:10:44 +02:00
|
|
|
uniquement pour l'installation
|
2017-06-06 02:43:07 +02:00
|
|
|
Il désinstallera le paquet flashplugin-nonfree si présent.
|
|
|
|
Seul le plugin sera installé, en tant que plugin Mozilla Firefox.
|
|
|
|
|
2017-06-06 03:10:44 +02:00
|
|
|
La désinstallation de FlashPlayer ne nécessite pas d'être root, comme
|
|
|
|
la récupération de la version en ligne.
|
2017-06-06 02:43:07 +02:00
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
EOF
|
|
|
|
f_avertisement
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# requis ---------------------------------------------------------------
|
|
|
|
|
|
|
|
# debian?
|
|
|
|
if [ ! -f /etc/debian_version ]; then
|
|
|
|
echo "Vous n'utilisez pas debian, adieu o/"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# fonctions diverses----------------------------------------------------
|
|
|
|
|
|
|
|
# root? $oui="oui"
|
|
|
|
f_root(){
|
|
|
|
if [ $EUID -eq 0 ]; then
|
|
|
|
return 0
|
|
|
|
else
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# liste des users déclarés dans le système
|
|
|
|
f_allUsers(){
|
|
|
|
# valeurs séparées par espace
|
2017-06-06 03:10:44 +02:00
|
|
|
listeUsers=$(cat /etc/passwd | sed -En 's/^(.*):x:[0-9]{4}.*$/\1/p' | grep -v 'nobody' | tr '\n' ' ')
|
2017-06-06 02:43:07 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
# fonction remove ------------------------------------------------------
|
|
|
|
f_remove() {
|
|
|
|
# on récupère la liste des users dans $listeUsers
|
|
|
|
f_allUsers
|
|
|
|
|
|
|
|
# on efface, pour *chaque user déclaré* sur le système
|
|
|
|
for user in $listeUsers; do
|
2017-06-06 03:10:44 +02:00
|
|
|
rm -f /home/"$user"/.mozilla/plugins/libflashplayer.*
|
2017-06-06 02:43:07 +02:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
if [ "$cmd" == "remove" ]; then
|
|
|
|
f_remove
|
|
|
|
# on sort du script
|
|
|
|
echo -e " FlashPlayer est désinstallé.\n"
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
2017-06-06 03:10:44 +02:00
|
|
|
# fonction version Flash en ligne --------------------------------------
|
|
|
|
|
|
|
|
# assign $verFlash
|
|
|
|
f_versionFlash(){
|
|
|
|
user_agent="Mozilla/5.0 (X11; Linux $architecture; rv:45.0) Gecko/20100101 Firefox/52.0"
|
|
|
|
urlTest="https://get.adobe.com/flashplayer/"
|
|
|
|
verFlash=$(wget --no-check-certificate --tries=1 --timeout=15 --user-agent=$user_agent -nv -qO - $urlTest | \
|
|
|
|
grep "AUTO_ID_columnleft_p_version" | grep -o '[0-9].*[0-9]')
|
|
|
|
}
|
|
|
|
if [ "$cmd" == "version" ]; then
|
|
|
|
f_versionFlash
|
|
|
|
# on sort du script
|
|
|
|
echo -e " Version FlashPlayer en ligne: $verFlash.\n"
|
|
|
|
exit 0
|
|
|
|
fi
|
2017-06-06 02:43:07 +02:00
|
|
|
|
|
|
|
# installation----------------------------------------------------------
|
|
|
|
|
|
|
|
# root?
|
|
|
|
if ! f_root; then
|
|
|
|
# sortie sur test root
|
|
|
|
echo " Vous devez être root pour installer FlashPlayer"
|
|
|
|
echo -e " Relancer après 'su' ou avec 'sudo'\n"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# information soft daube
|
|
|
|
f_avertisement
|
|
|
|
|
|
|
|
# on vire 'flashplugin-nonfree' si installé
|
|
|
|
if [ ! dpkg-query -l bash &> /dev/null ]; then
|
|
|
|
apt-get purge flashplugin-nonfree
|
|
|
|
fi
|
|
|
|
|
|
|
|
# architecture?
|
|
|
|
if [ "$(dpkg --print-architecture)" = "amd64" ]; then
|
|
|
|
architecture='x86_64'
|
|
|
|
else
|
|
|
|
architecture='i386'
|
|
|
|
fi
|
|
|
|
|
2017-06-06 03:10:44 +02:00
|
|
|
# variables daube
|
|
|
|
f_versionFlash
|
2017-06-06 02:43:07 +02:00
|
|
|
url="https://fpdownload.adobe.com/get/flashplayer/pdc/$verFlash/"
|
|
|
|
file="flash_player_npapi_linux.$architecture.tar.gz"
|
|
|
|
|
|
|
|
# affichage version en ligne si install
|
|
|
|
if [ "$cmd" == "install" ]; then echo -e " Installation FlashPlayer version $verFlash\n"; fi
|
|
|
|
|
|
|
|
# dossier temporaire de travail
|
|
|
|
fileTemp="/tmp/flash-file/"
|
|
|
|
mkdir -p "$fileTemp"
|
|
|
|
|
|
|
|
# chargement flash
|
|
|
|
wget --user-agent="$user_agent" -O $fileTemp$file $url$file
|
|
|
|
|
|
|
|
# décompression archive téléchargée
|
|
|
|
tar xaf $fileTemp$file -C $fileTemp
|
|
|
|
|
|
|
|
# on récupère la liste des users dans $listeUsers
|
|
|
|
f_allUsers
|
|
|
|
|
|
|
|
# copie dans la config user mozilla, pour *chaque user déclaré* sur le système
|
|
|
|
for user in $listeUsers; do
|
2017-06-06 03:10:44 +02:00
|
|
|
mkdir -p /home/"$user"/.mozilla/plugins
|
|
|
|
cp "$fileTemp"libflashplayer.so /home/"$user"/.mozilla/plugins/
|
|
|
|
chown -R "$user":"$user" /home/"$user"/.mozilla/plugins
|
2017-06-06 02:43:07 +02:00
|
|
|
done
|
|
|
|
|
|
|
|
# on efface le dossier temporaire
|
|
|
|
rm -Rf "$fileTemp"
|
|
|
|
|
|
|
|
# the end
|
|
|
|
echo -e " FlashPlayer est installé.\n\tPour tester: http://get.adobe.com/flashplayer/about/\n"
|
|
|
|
|
|
|
|
exit 0
|