kyopages/scripts/getFlashPlayer

381 lines
15 KiB
Plaintext
Raw Normal View History

2017-06-06 02:43:07 +02:00
#!/bin/bash
2017-07-30 16:47:56 +02:00
version=2.8.1
2017-07-30 16:32:22 +02:00
date="30/07/2017"
2017-07-25 00:27:27 +02:00
projet="simpledebian"
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-07-25 00:27:27 +02:00
# auteur: simpledebian
# contributeurs: kyodev, coyotus, naguam
2017-06-06 02:43:07 +02:00
#####
2017-07-14 18:40:49 +02:00
PATH='/bin:/usr/bin' ; IFS=' '
2017-07-27 23:26:40 +02:00
f__affichage(){
# définition couleurs
YELLOW="$(printf "\033[0;33m")" # ?
GREEN="$(printf "\033[0;32m")" # ok
BLUE="$(printf "\033[0;34m")" # info
RED="$(printf "\033[0;31m")" # alerte
COLOR="$(printf "\033[0m")" # standard
2017-06-06 02:43:07 +02:00
2017-07-27 23:26:40 +02:00
clear
printf "$BLUE"
2017-06-06 20:04:42 +02:00
cat << 'EOF'
2017-06-06 02:43:07 +02:00
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
/ _' |/ _ \ __| |_ | |/ _' / __| '_ \| |_) | |/ _' | | | |/ _ \ '__|
| (_| | __/ |_| _| | | (_| \__ \ | | | __/| | (_| | |_| | __/ |
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
EOF
2017-07-25 00:27:27 +02:00
echo -e "$YELLOW pour Firefox, version $version - $date$COLOR\n"
2017-07-27 23:26:40 +02:00
}
2017-06-06 02:43:07 +02:00
2017-07-26 13:15:00 +02:00
# user ayant initié la session graphique, assigne $user_, 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-27 23:26:40 +02:00
f__error "utilisateur 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-28 20:18:25 +02:00
# log spécifique, fichier log limité à 10000octets, $1 message à loguer
f__log(){
2017-07-30 16:32:22 +02:00
if [ -w "$fileLogs" ]; then
if [ "$(stat -c %s $fileLogs)" -ge "10000" ]; then
echo "$(date +%Y%m%d\ %H%M%S) $1" &>/dev/null > "$fileLogs"
2017-07-28 20:18:25 +02:00
else
2017-07-30 16:32:22 +02:00
echo "$(date +%Y%m%d\ %H%M%S) $1" &>/dev/null >> "$fileLogs"
2017-07-28 20:18:25 +02:00
fi
fi
}
2017-07-25 00:27:27 +02:00
# affichage $1 en rouge, $1++ optionnels en bleu, sortie script sur erreur, log $1 si upgrade($opType)
f__error() {
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-28 20:18:25 +02:00
if [ "$opType" == "upgrade" ]; then f__log "$script $version: $1"; fi
2017-06-06 20:04:42 +02:00
exit 1
2017-06-06 02:43:07 +02:00
}
2017-07-28 20:18:25 +02:00
# affichage des paramètres en bleu, ligne vide à la fin
2017-07-25 00:27:27 +02:00
f__info() {
2017-07-17 13:38:04 +02:00
for (( i=1 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
echo "$COLOR"
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(){
2017-07-25 00:27:27 +02:00
for i in $@; do
2017-07-17 13:38:04 +02:00
if [ ! "$(which $i)" ]; then
2017-07-30 16:32:22 +02:00
local testDepends="ko"
2017-07-17 13:38:04 +02:00
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-26 13:15:00 +02:00
# test wget, $1 url à tester, sortie script sur erreur
2017-07-25 00:27:27 +02:00
f__wget_test(){
2017-07-13 11:32:01 +02:00
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
2017-07-25 00:27:27 +02:00
f__archive_test(){
2017-07-27 23:26:40 +02:00
file -b "$1" | grep -q 'gzip compressed data' || 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-27 23:26:40 +02:00
f__root || f__error "vous devez être ROOT pour installer ce script dans le système"
# si debian on vire 'flashplugin-nonfree' si installé
if [ "$(which dpkg)" ]; then
dpkg --get-selections | grep '[[:space:]]install' | grep -q '^flashplugin-nonfree[[:space:]]' \
&& apt-get purge flashplugin-nonfree
2017-07-14 03:07:37 +02:00
fi
2017-07-27 23:26:40 +02:00
# install /opt
mkdir -p /opt/bin/
ln -s "/opt/bin/$script" "/usr/bin/$script" &>/dev/null
cp -d "$(basename $0)" "/opt/bin/$script"
chmod a+rwx "/opt/bin/$script"
chown "$user_": "/opt/bin/$script"
# cron/anacron install
fscript_cronAnacron install
2017-07-28 20:18:25 +02:00
# création fichier log
2017-07-30 16:32:22 +02:00
touch "$fileLogs"
chmod a+rwx "$fileLogs"
chown "$user_": "$fileLogs"
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-28 20:18:25 +02:00
f__log "$script $version installé dans le système"
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
2017-07-28 20:18:25 +02:00
unlink /usr/bin/"$script" &>/dev/null
unlink /usr/local/bin/"$script" &>/dev/null # ancienne localisation
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-28 20:18:25 +02:00
f__log "$script $version supprimé du système"
2017-07-13 11:32:01 +02:00
}
2017-07-25 00:27:27 +02:00
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko,
2017-07-26 13:15:00 +02:00
fscript_get_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"
2017-07-25 00:27:27 +02:00
script_aJour="ko"
else script_aJour="ok"; fi
2017-07-13 11:32:01 +02:00
}
# mise à jour script si dispo
fscript_dl(){
2017-07-25 00:27:27 +02:00
if [ "$script_aJour" == "ok" ]; then return 0; fi
2017-07-26 13:15:00 +02:00
local dirTemp="/tmp/$script-$RANDOM/"
2017-07-13 11:32:01 +02:00
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-25 00:27:27 +02:00
if [ "$?" != "0" ]; then f__wget_test "$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-28 20:18:25 +02:00
f__info "\n $script mis à jour en version $versionScript"
f__log "$script mis à jour en version $versionScript"
2017-07-26 13:15:00 +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-25 00:27:27 +02:00
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire
2017-07-13 11:32:01 +02:00
fscript_cronAnacron(){
case "$1" in
2017-07-30 16:32:22 +02:00
install )
if [ ! -e "$fileAnacron" ]; then
# création répertoire plugin/
mkdir -p "$dirInstall"
chown "$user_": "$dirInstall"
# table anacron
echo "7 15 getFP nice /opt/bin/$script upgrade &>/dev/null" > "$fileAnacron"
## test: anacron journalier: echo "1 05 getFPtest nice /opt/bin/$script upgrade &>/dev/null" >> "$fileAnacron"
chown "$user_": "$fileAnacron"
# création spool anacron utilisateur
mkdir -p "/home/$user_/.config/anacron/spool"
chown "$user_": "/home/$user_/.config/anacron/spool"
# cron tab pour activation horaire anacron
echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S /home/$user_/.config/anacron/spool" >> /etc/crontab
fi
2017-07-13 11:32:01 +02:00
;;
2017-07-30 16:32:22 +02:00
remove )
rm "/home/$user_/.config/anacron/spool/getFP"* &>/dev/null
sed -i "/^\@hourly.*libflashplayer.anacrontab.*$/d" /etc/crontab
rm "$fileAnacron"
2017-07-16 19:09:17 +02:00
;;
2017-07-13 11:32:01 +02:00
esac
}
2017-07-28 20:18:25 +02:00
# version Flash en ligne & installée, si $1="quiet" pas d'affichage, $verFlash=x.y|na, $plugin_aJour=ok|ko
2017-07-26 13:15:00 +02:00
fflash_get_version(){
2017-07-30 16:32:22 +02:00
local verInstall="$(strings $dirInstall/libflashplayer.so | grep -Eo '[0-9]+_[0-9]+_[0-9]+_[0-9]+' | sed 's/_/./g')"
2017-07-26 13:15:00 +02:00
plugin_aJour="ok"
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-26 13:15:00 +02:00
if [ "$?" != "0" ]; then f__wget_test "$urlOnline"; fi # sortie script si erreur wget
2017-07-17 03:14:54 +02:00
if [ $verFlash == "na" ]; then f__error "version FlashPlayer non accessible";
2017-07-28 20:18:25 +02:00
else [ "$1" == "quiet" ] || f__info "version FlashPlayer en ligne: $verFlash"; fi
2017-07-26 13:15:00 +02:00
if [ -z "$verInstall" ]; then
f__info "FlashPlayer non installé"
elif [ "$verInstall" == "$verFlash" ]; then
2017-07-28 20:18:25 +02:00
[ "$1" == "quiet" ] || f__info "FlashPlayer à jour"
2017-07-13 11:32:01 +02:00
else
2017-07-25 00:27:27 +02:00
plugin_aJour="ko"
2017-07-28 20:18:25 +02:00
[ "$1" == "quiet" ] || f__info "version FlashPlayer installée: $verInstall, mise à jour possible"
2017-07-13 11:32:01 +02:00
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-25 00:27:27 +02:00
fflash_avertissement(){
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-28 20:18:25 +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-26 13:15:00 +02:00
local recup1="https://fpdownload.adobe.com/get/flashplayer/pdc/"
if [ "$(uname -m)" == "i686" ] || [ "$(uname -m)" == "i386" ]; then local recup2='i386';
elif [ "$(uname -m)" == "x86_64" ] || [ "$(uname -m)" == "amd64" ]; then local recup2='x86_64';
2017-07-16 19:09:17 +02:00
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
2017-07-25 00:27:27 +02:00
f__archive_test "$1" || f__error "Le fichier $1 n'est pas une archive tar.gz valide"
2017-07-20 04:54:46 +02:00
f__info "installation manuelle $1"
fflash_install "manuel" "$1"
}
2017-07-26 13:15:00 +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-26 13:15:00 +02:00
[ "$opType" == "upgrade" ] || fflash_avertissement
2017-07-17 03:14:54 +02:00
if [ "$1" == "manuel" ]; then
2017-07-26 13:15:00 +02:00
local dirTemp="$(dirname $2)/$script-$RANDOM/"
local file="$(basename $2)"
2017-07-13 17:08:36 +02:00
mkdir -p "$dirTemp"
else
2017-07-26 13:15:00 +02:00
local file="flash_player_npapi_linux.$(getconf LONG_BIT).tar.gz"
local dirTemp="/tmp/$script-$RANDOM/"
2017-07-28 20:18:25 +02:00
if [ $verFlash == "na" ]; then fflash_get_version "quiet"; fi
f__info "installation FlashPlayer, version $verFlash"
2017-07-13 17:08:36 +02:00
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"
2017-07-25 00:27:27 +02:00
if [ "$?" != "0" ]; then f__wget_test "$recup_url"; fi
f__archive_test "$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
# 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-07-25 00:27:27 +02:00
# copie de la bibliothèque flash dans plugins/ user mozilla, effacement répertoire temporaire
mkdir -p "$dirInstall"
cp -f "$dirTemp"libflashplayer.so "$dirInstall/"
2017-06-10 00:21:43 +02:00
rm -Rf "$dirTemp"
2017-07-17 03:14:54 +02:00
# droits user si jamais installation par root
2017-07-25 00:27:27 +02:00
chown -R "$user_": "$dirInstall"
2017-06-10 10:39:57 +02:00
2017-07-28 20:18:25 +02:00
f__info "\n FlashPlayer $verFlash installé pour $user_" "\tPour tester: http://get.adobe.com/flashplayer/about/"
f__log "FlashPlayer $verFlash installé pour $user_"
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-25 00:27:27 +02:00
if [ "$plugin_aJour" == "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-26 13:15:00 +02:00
[ -e /home/kyodev/.mozilla/plugins/libflashplayer.so ] || f__error "FlashPlayer inexistant pour $user_\n"
2017-07-30 16:32:22 +02:00
local verInstall="$(strings $dirInstall/libflashplayer.so | grep -Eo '[0-9]+_[0-9]+_[0-9]+_[0-9]+' | sed 's/_/./g')"
rm "$dirInstall/libflashplayer.so"
rm "$dirInstall/libflashplayer.maj" &>/dev/null # ancien fichier éventuel
rm "$dirInstall/libflashplayer.version" &>/dev/null # ancien fichier éventuel
f__info "$GREEN FlashPlayer $verInstall désinstallé pour $user_"
f__log "FlashPlayer $verInstall désinstallé pour $user_"
2017-07-13 01:13:52 +02:00
}
2017-06-10 21:16:48 +02:00
2017-06-21 20:15:27 +02:00
#initialisation
2017-07-27 23:26:40 +02:00
f__affichage
2017-06-21 20:15:27 +02:00
f__user
verFlash="na"
2017-07-28 20:18:25 +02:00
f__requis "wget file tar"
2017-07-30 16:32:22 +02:00
fileLogs="/var/log/sdeb_getFlash.log"
2017-07-25 00:27:27 +02:00
dirInstall="/home/$user_/.mozilla/plugins"
2017-07-30 16:32:22 +02:00
fileAnacron="$dirInstall/libflashplayer.anacrontab"
2017-07-26 13:15:00 +02:00
urlOnline="https://get.adobe.com/fr/flashplayer/" # test version & referer
2017-07-25 00:27:27 +02:00
[ -e "$dirInstall/libflashplayer.so" ] && flash_installed="ok" || flash_installed="ko"
2017-06-06 02:43:07 +02:00
2017-07-25 00:27:27 +02:00
# installation du script si appel pas fait depuis le système
2017-07-27 23:26:40 +02:00
dirname "$0" | grep -q 'bin' || fscript_install
# détection droits inappropriés sur le script, cas de figure sur version de dev
[ "$1" != "sysremove" ] && [ -e "/opt/bin/$script" ] && ls -l "/opt/bin/$script" | grep -q 'root' && f__error "bug sécu 01" \
2017-07-18 21:45:59 +02:00
"veuillez désinstaller le script et le réinstaller" "voir: $urlNotice#supprimer-le-script"
2017-07-30 16:32:22 +02:00
# détection ancien système de logs via syslog
[ -w "$fileLogs" ] || f__info "pour bénéficier de la nouvelle version des logs, vous devriez réinstaller manuellement $script" \
2017-07-30 16:47:56 +02:00
"voir https://kyodev.frama.io/kyopages/scripts/getFlashPlayer/#installation-rapide-du-script"
2017-07-18 21:45:59 +02:00
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-26 13:15:00 +02:00
fflash_get_version
fscript_get_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-28 20:18:25 +02:00
f__log="tests mise à jour"
2017-07-26 13:15:00 +02:00
fscript_get_version
2017-07-13 11:32:01 +02:00
fscript_dl
2017-07-25 00:27:27 +02:00
[ "$flash_installed" == "ko" ] && exit 0
2017-07-26 13:15:00 +02:00
fflash_get_version
2017-07-25 00:27:27 +02:00
fflash_upgrade ;; # upgrade script et plugin si installé
2017-07-13 17:08:36 +02:00
"manuel" )
2017-07-28 20:18:25 +02:00
fflash_install_manuel "$2" ;; # installation manuelle d'un chargement
2017-06-21 20:15:27 +02:00
* )
2017-07-17 13:38:04 +02:00
fflash_help
2017-07-25 00:27:27 +02:00
fflash_avertissement ;; # 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