kyopages/scripts/getFlashPlayer

370 lines
15 KiB
Plaintext
Raw Normal View History

2017-06-06 02:43:07 +02:00
#!/bin/bash
2017-07-23 00:41:57 +02:00
version=2.6.4
2017-07-19 16:58:08 +02:00
date="19/07/2017"
2017-06-10 00:21:43 +02:00
projet="Kyodev"
2017-07-19 16:58:08 +02:00
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues"
2017-06-10 00:21:43 +02:00
script="getFlashPlayer"
2017-07-13 01:13:52 +02:00
urlScript="https://framagit.org/kyodev/kyopages/raw/master/scripts/getFlashPlayer"
2017-07-18 21:45:59 +02:00
urlNotice="https://kyodev.frama.io/kyopages/scripts/getFlashPlayer/"
2017-07-14 18:40:49 +02:00
user_agent="Mozilla/5.0 (X11; Linux $(uname -m); rv:54.0) Gecko/20100101 Firefox/54.0"
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-07-16 19:09:17 +02:00
# contibuteur: coyotus, naguam
2017-06-08 14:09:19 +02:00
# idée: naguam
2017-06-06 02:43:07 +02:00
#####
2017-07-14 18:40:49 +02:00
PATH='/bin:/usr/bin' ; IFS=' '
2017-06-06 20:04:42 +02:00
#### définition couleurs -----------------------------------------------
2017-07-17 13:38:04 +02:00
YELLOW=`printf "\033[0;33m"` # divers
2017-06-06 20:04:42 +02:00
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
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
/ _' |/ _ \ __| |_ | |/ _' / __| '_ \| |_) | |/ _' | | | |/ _ \ '__|
| (_| | __/ |_| _| | | (_| \__ \ | | | __/| | (_| | |_| | __/ |
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
EOF
2017-07-23 00:41:57 +02:00
echo -e "$YELLOW pour Firefox sur Debian, version $version - $date$COLOR\n"
2017-06-06 02:43:07 +02:00
2017-07-19 16:58:08 +02:00
# user ayant initié la session graphique, assigne $user_
2017-07-12 06:24:41 +02:00
# 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
2017-07-17 03:14:54 +02:00
ls "/home/$user_" &>/dev/null || f__error "répertoire /home/$user_ INEXISTANT"
2017-07-12 06:24:41 +02:00
else
2017-07-17 13:38:04 +02:00
f__error "user indéterminé" " lancer le script avec:\n\tUSER_INSTALL=user $0"
2017-07-12 06:24:41 +02:00
fi
2017-06-21 20:15:27 +02:00
}
2017-07-16 19:09:17 +02:00
# test cnx réseau et résolution, return 0 si ok else 1
2017-06-21 20:15:27 +02:00
f__cnxTest(){
2017-07-17 13:38:04 +02:00
wget -q --tries=1 --timeout=15 --user-agent="$user_agent" -O /dev/null "free.fr" || return 1
2017-06-21 20:15:27 +02:00
}
2017-07-17 13:38:04 +02:00
# sortie sur erreur, log $1 si upgrade
2017-07-17 03:14:54 +02:00
f__error() { #affichage $1 en rouge, $1++ optionnels en bleu, sortie du script, log $1 si upgrade
2017-06-06 20:04:42 +02:00
echo -e "\n$RED Erreur critique: $1 $COLOR"
2017-07-17 13:38:04 +02:00
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
2017-06-06 20:04:42 +02:00
echo "$COLOR"
2017-07-17 03:14:54 +02:00
if [ "$opType" == "upgrade" ]; then logger --id -p user.err "$script $version: <erreur> $1"; fi
2017-06-06 20:04:42 +02:00
exit 1
2017-06-06 02:43:07 +02:00
}
2017-07-17 03:14:54 +02:00
# affichage information, log $1 si upgrade
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-07-17 13:38:04 +02:00
for (( i=1 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
echo "$COLOR"
2017-07-17 03:14:54 +02:00
if [ "$opType" == "upgrade" ]; then logger --id -p user.info "$1"; fi
2017-06-21 20:15:27 +02:00
}
2017-07-17 13:38:04 +02:00
#test dépendances (commandes disponibles), $1 liste commandes
f__requis(){
for i in "$@"; do
if [ ! "$(which $i)" ]; then
testDepends="ko"
f__info "$RED vous devez avoir la commande $i pour exploiter ce script"
fi
done
2017-07-17 20:11:48 +02:00
[ -z "$testDepends" ] || f__error "Paquets manquants" " Contacter administrateur pour disposer de ces commandes"
2017-07-17 13:38:04 +02:00
}
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-07-16 19:09:17 +02:00
if [ $EUID == 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-17 13:38:04 +02:00
# test wget, $1 url à tester, retourne url testée & entêtes
2017-07-13 11:32:01 +02:00
f__testWget(){
echo " $1"
2017-07-17 13:38:04 +02:00
wget -Sq --tries=1 --timeout=15 --user-agent="$user_agent" -O /dev/null "$1"
f__error "Erreur wget" " réessayer et si persistance, contacter $projet $contact" " en indiquant les messages précédents."
2017-07-13 11:32:01 +02:00
}
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(){
2017-07-17 03:14:54 +02:00
file -b "$1" | grep 'gzip compressed data' &>/dev/null && archive_detect="gzip" || return 1
2017-07-13 17:08:36 +02:00
}
2017-07-13 11:32:01 +02:00
# install du script dans le système
fscript_install(){
2017-07-16 19:09:17 +02:00
# si script inexistant ou inaccessible en écriture, ou si cronAnacron non installé: root requis
2017-07-18 16:47:33 +02:00
if [ ! -w "/opt/bin/$script" ] || [ ! -e "/home/$user_/.mozilla/plugins/libflashplayer.anacrontab" ]; then
2017-07-16 19:09:17 +02:00
f__root || f__error "vous devez être ROOT pour installer ce script dans le système"
if [ "$(which dpkg)" ]; then
# on vire 'flashplugin-nonfree' si installé et dpkg possible (debian)
dpkg --get-selections | grep '^flashplugin-nonfree[[:space:]]' &>/dev/null && apt-get purge flashplugin-nonfree
fi
2017-07-18 16:47:33 +02:00
# install /opt
2017-07-14 03:07:37 +02:00
mkdir -p /opt/bin/
2017-07-18 16:47:33 +02:00
ln -s /opt/bin/"$script" /usr/local/bin/"$script" &>/dev/null
cp -d "$(basename $0)" "/opt/bin/$script"
2017-07-18 01:25:29 +02:00
chmod a+rwx "/opt/bin/$script"
chown "$user_": "/opt/bin/$script"
2017-07-14 03:07:37 +02:00
# cron/anacron install
fscript_cronAnacron install
2017-07-18 16:47:33 +02:00
else # maj en user (upgrade manuel ou auto)
2017-07-18 01:25:29 +02:00
chmod a+rwx "$(basename $0)"
chown "$user_": "$(basename $0)"
2017-07-18 16:47:33 +02:00
cp -d "$(basename $0)" "/opt/bin/$script"
2017-07-14 03:07:37 +02:00
fi
2017-07-14 18:40:49 +02:00
[ -f "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev)
2017-07-17 13:38:04 +02:00
f__info "$GREEN$script installé dans le système." "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(){
2017-07-16 19:09:17 +02:00
f__root || f__error "vous devez être ROOT pour supprimer ce script dans le système"
2017-07-13 11:32:01 +02:00
# suppression de /opt
rm /opt/bin/"$script" &>/dev/null
unlink /usr/local/bin/"$script" &>/dev/null
2017-07-18 16:47:33 +02:00
# cron/anacron remove
2017-07-13 11:32:01 +02:00
fscript_cronAnacron remove
2017-07-17 13:38:04 +02:00
f__info "$GREEN$script supprimé du système."
2017-07-13 11:32:01 +02:00
}
# version script en ligne, assigne $versionScript, $uptd_script=""|ko,
fscript_version(){
2017-07-17 13:38:04 +02:00
versionScript="$(wget -q --tries=2 --timeout=15 --user-agent="$user_agent" -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
2017-07-13 11:32:01 +02:00
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-17 23:41:52 +02:00
wget -q --show-progress --tries=1 --timeout=15 --user-agent="$user_agent" -O "$dirTemp$script" "$urlScript"
2017-07-13 11:32:01 +02:00
if [ "$?" != "0" ]; then f__testWget "$urlScript"; fi
2017-07-18 01:25:29 +02:00
chmod a+rwx "$dirTemp$script"
chown "$user_": "$dirTemp$script"
2017-07-14 03:07:37 +02:00
cp -d "$dirTemp$script" /opt/bin/"$script"
2017-07-18 16:47:33 +02:00
rm -rf "$dirTemp"
2017-07-17 13:38:04 +02:00
echo ""; f__info "$script mis à jour en version $versionScript"
2017-07-18 16:47:33 +02:00
$0 upgrade #script mis à jour, on relance le script en upgrade (pour le plugin)
2017-07-18 01:25:29 +02:00
exit 0
2017-07-13 11:32:01 +02:00
}
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
2017-07-16 19:09:17 +02:00
echo "7 15 getFP nice /opt/bin/$script upgrade &>/dev/null" > "/home/$user_/.mozilla/plugins/libflashplayer.anacrontab"
## test: anacron journalier: echo "1 05 getFPtest nice /opt/bin/$script upgrade &>/dev/null" >> "/home/$user_/.mozilla/plugins/libflashplayer.anacrontab"
chown "$user_": "/home/$user_/.mozilla/plugins/libflashplayer.anacrontab"
2017-07-13 11:32:01 +02:00
# création spool anacron utilisateur
2017-07-16 19:09:17 +02:00
mkdir -p "/home/$user_/.config/anacron/spool"
chown "$user_": "/home/$user_/.config/anacron/spool"
2017-07-18 16:47:33 +02:00
# cron tab pour activation horaire anacron
2017-07-16 19:09:17 +02:00
echo "@hourly $user_ /usr/sbin/anacron -t /home/$user_/.mozilla/plugins/libflashplayer.anacrontab -S /home/$user_/.config/anacron/spool" >> /etc/crontab
2017-07-13 11:32:01 +02:00
;;
"remove" )
2017-07-18 16:47:33 +02:00
[ -e "/home/$user_/.config/anacron/spool/getFP" ] && rm "/home/$user_/.config/anacron/spool/getFP"
sed -i "/^\@hourly.*libflashplayer.anacrontab.*$/d" /etc/crontab
rm "/home/$user_/.mozilla/plugins/libflashplayer.anacrontab"
2017-07-16 19:09:17 +02:00
;;
2017-07-13 11:32:01 +02:00
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-07-17 19:18:36 +02:00
urlOnline="https://get.adobe.com/fr/flashplayer/"
2017-07-17 03:14:54 +02:00
if ! f__cnxTest; then f__error "pas de connexion internet"; fi
2017-07-17 13:38:04 +02:00
verFlash="$(wget -q --tries=2 --timeout=15 --user-agent="$user_agent" -O - "$urlOnline" | \
sed -nr 's/^.*AUTO_ID.*Version[[:blank:]]+([0-9].*[0-9]).*$/\1/p')" || verFlash="na"
2017-07-13 11:32:01 +02:00
if [ "$?" != "0" ]; then f__testWget "$urlOnline"; fi
2017-07-17 13:38:04 +02:00
verInstall="$(cat /home/"$user_"/.mozilla/plugins/libflashplayer.version 2>/dev/null)"
2017-07-13 01:13:52 +02:00
uptd_plug=""
2017-07-17 03:14:54 +02:00
if [ $verFlash == "na" ]; then f__error "version FlashPlayer non accessible";
2017-06-21 20:15:27 +02:00
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
if [ "$verInstall" == "$verFlash" ]; then f__info "FlashPlayer à jour";
else
2017-07-17 13:38:04 +02:00
f__info "version FlashPlayer installée: $verInstall, mise à jour possible"
2017-07-13 11:32:01 +02:00
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
2017-07-17 13:38:04 +02:00
sans que l'éditeur fasse beaucoup d'efforts pour corriger cela...
2017-07-18 21:45:59 +02:00
Il sera bloqué plus ou moins bloqué à terme pas les navigateurs majeurs,
2017-07-17 13:38:04 +02:00
c'est à dire Firefox et Chrom(ium). Préparez vous à cela...
2017-06-06 02:43:07 +02:00
EOF
2017-07-23 00:41:57 +02:00
echo -e "voir:$GREEN https://developer.mozilla.org/fr/docs/Plugins/Roadmap$COLOR\n"
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-07-23 00:41:57 +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-23 00:41:57 +02:00
getFlashPlayer manuel fichier.tar.gz : installation d'une archive manuellement
2017-07-13 17:08:36 +02:00
----
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-07-23 00:41:57 +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-17 13:38:04 +02:00
l'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
-----------------------------------------------------------------------
2017-06-06 20:04:42 +02:00
EOF
2017-07-23 00:41:57 +02:00
echo -e "plus d'infos:$GREEN https://kyodev.frama.io/kyopages/scripts/getFlashPlayer/$COLOR\n"
2017-06-08 14:09:19 +02:00
}
2017-06-06 02:43:07 +02:00
2017-07-17 13:38:04 +02:00
# calcul url téléchargement plugin, assigne $recup_url,
2017-07-19 16:58:08 +02:00
fflash_recup_url_v1(){
2017-07-16 19:09:17 +02:00
recup1="https://fpdownload.adobe.com/get/flashplayer/pdc/"
if [ "$(uname -m)" == "i686" ] || [ "$(uname -m)" == "i386" ]; then recup2='i386';
elif [ "$(uname -m)" == "x86_64" ] || [ "$(uname -m)" == "amd64" ]; then recup2='x86_64';
else f__error "architecture non reconnue" ; fi
recup_url="$recup1$verFlash/flash_player_npapi_linux.$recup2.tar.gz"
2017-07-17 13:38:04 +02:00
}
2017-07-14 18:40:49 +02:00
2017-07-20 04:54:46 +02:00
# installation du plugin chargé manuellement, $1
fflash_install_manuel(){
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-07-17 03:14:54 +02:00
# install plugin dans config user mozilla, $1 manuel (install manuelle), # $2 script à installer si install manuelle
2017-07-13 11:32:01 +02:00
fflash_install(){
2017-07-17 03:14:54 +02:00
if [ "$opType" != "upgrade" ]; then fflash_avert; fi
if [ "$1" == "manuel" ]; then
2017-07-13 17:08:36 +02:00
file="$(basename $2)"
dirTemp="$(dirname $2)/$script-$RANDOM/"
mkdir -p "$dirTemp"
else
2017-07-16 19:09:17 +02:00
file="flash_player_npapi_linux.$(getconf LONG_BIT).tar.gz"
2017-07-14 18:40:49 +02:00
# calcul $file, affichage version pendant l'install
2017-07-17 13:38:04 +02:00
if [ $verFlash == "na" ]; then fflash_version; fi
2017-07-13 17:08:36 +02:00
f__info "installation FlashPlayer, version $verFlash"
# dossier temporaire de travail, création
dirTemp="/tmp/$script-$RANDOM/"
mkdir -p "$dirTemp"
2017-07-17 13:38:04 +02:00
# détection/chargement/test archive plugin flashplayer
2017-07-19 16:58:08 +02:00
fflash_recup_url_v1
2017-07-17 13:38:04 +02:00
wget -q -c --show-progress --tries=1 --timeout=15 --user-agent="$user_agent" --referer="$urlOnline" -O "$dirTemp$file" "$recup_url"
if [ "$?" != "0" ]; then f__testWget "$recup_url"; fi
2017-07-17 03:14:54 +02:00
f__testArchive "$dirTemp$file" || f__error " 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
2017-07-17 03:14:54 +02:00
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
2017-07-16 19:09:17 +02:00
mkdir -p "/home/$user_/.mozilla/plugins/"
2017-06-21 20:15:27 +02:00
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-17 03:14:54 +02:00
echo "$verFlash" > "/home/$user_/.mozilla/plugins/libflashplayer.version"
touch "/home/$user_/.mozilla/plugins/libflashplayer.maj"
2017-06-21 20:15:27 +02:00
2017-07-17 03:14:54 +02:00
# droits user si jamais installation par root
chown -R "$user_": "/home/$user_/.mozilla/plugins"
2017-06-10 10:39:57 +02:00
2017-07-17 13:38:04 +02:00
echo ""; f__info "FlashPlayer $verFlash installé ou mis à jour pour $user_" "\tPour tester: http://get.adobe.com/flashplayer/about/"
2017-07-13 11:32:01 +02:00
}
2017-07-17 03:14:54 +02:00
# test et mise à jour plugin si plugin outdated
2017-07-13 11:32:01 +02:00
fflash_upgrade(){
2017-07-17 03:14:54 +02:00
if [ "$uptd_plug" == "ko" ]; then fflash_install; 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-07-16 19:09:17 +02:00
# on efface le plugin, mais la tache anacron le sera par script remove
[ -e /home/kyodev/.mozilla/plugins/libflashplayer.so ] || f__error "FlashPlayer déjà désinstallé pour $user_\n"
verFlashRemove="$(strings /home/$user_/.mozilla/plugins/libflashplayer.so | grep -Eo '[0-9]+_[0-9]+_[0-9]+_[0-9]+' | sed 's/_/./g')"
rm -f "/home/$user_/.mozilla/plugins/libflashplayer.maj"
rm -f "/home/$user_/.mozilla/plugins/libflashplayer.so"
rm -f "/home/$user_/.mozilla/plugins/libflashplayer.version"
2017-07-17 13:38:04 +02:00
f__info "$GREEN FlashPlayer $verFlashRemove désinstallé pour $user_"
2017-07-13 01:13:52 +02:00
}
2017-06-10 21:16:48 +02:00
2017-06-06 02:43:07 +02:00
2017-06-21 20:15:27 +02:00
#initialisation
f__user
verFlash="na"
2017-07-18 21:45:59 +02:00
f__requis "wget" "logger" "file" "tar"
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-07-19 16:58:08 +02:00
# détection droits inappropriés sur le script
2017-07-18 21:45:59 +02:00
[ "$1" != "sysremove" ] && [ -e "/opt/bin/$script" ] && ls -l "/opt/bin/$script" | grep 'root' &>/dev/null && f__error "bug sécu 01" \
"veuillez désinstaller le script et le réinstaller" "voir: $urlNotice#supprimer-le-script"
2017-07-13 01:13:52 +02:00
case "$1" in
2017-06-21 20:15:27 +02:00
"install" )
2017-07-17 13:38:04 +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-16 19:09:17 +02:00
opType="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" )
2017-07-20 04:54:46 +02:00
fflash_install_manuel "$2" ;; # install manuelle d'un chargement
2017-06-21 20:15:27 +02:00
* )
2017-07-17 13:38:04 +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