kyopages/scripts/getFlashPlayer

194 lines
5.5 KiB
Plaintext
Raw Normal View History

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