This commit is contained in:
root 2017-07-16 19:09:17 +02:00 committed by kyodev
parent 31fd6bab2e
commit baa2daddb3
3 changed files with 121 additions and 105 deletions

View File

@ -2,13 +2,11 @@
**version 2.1.x**
**adobe a changé ses liens de chargement et augmenté sa protection anti-chargement direct**
**si vous installez ce script, flashplayer ne sera pas installé ni mis à jour automatiquement**
**depuis la version 2.x, ce script se met à jour automatiquement, si possible, tous les 7 jours**
**si un contournement est trouvé le fonctionnement redeviendra normal**
**voir: [mise a](#mise-à-jour-du-script]
**la version 2.1 permet l'installation manuelle d'un plugin téléchargé manuellement**
**[installation manuelle](#installation-manuelle)**
**voir: [dernière maj manuelle du script](#installation-manuelle)**
## installation raccourci:
@ -44,7 +42,7 @@ le script est dans le système, prêt à gérer l'installation du plugin Flash e
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.1.0 - 13/07/2017
pour Firefox sur Debian, version 2.3.0 - 16/07/2017
getFlashPlayer est installé dans le système.
maintenant, appel du script par: getFlashPlayer (sans ./)
@ -136,7 +134,7 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.0.1 - 12/07/2017
pour Firefox sur Debian, version 2.3.0 - 16/07/2017
FlashPlayer n'est pas libre, c'est un programme propriétaire dont on
ne peut pas connaître le code source, ni l'utiliser sans conditions,
@ -147,24 +145,25 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
Il sera donc bloqué à plus ou moins court terme pas les navigateurs
majeurs, c'est à dire Firefox et Chrom(ium). Préparez vous à cela...
version FlashPlayer en ligne: 26.0.0.131
version FlashPlayer en ligne: 26.0.0.137
installation FlashPlayer, version 26.0.0.131
FlashPlayer non installé
/tmp/getFlashPlayer-13385/fla 100%[================================================>] 8,10M 4,04MB/s in 2,0s
2017-06-18 15:34:01 (4,04 MB/s) — « /tmp/getFlashPlayer-13385/flashplayer_npapi_linux.i386.tar.gz » sauvegardé [8490534/8490534]
installation FlashPlayer, version 26.0.0.137
FlashPlayer 26.0.0.131 est installé pour kyodev
Pour tester: http://get.adobe.com/flashplayer/about/
/tmp/getFlashPlayer-28254/flash_p 100%[=================================>] 8,10M 5,12MB/s in 1,6s
FlashPlayer 26.0.0.137 installé pour kyodev
Pour tester: http://get.adobe.com/flashplayer/about/
```
## installation manuelle
* [charger manuellement](https://get.adobe.com/fr/flashplayer/) Flashplayer en choisissant une
archive linux tar.gz
archive linux tar.gz ou installer une archive tar.gz disponible hors-ligne
* lancer l'installation habituelle, avec:
`getFlashPlayer manuel flash_player_npapi_linux.xxxxx.tar.gz`
`getFlashPlayer manuel flash_player_npapi_linux.x86_64.tar.gz`
```text
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
@ -175,7 +174,7 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
pour Firefox sur Debian, version 2.1.0 - 13/07/2017
installation manuelle flash_player_npapi_linux.i386.tar.gz
installation manuelle flash_player_npapi_linux.x86_64.tar.gz
FlashPlayer n'est pas libre, c'est un programme propriétaire dont on
ne peut pas connaître le code source, ni l'utiliser sans conditions,
@ -202,14 +201,13 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.0.1 - 12/07/2017
pour Firefox sur Debian, version 2.3.0 - 16/07/2017
FlashPlayer version 26.0.0.131 désinstallé pour kyodev
```
FlashPlayer 26.0.0.137 désinstallé pour kyodev
```
* le plugin est effacé du profil Mozilla de l'utilisateur
* lancer le script pour chaque utilisateur ayant installé le plugin
* si le répertoire _plugins/_ est vide, il sera effacé
* cela **ne supprime pas le script** _getFlashPlayer_ du système
@ -224,13 +222,13 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.0.0 - 12/07/2017
pour Firefox sur Debian, version 2.2.0 - 14/07/2017
version FlashPlayer en ligne: 26.0.0.131
version FlashPlayer en ligne: 26.0.0.137
version FlashPlayer installée: 26.0.0.121, mise à jour possible
version FlashPlayer installée: 26.0.0.131, mise à jour possible
version script en ligne: 2.0.1, mise à jour possible
version script en ligne: 2.3.0, mise à jour possible
```
* affiche la version en ligne de FlashPlayer
@ -256,22 +254,20 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.0.2 - 12/07/2017
pour Firefox sur Debian, version 2.3.0 - 16/07/2017
version script en ligne: 2.0.1, mise à jour possible
version script en ligne: 2.2.0
getFlashPlayer mis à jour en version 2.0.1
version FlashPlayer en ligne: 26.0.0.137
version FlashPlayer en ligne: 26.0.0.131
version FlashPlayer installée: 26.0.0.131, mise à jour possible
version FlashPlayer installée: 26.0.0.121, mise à jour possible
installation FlashPlayer, version 26.0.0.137
installation FlashPlayer, version 26.0.0.131
/tmp/getFlashPlayer-28058/fla 100%[=====================================>] 8,10M 3,93MB/s in 2,1s
/tmp/getFlashPlayer-28058/fla 100%[================================================>] 8,10M 3,93MB/s in 2,1s
2017-07-12 10:54:35 (3,93 MB/s) — « /tmp/getFlashPlayer-28058/flashplayer_npapi_linux.i386.tar.gz » sauvegardé [8490534/8490534]
FlashPlayer mis à jour en 26.0.0.131 pour kyodev
FlashPlayer 26.0.0.137 installé pour kyodev
Pour tester: http://get.adobe.com/flashplayer/about/
```
pas de mise à jour disponible:
@ -344,13 +340,13 @@ en **root**: `getFlashPlayer sysremove`
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.0.0 - 12/07/2017
pour Firefox sur Debian, version 2.3.0 - 16/07/2017
getFlashPlayer est supprimé du système.
```
* effacement du script dans le système (_/opt/bin_)
* effacement de l'inscription dans la crontab utilisateur
* effacement de l'inscription dans crontab/anacron utilisateur
* cela ne **supprime pas** un éventuel **plugin** installé

View File

@ -1,7 +1,7 @@
#!/bin/bash
version=2.2.2
date="14/07/2017"
version=2.3.0
date="16/07/2017"
projet="Kyodev"
contact="https://framagit.org/kyodev/kyopages/issues"
script="getFlashPlayer"
@ -10,7 +10,7 @@ user_agent="Mozilla/5.0 (X11; Linux $(uname -m); rv:54.0) Gecko/20100101 Firefox
##### license LPRAB/WTFPL
# auteurs: kyodev
# contibuteur: coyotus
# contibuteur: coyotus, naguam
# idée: naguam
#####
@ -63,9 +63,9 @@ f__user(){
fi
}
# test cnx réseau et résolution adobe.com, return 0 si ok else 1
# test cnx réseau et résolution, return 0 si ok else 1
f__cnxTest(){
ping -c 1 adobe.com &>/dev/null || return 1
ping -c 1 free.fr &>/dev/null || return 1
}
# sortie sur erreur
@ -73,24 +73,19 @@ f__error() { # affichage paramètre 1 en rouge pour le premier, les suivants op
echo -e "\n$RED Erreur critique: $1 $COLOR"
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
echo "$COLOR"
logger --id -p user.err "$script $version: <erreur> $*"
if [ "$opType" == "upgrade" ]; then logger --id -p user.err "$script $version: <erreur> $*"; fi
exit 1
}
# affichage information
f__info() { # tous les paramètres en ligne en couleur bleue, accepte \n, ligne vide à la fin
echo -e " $BLUE $@ $COLOR\n"
}
# syslog & affichage information
f__syslogInfo() { # inscription syslog $1, en user.info & f__info $1
logger --id -p user.info "$1"
f__info "$1"
if [ "$opType" == "upgrade" ]; then logger --id -p user.info "$@";
else echo -e " $BLUE $@ $COLOR\n"; fi
}
# root? return 0 si root else 1
f__root(){
if [ $EUID -eq 0 ]; then return 0; else return 1; fi
if [ $EUID == 0 ]; then return 0; else return 1; fi
}
# test wget, $1 url à tester
@ -108,11 +103,14 @@ f__testArchive(){
# install du script dans le système
fscript_install(){
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
# si script inexistant ou inaccessible en écriture, ou si cronAnacron non installé: root requis
if [ ! -w /opt/bin/getFlashPlayer ] || [ ! -e "/home/$user_/.mozilla/plugins/libflashplayer.anacrontab" ]; then
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
# installation dans /opt
fi
mkdir -p /opt/bin/
cp -d "$(basename $0)" /opt/bin/"$script"
chmod a+wx /opt/bin/"$script"
@ -130,7 +128,7 @@ fscript_install(){
# 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
f__root || f__error "vous devez être ROOT pour supprimer ce script dans le système"
# suppression de /opt
rm /opt/bin/"$script" &>/dev/null
@ -160,7 +158,7 @@ fscript_dl(){
if [ "$?" != "0" ]; then f__testWget "$urlScript"; fi
cp -d "$dirTemp$script" /opt/bin/"$script"
rm "$dirTemp$script"
f__syslogInfo "$script mis à jour en version $versionScript"
f__info "$script mis à jour en version $versionScript"
}
#inscription dans tache upgrade en cron hebdomadaire, une partie requiert root
@ -171,20 +169,19 @@ case "$1" in
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
## 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
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"
# création spool anacron utilisateur
mkdir -p /home/"$user_"/.config/anacron/spool
chown "$user_": /home/"$user_"/.config/anacron/spool
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
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
[ -e /home/"$user_"/.config/anacron/spool/getFP ] && rm /home/"$user_"/.config/anacron/spool/getFP
sed -i "\;^\@hourly.*libflashplayer.anacrontab.*$;d" /etc/crontab
;; # désinstallation
;;
esac
}
@ -252,27 +249,36 @@ EOF
printf $COLOR
}
# calcul url téléchargement plugin
# calcul url téléchargement plugin, $1=v1 pour version 1 url, assigne $recup_url,
fflash_detect_url(){
#v2 07/2017
recup="$(wget --tries=2 --timeout=15 --user-agent="$user_agent" -qO - "$urlOnline" | grep -o '#buttonDownload.*(\.tar\.gz).*$')"
recup1="$(echo $recup | sed 's/.*\(download.*Linux_\).*/\1/')"
recup2="$(echo $test | sed 's/.*\(-bit.*standalone=1\).*/\1/')"
recup_url="$urlOnline$recup1$(getconf LONG_BIT)$recup2"
#https://get.adobe.com/fr/flashplayer/download/?installer=FP_26.0_for_Linux_32-bit_(.tar.gz)_-_NPAPI&sType=6627&standalone=1
if [ "$1" == "v1" ]; then
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"
# https://fpdownload.adobe.com/get/flashplayer/pdc/26.0.0.137/flash_player_npapi_linux.i386.tar.gz
else
#v2 07/2017
recup="$(wget --tries=2 --timeout=15 --user-agent="$user_agent" -qO - "$urlOnline" | grep -o '#buttonDownload.*(\.tar\.gz).*$')"
recup1="$(echo $recup | sed 's/.*\(download.*Linux_\).*/\1/')"
recup2="$(echo $test | sed 's/.*\(-bit.*standalone=1\).*/\1/')"
recup_url="$urlOnline$recup1$(getconf LONG_BIT)$recup2"
#https://get.adobe.com/fr/flashplayer/download/?installer=FP_26.0_for_Linux_32-bit_(.tar.gz)_-_NPAPI&sType=6627&standalone=1
fi
}
# install plugin dans config user mozilla, $1 upgrade|manuel (maj|install manuelle)
# install plugin dans config user mozilla, $1 upgrade|manuel (maj|install manuelle), # $2 script à installer si install manuelle
fflash_install(){
if [ $1 != "upgrade" ]; then fflash_avert; fi
if [ $1 == "manuel" ]; then
file="$(basename $2)"
dirTemp="$(dirname $2)/$script-$RANDOM/"
mkdir -p "$dirTemp"
else
file="flash_player_npapi_linux.$(getconf LONG_BIT).tar.gz"
# calcul $file, affichage version pendant l'install
file="flashplayer_npapi_linux.$(getconf LONG_BIT).tar.gz"
if [ $verFlash == "na" ] || [ $verFlash == "" ]; then fflash_version; fi
f__info "installation FlashPlayer, version $verFlash"
@ -280,8 +286,8 @@ fflash_install(){
dirTemp="/tmp/$script-$RANDOM/"
mkdir -p "$dirTemp"
# chargement archive plugin flashplayer
fflash_detect_url
# chargement/détection archive plugin flashplayer
fflash_detect_url "v1"
wget -cq --show-progress --no-check-certificate --user-agent="$user_agent" --referer="$urlOnline" \
--tries=1 -O "$dirTemp$file" "$recup_url"
if [ "$?" != "0" ]; then
@ -292,11 +298,13 @@ fflash_install(){
f__testArchive "$dirTemp$file" || f__error "\n Le fichier $dirTemp$file n'est pas une archive tar.gz valide"
fi
mkdir -p "$dirTemp"
# décompression archive téléchargée dans dossier de travail
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
# copie de la bibliothèque flash dans plugins/ user mozilla, effacement dir temporaire
mkdir -p "/home/$user_/.mozilla/plugins/"
cp -f "$dirTemp"libflashplayer.so "/home/$user_/.mozilla/plugins/"
rm -Rf "$dirTemp"
@ -307,10 +315,7 @@ fflash_install(){
# droits user si jamais install par root
chown -R "$user_": /home/"$user_"/.mozilla/plugins
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
f__info "\n$GREEN FlashPlayer $verFlash installé pour $user_\n\t$BLUE Pour tester: http://get.adobe.com/flashplayer/about/"
}
# test et mise à jour plugin si dispo
@ -318,18 +323,19 @@ 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
if [ "$uptd_plug" == "ko" ]; then fflash_install "upgrade"; #plugin pas uptodate
else f__info "FlashPlayer non mis à jour pour $user_"; fi
}
# suppression du plugin
fflash_remove(){
# on efface le plugin et le répertoire si vide
rm -f "/home/$user_/.mozilla/plugins/"libflashplayer.*
rm -d "/home/$user_/.mozilla/plugins/" &>/dev/null
f__info "$GREEN""FlashPlayer $version désinstallé pour $user_\n"
# 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"
f__info "$GREEN""FlashPlayer $verFlashRemove désinstallé pour $user_\n"
}
# installation du plugin chargé manuellement, $1
@ -360,6 +366,7 @@ case "$1" in
"sysremove" )
fscript_remove ;; # désinstallation du script
"upgrade" )
opType="upgrade"
fscript_version
fscript_dl
fflash_version

View File

@ -1,35 +1,48 @@
# changelog getFlashPlayer
## todo
* dépendances: wget, ...?
* revoir affichage upgrade
## 2.3.0 16/07/2017
* fix bug: erreur chargement retour à url v1 fonctionnant
* fix bug remove plugin: enlève tache anacron & mauvaise version affichée
* mieux: multiplateforme, détection dpkg avant purge flashplugin-nonfree éventuel
* mieux: gestion syslog
## 2.2.1 14/07/2017
* fix mineur
* déclaration PATH & IFS
* fix détection changement url
* BUG erreur chargement -> wget?
* fix mineurs
* mieux: déclaration PATH & IFS (sécu)
* fix: détection changement url
* fix mineur: user-agent
* BUG: erreur chargement -> wget? idem avec curl
## 2.2.0 14/07/2017
* bug fix mauvaise détection paquet flashplugin-nonfree installé
* mieux installation script optimisée lors mise à jour
* mieux root plus nécessaire lors maj manuelle du script
* fix bug: mauvaise détection paquet flashplugin-nonfree installé
* mieux: installation script optimisée lors mise à jour
* mieux: root plus nécessaire lors maj manuelle du script
## 2.1.0 13/07/2017
* nouveau installation d'une archive téléchargée manuellement
* mieux test validité archive téléchargée
* nouveau: installation d'une archive téléchargée manuellement
* mieux: test validité archive téléchargée
## 2.0.2 13/07/2017
* fix mineurs
* renommage fonctions
* fin nettoyage v-test
* fix bug test sur taille download
* fix bug test wget
* fix bug: test sur taille download
* fix bug: test wget
## 2.0.1 13/07/2017
* fix mineur
* fix mineurs
## 2.0.0 13/07/2017
@ -43,16 +56,16 @@
## 1.1.0 12/07/2017
* bug fix user non reconnu sous gnome
* nouveau contournement éventuel pour imposer un utilisateur où installer (ou si échec sous debian7?)
* fix bug: user non reconnu sous gnome
* nouveau: contournement éventuel pour imposer un utilisateur où installer (ou si échec sous debian7?)
## 1.0.2 02/07/2017
* fix mineur renommage appel installation version de test: v-test (au lieu) de test
* fix bug mineur: renommage appel installation version de test: v-test (au lieu) de test
## 1.0.1 22/06/2017
* fix mineur suppression lignes de test commentées
* fix bug mineur: suppression lignes de test commentées
* fix typos
## 1.0.0 21/06/2017