This commit is contained in:
kyodev 2017-06-06 02:43:07 +02:00
parent 313a5a41f8
commit dd9e706150
1 changed files with 184 additions and 0 deletions

184
scripts/getFlashPlayer Executable file
View File

@ -0,0 +1,184 @@
#!/bin/bash
version="alpha0.4.0"
#####
# 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"
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
getFlashPlayer remove: désinstallation FlashPlayer
------------------------------------------------------------------------
Ce script doit être exécuté avec les droits administrateur root
pour l'installation
Il désinstallera le paquet flashplugin-nonfree si présent.
Seul le plugin sera installé, en tant que plugin Mozilla Firefox.
La désinstallation de FlashPlayer ne nécessite pas d'être root
------------------------------------------------------------------------
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
listeUsers=$(cat /etc/passwd | sed -En 's/^(.*):x:[0-9]{4}.*$/\1/p' | tr '\n' ' ')
}
# 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
if [ "$user" != "nobody" ]; then
rm -f /home/"$user"/.mozilla/plugins/libflashplayer.*
fi
done
}
if [ "$cmd" == "remove" ]; then
f_remove
# on sort du script
echo -e " FlashPlayer est désinstallé.\n"
exit 0
fi
# 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
# variables diverses
user_agent="Mozilla/5.0 (X11; Linux $architecture; rv:45.0) Gecko/20100101 Firefox/45.0"
url="https://get.adobe.com/flashplayer/"
#version flash en ligne chez a daube
verFlash=$(wget --no-check-certificate --tries=1 --timeout=15 --user-agent=$user_agent -nv -qO - $url | \
grep "AUTO_ID_columnleft_p_version" | grep -o '[0-9].*[0-9]')
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
if [ "$user" != "nobody" ]; then
mkdir -p /home/"$user"/.mozilla/plugins
cp "$fileTemp"libflashplayer.so /home/"$user"/.mozilla/plugins/
chown -R "$user":"$user" /home/"$user"/.mozilla/plugins
fi
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