2017-06-06 02:43:07 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
2017-07-14 03:07:37 +02:00
|
|
|
version=2.2.0
|
|
|
|
date="14/07/2017"
|
2017-06-10 00:21:43 +02:00
|
|
|
projet="Kyodev"
|
|
|
|
contact="https://framagit.org/kyodev/kyopages/issues"
|
|
|
|
script="getFlashPlayer"
|
2017-07-13 01:13:52 +02:00
|
|
|
urlScript="https://framagit.org/kyodev/kyopages/raw/master/scripts/getFlashPlayer"
|
2017-07-14 03:07:37 +02:00
|
|
|
user_agent="Mozilla/5.0 (X11; Linux $architecture; rv:54.0) Gecko/ Firefox"
|
2017-07-13 01:13:52 +02:00
|
|
|
|
2017-06-10 21:16:48 +02:00
|
|
|
##### license LPRAB/WTFPL
|
2017-06-08 14:09:19 +02:00
|
|
|
# auteurs: kyodev
|
2017-06-21 20:15:27 +02:00
|
|
|
# contibuteur: coyotus
|
2017-06-08 14:09:19 +02:00
|
|
|
# idée: naguam
|
2017-06-06 02:43:07 +02:00
|
|
|
#####
|
|
|
|
|
2017-06-06 20:04:42 +02:00
|
|
|
#### définition couleurs -----------------------------------------------
|
|
|
|
YELLOW=`printf "\033[0;33m"` # ?
|
|
|
|
GREEN=`printf "\033[0;32m"` # ok
|
|
|
|
BLUE=`printf "\033[0;34m"` # info
|
|
|
|
COLOR=`printf "\033[0m"` # standard
|
|
|
|
RED=`printf "\033[0;31m"` # alerte
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-06-06 20:04:42 +02:00
|
|
|
#### entete ============================================================
|
2017-06-06 02:43:07 +02:00
|
|
|
clear
|
2017-06-06 20:04:42 +02:00
|
|
|
echo "$BLUE"
|
|
|
|
cat << 'EOF'
|
2017-06-06 02:43:07 +02:00
|
|
|
_ _____ _ _ ____ _
|
|
|
|
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
|
|
|
|
/ _' |/ _ \ __| |_ | |/ _' / __| '_ \| |_) | |/ _' | | | |/ _ \ '__|
|
|
|
|
| (_| | __/ |_| _| | | (_| \__ \ | | | __/| | (_| | |_| | __/ |
|
|
|
|
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|
|
|
|
|___/ |___/
|
2017-06-08 14:09:19 +02:00
|
|
|
|
2017-06-06 02:43:07 +02:00
|
|
|
EOF
|
2017-06-10 00:21:43 +02:00
|
|
|
echo -e "$YELLOW pour Firefox sur Debian, version $version - $date\n$COLOR"
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-06-06 20:04:42 +02:00
|
|
|
#### fonctions diverses ================================================
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-07-12 06:24:41 +02:00
|
|
|
# user ayant initié la session graphique, assigne $user_, testé avec mate, gnome
|
|
|
|
# sortie script sur erreur, gestion variable environnement pour personnaliser l'user avec:
|
|
|
|
# USER_INSTALL=user script
|
2017-06-21 20:15:27 +02:00
|
|
|
f__user(){
|
2017-07-12 06:24:41 +02:00
|
|
|
# user_ via variable en environnement
|
|
|
|
test "$USER_INSTALL" && user_="$USER_INSTALL"
|
|
|
|
|
|
|
|
# sudo ou gnome: uid
|
|
|
|
test "$SUDO_UID" && user_id="$SUDO_UID" || user_id="$(echo "$XAUTHORITY" | grep -Eo '[0-9]+')"
|
|
|
|
|
|
|
|
# si user_ vide, extraction classique user dans XAUTHORITY, donc priorité à $USER_INSTALL
|
|
|
|
test "$user_" || user_="$(echo "$XAUTHORITY" | cut -d "/" -f 3)"
|
|
|
|
|
|
|
|
# si user_id, extraction via passwd
|
|
|
|
test "$user_id" && user_="$(grep "$user_" /etc/passwd | cut -d ":" -f 1 )"
|
|
|
|
|
|
|
|
# derniers tests, home existant ou user_ défini
|
|
|
|
if [ "$user_" ]; then
|
|
|
|
ls "/home/$user_" &>/dev/null || f__error "\trépertoire '/home/$user_' INEXISTANT"
|
|
|
|
else
|
|
|
|
f__error "\tuser indéterminé, lancer le script avec:\n\tUSER_INSTALL=user $0"
|
|
|
|
fi
|
2017-06-21 20:15:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
# test cnx réseau et résolution adobe.com, return 0 si ok else 1
|
|
|
|
f__cnxTest(){
|
|
|
|
ping -c 1 adobe.com &>/dev/null || return 1
|
|
|
|
}
|
|
|
|
|
2017-06-06 20:04:42 +02:00
|
|
|
# sortie sur erreur
|
2017-06-21 20:15:27 +02:00
|
|
|
f__error() { # affichage paramètre 1 en rouge pour le premier, les suivants optionnels en bleu, sortie du script
|
2017-06-06 20:04:42 +02:00
|
|
|
echo -e "\n$RED Erreur critique: $1 $COLOR"
|
2017-07-02 16:55:31 +02:00
|
|
|
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
|
2017-06-06 20:04:42 +02:00
|
|
|
echo "$COLOR"
|
2017-06-21 20:15:27 +02:00
|
|
|
logger --id -p user.err "$script $version: <erreur> $*"
|
2017-06-06 20:04:42 +02:00
|
|
|
exit 1
|
2017-06-06 02:43:07 +02:00
|
|
|
}
|
|
|
|
|
2017-06-06 20:04:42 +02:00
|
|
|
# affichage information
|
2017-06-21 20:15:27 +02:00
|
|
|
f__info() { # tous les paramètres en ligne en couleur bleue, accepte \n, ligne vide à la fin
|
2017-06-06 20:04:42 +02:00
|
|
|
echo -e " $BLUE $@ $COLOR\n"
|
|
|
|
}
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-06-21 20:15:27 +02:00
|
|
|
# syslog & affichage information
|
|
|
|
f__syslogInfo() { # inscription syslog $1, en user.info & f__info $1
|
|
|
|
logger --id -p user.info "$1"
|
|
|
|
f__info "$1"
|
|
|
|
}
|
|
|
|
|
2017-07-13 17:08:36 +02:00
|
|
|
# root? return 0 si root else 1
|
2017-06-21 20:15:27 +02:00
|
|
|
f__root(){
|
2017-06-08 14:09:19 +02:00
|
|
|
if [ $EUID -eq 0 ]; then return 0; else return 1; fi
|
2017-06-06 20:04:42 +02:00
|
|
|
}
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-07-13 11:32:01 +02:00
|
|
|
# test wget, $1 url à tester
|
|
|
|
f__testWget(){
|
|
|
|
echo " $1"
|
|
|
|
wget -Sq --tries=1 --no-check-certificate --user-agent="$user_agent" -O /dev/null "$1"
|
|
|
|
}
|
2017-06-08 14:09:19 +02:00
|
|
|
|
2017-07-13 17:08:36 +02:00
|
|
|
# test validité archive, $1 fichier (gzip), return 1 si invalide
|
|
|
|
f__testArchive(){
|
|
|
|
file -b $1 | grep 'gzip compressed data' &>/dev/null && archive_detect="gzip" || return 1
|
|
|
|
}
|
|
|
|
|
2017-06-08 14:09:19 +02:00
|
|
|
#### fonctions script ==================================================
|
|
|
|
|
2017-07-13 11:32:01 +02:00
|
|
|
# install du script dans le système
|
|
|
|
fscript_install(){
|
2017-07-14 03:07:37 +02:00
|
|
|
if [ ! -w /opt/bin/getFlashPlayer ]; then # script inexistant ou inaccessible en écriture, root requis
|
|
|
|
if ! f__root ; then f__error "vous devez être ROOT pour installer ce script dans le système"; fi
|
|
|
|
# on vire 'flashplugin-nonfree' si installé
|
|
|
|
dpkg --get-selections | grep '^flashplugin-nonfree[[:space:]]' &>/dev/null && apt-get purge flashplugin-nonfree
|
|
|
|
# installation dans /opt
|
|
|
|
mkdir -p /opt/bin/
|
|
|
|
cp -d "$(basename $0)" /opt/bin/"$script"
|
|
|
|
chmod a+wx /opt/bin/"$script"
|
|
|
|
ln -s /opt/bin/"$script" /usr/local/bin/"$script" &>/dev/null
|
|
|
|
# cron/anacron install
|
|
|
|
fscript_cronAnacron install
|
|
|
|
else # installation/mise à jour manuelle
|
|
|
|
chmod a+wx "$(basename $0)"
|
|
|
|
cp -d "$(basename $0)" /opt/bin/"$script"
|
|
|
|
fi
|
|
|
|
## rm "$(basename $0)" &>/dev/null
|
|
|
|
f__info "$GREEN$script est installé dans le système.\n$BLUE maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
|
2017-07-13 11:32:01 +02:00
|
|
|
exit 0
|
|
|
|
}
|
|
|
|
|
|
|
|
# suppression du script dans le système
|
|
|
|
fscript_remove(){
|
|
|
|
if ! f__root ; then f__error "vous devez être ROOT pour supprimer ce script dans le système"; fi
|
|
|
|
|
|
|
|
# suppression de /opt
|
|
|
|
rm /opt/bin/"$script" &>/dev/null
|
|
|
|
unlink /usr/local/bin/"$script" &>/dev/null
|
|
|
|
|
|
|
|
# cron/anacron install
|
|
|
|
fscript_cronAnacron remove
|
|
|
|
|
|
|
|
f__info "$GREEN$script est supprimé du système.\n"
|
|
|
|
}
|
|
|
|
|
|
|
|
# version script en ligne, assigne $versionScript, $uptd_script=""|ko,
|
|
|
|
fscript_version(){
|
|
|
|
versionScript="$(wget -q -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
|
|
|
|
if [ "$version" != "$versionScript" ]; then
|
|
|
|
f__info "version script en ligne: $versionScript, mise à jour possible"
|
|
|
|
uptd_script="ko"
|
|
|
|
else uptd_script=""; fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# mise à jour script si dispo
|
|
|
|
fscript_dl(){
|
|
|
|
if [ "$uptd_script" != "ko" ]; then return 0; fi
|
|
|
|
dirTemp="/tmp/$script-$RANDOM/"
|
|
|
|
mkdir -p "$dirTemp"
|
2017-07-14 03:07:37 +02:00
|
|
|
wget -q -O "$dirTemp$script" "$urlScript" && chmod +x "$script"
|
2017-07-13 11:32:01 +02:00
|
|
|
if [ "$?" != "0" ]; then f__testWget "$urlScript"; fi
|
2017-07-14 03:07:37 +02:00
|
|
|
cp -d "$dirTemp$script" /opt/bin/"$script"
|
|
|
|
rm "$dirTemp$script"
|
2017-07-13 11:32:01 +02:00
|
|
|
f__syslogInfo "$script mis à jour en version $versionScript"
|
|
|
|
}
|
|
|
|
|
2017-07-14 03:07:37 +02:00
|
|
|
#inscription dans tache upgrade en cron hebdomadaire, une partie requiert root
|
2017-07-13 11:32:01 +02:00
|
|
|
fscript_cronAnacron(){
|
|
|
|
case "$1" in
|
|
|
|
"install" )
|
|
|
|
# création répertoire plugin/
|
|
|
|
mkdir -p "/home/$user_/.mozilla/plugins"
|
|
|
|
chown "$user_": "/home/$user_/.mozilla/plugins"
|
|
|
|
# table anacron
|
|
|
|
echo "7 15 getFP nice /opt/bin/$script upgrade &>/dev/null" > /home/"$user_"/.mozilla/plugins/libflashplayer.anacrontab
|
2017-07-14 03:07:37 +02:00
|
|
|
## test: anacron journalier: echo "1 05 getFPtest nice /opt/bin/$script upgrade &>/dev/null" >> /home/"$user_"/.mozilla/plugins/libflashplayer.anacrontab
|
2017-07-13 11:32:01 +02:00
|
|
|
chown "$user_": /home/"$user_"/.mozilla/plugins/libflashplayer.anacrontab
|
|
|
|
# création spool anacron utilisateur
|
|
|
|
mkdir -p /home/"$user_"/.config/anacron/spool
|
|
|
|
chown "$user_": /home/"$user_"/.config/anacron/spool
|
|
|
|
# cron tab pour activation horaire anancron
|
|
|
|
echo "@hourly $user_ /usr/sbin/anacron -t /home/"$user_"/.mozilla/plugins/libflashplayer.anacrontab -S /home/"$user_"/.config/anacron/spool" >> /etc/crontab
|
|
|
|
;;
|
|
|
|
|
|
|
|
"remove" )
|
|
|
|
rm /home/"$user_"/.config/anacron/spool/getFP
|
|
|
|
sed -i "\;^\@hourly.*libflashplayer.anacrontab.*$;d" /etc/crontab
|
|
|
|
;; # désinstallation
|
|
|
|
esac
|
|
|
|
}
|
|
|
|
|
2017-07-13 01:13:52 +02:00
|
|
|
# version Flash en ligne & installée, $verFlash=x|na, $verInstall, $uptd_plug=""|ko, $urlOnline,
|
2017-07-13 17:08:36 +02:00
|
|
|
fflash_version(){
|
2017-06-06 20:04:42 +02:00
|
|
|
urlOnline="https://get.adobe.com/flashplayer/"
|
2017-06-21 20:15:27 +02:00
|
|
|
if ! f__cnxTest; then f__error "connection impossible ou site adobe injoignable"; fi
|
2017-07-13 01:13:52 +02:00
|
|
|
verFlash="$(wget --tries=2 --no-check-certificate --timeout=15 --user-agent="$user_agent" -nv -O - "$urlOnline" | \
|
|
|
|
grep "AUTO_ID_columnleft_p_version" | grep -o '[0-9].*[0-9]')" || verFlash="na"
|
2017-07-13 11:32:01 +02:00
|
|
|
if [ "$?" != "0" ]; then f__testWget "$urlOnline"; fi
|
2017-07-13 01:13:52 +02:00
|
|
|
verInstall="$(cat /home/"$user_"/.mozilla/plugins/libflashplayer.version 2>/dev/null)" || verInstall=""
|
|
|
|
uptd_plug=""
|
2017-06-21 20:15:27 +02:00
|
|
|
if [ $verFlash == "na" ]; then f__info "version FlashPlayer non accessible";
|
|
|
|
else f__info "version FlashPlayer en ligne: $verFlash"; fi
|
2017-07-13 11:32:01 +02:00
|
|
|
if [ "$verInstall" == "" ]; then f__info "FlashPlayer non installé"; return 0; fi
|
2017-07-13 01:13:52 +02:00
|
|
|
|
2017-07-13 11:32:01 +02:00
|
|
|
if [ "$verInstall" == "$verFlash" ]; then f__info "FlashPlayer à jour";
|
|
|
|
else
|
|
|
|
f__info "version FlashPlayer installée: $verInstall"", mise à jour possible"
|
|
|
|
uptd_plug="ko"
|
|
|
|
fi
|
2017-06-06 20:04:42 +02:00
|
|
|
}
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-06-21 20:15:27 +02:00
|
|
|
# pas beau ce soft :(
|
2017-07-13 11:32:01 +02:00
|
|
|
fflash_avert(){
|
2017-06-06 20:04:42 +02:00
|
|
|
cat << 'EOF'
|
2017-06-22 17:02:42 +02:00
|
|
|
FlashPlayer n'est pas libre, c'est un programme propriétaire dont on
|
2017-06-06 20:04:42 +02:00
|
|
|
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 des 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...
|
2017-06-06 02:43:07 +02:00
|
|
|
|
|
|
|
EOF
|
2017-06-06 20:04:42 +02:00
|
|
|
}
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-06-08 14:09:19 +02:00
|
|
|
# affichage help
|
2017-07-13 11:32:01 +02:00
|
|
|
fflash_help(){
|
2017-06-08 14:09:19 +02:00
|
|
|
printf $BLUE
|
2017-06-06 20:04:42 +02:00
|
|
|
cat << 'EOF'
|
2017-06-07 03:12:35 +02:00
|
|
|
-----------------------------------------------------------------------
|
2017-06-08 14:09:19 +02:00
|
|
|
./getFlashPlayer : installation du script dans le système, en ROOT
|
|
|
|
|
2017-06-16 13:08:58 +02:00
|
|
|
getFlashPlayer install : téléchargement & installation & update Flash
|
2017-06-07 03:12:35 +02:00
|
|
|
getFlashPlayer remove : désinstallation de FlashPlayer
|
2017-06-08 14:09:19 +02:00
|
|
|
getFlashPlayer version : version en ligne de FlashPlayer
|
2017-07-13 01:13:52 +02:00
|
|
|
getFlashPlayer upgrade : MAJ si disponible, cron hebdomadaire
|
2017-06-10 21:16:48 +02:00
|
|
|
----
|
2017-07-13 17:08:36 +02:00
|
|
|
getFlashPlayer manuel fichier.tar.gz : installation d'une archive
|
|
|
|
téléchargée manuellement
|
|
|
|
----
|
2017-06-10 00:21:43 +02:00
|
|
|
getFlashPlayer sysremove : désinstall du script du système, en ROOT
|
2017-06-06 20:04:42 +02:00
|
|
|
EOF
|
2017-06-10 21:16:48 +02:00
|
|
|
printf $COLOR; cat << 'EOF'
|
2017-06-08 14:09:19 +02:00
|
|
|
-----------------------------------------------------------------------
|
|
|
|
Ce script doit être exécuté avec les droits root uniquement pour
|
2017-07-14 03:07:37 +02:00
|
|
|
la première installation et la suppression du script dans le système.
|
2017-06-06 20:04:42 +02:00
|
|
|
Il désinstallera le paquet flashplugin-nonfree si présent.
|
2017-06-22 17:02:42 +02:00
|
|
|
Seul le plugin sera installé, en tant que plugin Mozilla Firefox.
|
2017-06-07 03:12:35 +02:00
|
|
|
Ce script devrait fonctionner sur Ubuntu.
|
|
|
|
-----------------------------------------------------------------------
|
2017-06-06 20:04:42 +02:00
|
|
|
EOF
|
2017-06-08 14:09:19 +02:00
|
|
|
printf $COLOR
|
|
|
|
}
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-07-13 17:08:36 +02:00
|
|
|
# install plugin dans config user mozilla, $1 upgrade|manuel (maj|install manuelle)
|
2017-07-13 11:32:01 +02:00
|
|
|
fflash_install(){
|
|
|
|
if [ $1 != "upgrade" ]; then fflash_avert; fi
|
2017-07-13 01:13:52 +02:00
|
|
|
architecture="$(getconf LONG_BIT)" # 32 | 64
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-07-13 17:08:36 +02:00
|
|
|
if [ $1 == "manuel" ]; then
|
|
|
|
file="$(basename $2)"
|
|
|
|
dirTemp="$(dirname $2)/$script-$RANDOM/"
|
|
|
|
mkdir -p "$dirTemp"
|
|
|
|
else
|
|
|
|
# calcul $file, affichage version pendant l'install, calcul $url
|
|
|
|
file="flashplayer_npapi_linux.$architecture.tar.gz"
|
|
|
|
if [ $verFlash == "na" ] || [ $verFlash == "" ]; then fflash_version; fi
|
|
|
|
f__info "installation FlashPlayer, version $verFlash"
|
|
|
|
verFlash_major="$(echo $verFlash | cut -d '.' -f 1-2)"
|
|
|
|
url2="https://get.adobe.com/fr/flashplayer/download/?installer=FP_""$verFlash_major""_for_Linux_""$architecture"
|
|
|
|
url2="$url2""-bit_(.tar.gz)_-_NPAPI&sType=6625&standalone=1"
|
|
|
|
|
|
|
|
# dossier temporaire de travail, création
|
|
|
|
dirTemp="/tmp/$script-$RANDOM/"
|
|
|
|
mkdir -p "$dirTemp"
|
|
|
|
|
|
|
|
# chargement archive plugin flashplayer
|
|
|
|
wget -cq --show-progress --no-check-certificate --user-agent="$user_agent" --referer="$urlOnline" \
|
|
|
|
--tries=1 -O "$dirTemp$file" "$url2"
|
|
|
|
if [ "$?" != "0" ]; then
|
|
|
|
f__testWget "$url2"
|
|
|
|
f__error "Erreur wget\n" \
|
|
|
|
" réessayer et si persistance, contacter $projet $contact\n en indiquant les erreurs précédentes."
|
|
|
|
fi
|
|
|
|
f__testArchive "$dirTemp$file" || f__error "\n Le fichier $dirTemp$file n'est pas une archive tar.gz valide"
|
2017-06-08 14:09:19 +02:00
|
|
|
fi
|
2017-06-06 20:04:42 +02:00
|
|
|
|
2017-06-08 14:09:19 +02:00
|
|
|
# décompression archive téléchargée dans dossier de travail
|
2017-07-13 17:08:36 +02:00
|
|
|
if [ -e "$file" ]; then tar -xaf "$file" -C "$dirTemp"; else tar -xaf "$dirTemp$file" -C "$dirTemp"; fi
|
|
|
|
if [ $1 == "manuel" ]; then verFlash="$(strings $dirTemp/libflashplayer.so | grep -Eo '[0-9]+_[0-9]+_[0-9]+_[0-9]+' | sed 's/_/./g')"; fi
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-06-21 20:15:27 +02:00
|
|
|
# copie de la bibliothèque flash dans plugins/ user mozilla, effacement dir temporaire
|
|
|
|
cp -f "$dirTemp"libflashplayer.so "/home/$user_/.mozilla/plugins/"
|
2017-06-10 00:21:43 +02:00
|
|
|
rm -Rf "$dirTemp"
|
2017-06-06 20:04:42 +02:00
|
|
|
|
2017-06-21 20:15:27 +02:00
|
|
|
# marqueur version et maj dans plugins/ user mozilla
|
2017-07-13 01:13:52 +02:00
|
|
|
echo "$verFlash" > /home/"$user_"/.mozilla/plugins/libflashplayer.version
|
2017-06-21 20:15:27 +02:00
|
|
|
touch /home/"$user_"/.mozilla/plugins/libflashplayer.maj
|
|
|
|
|
2017-07-13 17:08:36 +02:00
|
|
|
# droits user si jamais install par root
|
2017-06-21 20:15:27 +02:00
|
|
|
chown -R "$user_": /home/"$user_"/.mozilla/plugins
|
2017-06-10 10:39:57 +02:00
|
|
|
|
2017-07-13 11:32:01 +02:00
|
|
|
if [ $1 != "upgrade" ]; then
|
|
|
|
f__info "$GREEN""FlashPlayer $verFlash est installé pour $user_\n" \
|
|
|
|
"\t$BLUE""Pour tester: http://get.adobe.com/flashplayer/about/"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# test et mise à jour plugin si dispo
|
|
|
|
fflash_upgrade(){
|
|
|
|
if [ -e /home/"$user_"/.mozilla/plugins/libflashplayer.maj ]; then
|
|
|
|
touch /home/"$user_"/.mozilla/plugins/libflashplayer.maj
|
|
|
|
fi
|
|
|
|
if [ "$uptd_plug" == "ko" ]; then
|
|
|
|
fflash_install "upgrade"
|
|
|
|
f__syslogInfo "FlashPlayer mis à jour en $verFlash pour $user_"
|
|
|
|
else f__syslogInfo "FlashPlayer non mis à jour pour $user_"; fi
|
2017-06-08 14:09:19 +02:00
|
|
|
}
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-06-21 20:15:27 +02:00
|
|
|
# suppression du plugin
|
2017-07-13 11:32:01 +02:00
|
|
|
fflash_remove(){
|
2017-06-10 00:21:43 +02:00
|
|
|
# on efface le plugin et le répertoire si vide
|
2017-06-21 20:15:27 +02:00
|
|
|
rm -f "/home/$user_/.mozilla/plugins/"libflashplayer.*
|
|
|
|
rm -d "/home/$user_/.mozilla/plugins/" &>/dev/null
|
2017-07-13 11:32:01 +02:00
|
|
|
f__info "$GREEN""FlashPlayer $version désinstallé pour $user_\n"
|
2017-07-13 01:13:52 +02:00
|
|
|
}
|
2017-06-10 21:16:48 +02:00
|
|
|
|
2017-07-13 17:08:36 +02:00
|
|
|
# installation du plugin chargé manuellement, $1
|
|
|
|
fflash_manuelInstall(){
|
|
|
|
if [ ! -e "$1" ]; then f__error "fichier plugin $1 introuvable"; fi
|
|
|
|
f__testArchive "$1" || f__error "Le fichier $1 n'est pas une archive tar.gz valide"
|
|
|
|
f__info "installation manuelle $1"
|
|
|
|
fflash_install "manuel" $1
|
|
|
|
}
|
|
|
|
|
2017-06-21 20:15:27 +02:00
|
|
|
### début script =======================================================
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-06-21 20:15:27 +02:00
|
|
|
#initialisation
|
|
|
|
f__user
|
|
|
|
verFlash="na"
|
2017-06-06 02:43:07 +02:00
|
|
|
|
2017-07-13 17:08:36 +02:00
|
|
|
# installation du script si pas dans le système
|
2017-07-14 03:07:37 +02:00
|
|
|
dirname "$0" | grep 'bin' &>/dev/null || fscript_install
|
2017-06-21 20:15:27 +02:00
|
|
|
|
2017-07-13 01:13:52 +02:00
|
|
|
case "$1" in
|
2017-06-21 20:15:27 +02:00
|
|
|
"install" )
|
2017-07-13 17:08:36 +02:00
|
|
|
fflash_install ;; # installation plugin
|
2017-06-21 20:15:27 +02:00
|
|
|
"remove" )
|
2017-07-13 17:08:36 +02:00
|
|
|
fflash_remove ;; # désinstallation plugin
|
2017-06-21 20:15:27 +02:00
|
|
|
"version" )
|
2017-07-13 17:08:36 +02:00
|
|
|
fflash_version
|
2017-07-13 11:32:01 +02:00
|
|
|
fscript_version ;; # version plugin en ligne & installée
|
2017-06-21 20:15:27 +02:00
|
|
|
"sysremove" )
|
2017-07-13 11:32:01 +02:00
|
|
|
fscript_remove ;; # désinstallation du script
|
2017-06-21 20:15:27 +02:00
|
|
|
"upgrade" )
|
2017-07-13 11:32:01 +02:00
|
|
|
fscript_version
|
|
|
|
fscript_dl
|
2017-07-13 17:08:36 +02:00
|
|
|
fflash_version
|
|
|
|
fflash_upgrade ;; # upgrade plugin et script si MAJs possibles
|
|
|
|
"manuel" )
|
|
|
|
fflash_manuelInstall "$2" ;; # install manuelle d'un chargement
|
2017-06-21 20:15:27 +02:00
|
|
|
* )
|
2017-07-13 17:08:36 +02:00
|
|
|
fflash_help; fflash_avert ;; # affichage help par défaut
|
2017-06-21 20:15:27 +02:00
|
|
|
esac
|
2017-06-10 21:16:48 +02:00
|
|
|
|
2017-06-06 02:43:07 +02:00
|
|
|
exit 0
|