This commit is contained in:
kyodev 2017-07-13 01:13:52 +02:00
parent 087f2577ea
commit 307c504734
3 changed files with 89 additions and 112 deletions

View File

@ -1,7 +1,13 @@
# getFlashPlayer
**version 1.1.x**
**version 2.0.x**
**adaube 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**
**cette version se met à jour automatiquement, si possible, tous les 7 jours, si un contournement**
**est trouvé le fonctionnement redeviendra normal**
**une page sur l'installation manuelle de ce plugin arrive**
### installation script, raccourci rapide:
@ -40,7 +46,7 @@ exit
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 1.1.0 - 12/07/2017
pour Firefox sur Debian, version 2.2.0 - 12/07/2017
getFlashPlayer est installé dans le système.
appel du script par getFlashPlayer (sans ./)
@ -66,7 +72,7 @@ lancer le script sans arguments: `getFlashPlayer`
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 1.0.2 - 02/07/2017
pour Firefox sur Debian, version 2.0.0 - 12/07/2017
-----------------------------------------------------------------------
./getFlashPlayer : installation du script dans le système, en ROOT
@ -74,10 +80,7 @@ lancer le script sans arguments: `getFlashPlayer`
getFlashPlayer install : téléchargement & installation & update Flash
getFlashPlayer remove : désinstallation de FlashPlayer
getFlashPlayer version : version en ligne de FlashPlayer
getFlashPlayer upgrade : MAJ si disponible et si version standard (non test)
utilisé par cron toutes les semaines
----
getFlashPlayer v-test : installation version de test de FlashPlayer
getFlashPlayer upgrade : MAJ si disponible, cron hebdomadaire
----
getFlashPlayer sysremove : désinstall du script du système, en ROOT
-----------------------------------------------------------------------
@ -169,9 +172,9 @@ Sauvegarde en : « /tmp/getFlashPlayer-13385/flashplayer_npapi_linux.i386.tar.
```
* le plugin est effacé du profil Mozilla de l'utilisateur
* lancer le script pour chaque utilisateur ayant ouvert la session
* 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
* cela **ne supprime pas le script** _getFlashPlayer_ du système
## version en ligne
@ -185,11 +188,13 @@ Sauvegarde en : « /tmp/getFlashPlayer-13385/flashplayer_npapi_linux.i386.tar.
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 1.0.0 - 18/06/2017
pour Firefox sur Debian, version 1.2.0 - 12/07/2017
version FlashPlayer en ligne: 26.0.0.131
version FlashPlayer en ligne: 26.0.0.137
version installée: 26.0.0.121, mise à jour possible
version installée: 26.0.0.131, mise à jour possible
version script en ligne: 2.0.0, mise à jour possible
```
* affiche la version en ligne de FlashPlayer
* compare, si possible (version **release**) et installée, avec la version installée
@ -197,8 +202,7 @@ Sauvegarde en : « /tmp/getFlashPlayer-13385/flashplayer_npapi_linux.i386.tar.
## mise à jour
* mise à jour si une nouvelle version est disponible en ligne **et** si ce n'est pas la version de test
qui est installée
* mise à jour si une nouvelle version est disponible en ligne
* à la différence de [_getFlashPlayer install_](#installation-version-release) un téléchargement et
une installation **ne sont pas forcés**. il n'y aura téléchargement que si nouvelle version possible
* cette tâche est exécutée périodiquement par cron/anachron toutes les semaines et n'a pas vraiment
@ -270,8 +274,8 @@ pas de mise à jour disponible:
## tâche planifiée
* la mise à jour possible est testée toutes les **semaines***
* si une nouvelle version existe, le téléchargement est initié et l'installation du plugin est faite
* pas de nouvelle version: pas de téléchargement
* si une nouvelle version du plugin flash existe, le téléchargement est initié et l'installation du plugin est faite
* pas de nouvelle version du plugin flash: pas de téléchargement
* _anacron_ est utilisé, c'est à dire que la mise à jour sera testée, même lors d'arrêts du Pc
dans le syslog: (en root) `cat /var/log/syslog | grep Flash`
@ -325,52 +329,6 @@ en **root**: `getFlashPlayer sysremove`
* cela ne **supprime pas** un éventuel **plugin** installé
## installation version _test_
`getFlashPlayer v-test`
```text
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
/ _' |/ _ \ __| |_ | |/ _' / __| '_ \| |_) | |/ _' | | | |/ _ \ '__|
| (_| | __/ |_| _| | | (_| \__ \ | | | __/| | (_| | |_| | __/ |
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 1.0.0 - 18/06/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,
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...
installation FlashPlayer, version alternative de test
--2017-06-19 11:33:36-- https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/linux32/flashplayer_npapi_linux.i386.tar.gz
Résolution de fpdownload.macromedia.com (fpdownload.macromedia.com)… 92.122.201.82
Connexion à fpdownload.macromedia.com (fpdownload.macromedia.com)|92.122.201.82|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 8490917 (8,1M) [application/x-gzip]
Sauvegarde en : « /tmp/getFlashPlayer-7101/flashplayer_npapi_linux.i386.tar.gz »
/tmp/getFlashPlayer-7101/flas 100%[==============================================>] 8,10M 4,22MB/s in 1,9s
2017-06-19 11:33:39 (4,22 MB/s) — « /tmp/getFlashPlayer-7101/flashplayer_npapi_linux.i386.tar.gz » sauvegardé [8490917/8490917]
FlashPlayer test est installé pour kyodev
Pour tester: http://get.adobe.com/flashplayer/about/
```
* utilise une version de test en développement sur une adresse alternative. la pérennité de cette url ou
la fiabilité de cette version n'est pas connue.
* comme il n'est pas possible d'obtenir la version en ligne, une comparaison avec la
version installée ne peut être faite.
* la version peut être déterminée sur la [page de test](http://get.adobe.com/flashplayer/about/)
## sources
sur [framagit](https://framagit.org/kyodev/kyopages/blob/master/scripts/getFlashPlayer)

View File

@ -1,10 +1,12 @@
#!/bin/bash
version=1.1.1
version=2.0.0
projet="Kyodev"
contact="https://framagit.org/kyodev/kyopages/issues"
date="12/07/2017"
script="getFlashPlayer"
urlScript="https://framagit.org/kyodev/kyopages/raw/master/scripts/getFlashPlayer"
##### license LPRAB/WTFPL
# auteurs: kyodev
@ -86,11 +88,6 @@ f__syslogInfo() { # inscription syslog $1, en user.info & f__info $1
f__info "$1"
}
#debian? return 0 else 1
f__debian(){
if [ -f /etc/debian_version ]; then return 0; else return 1; fi
}
# root? return 0 else 1
f__root(){
if [ $EUID -eq 0 ]; then return 0; else return 1; fi
@ -106,24 +103,35 @@ f__scriptBin(){
user_agent="Mozilla/5.0 (X11; Linux $architecture; rv:52.0) Gecko/ Firefox"
# version Flash en ligne & installée, $verFlash=x|na, $verInstall, $uptodate=""|ko, $urlOnline,
# version Flash en ligne & installée, $verFlash=x|na, $verInstall, $uptd_plug=""|ko, $urlOnline,
f_versionFlash(){
urlOnline="https://get.adobe.com/flashplayer/"
if ! f__cnxTest; then f__error "connection impossible ou site adobe injoignable"; fi
verFlash=$(wget --no-check-certificate --tries=1 --timeout=15 --user-agent="$user_agent" -nv -qO - "$urlOnline" | \
grep "AUTO_ID_columnleft_p_version" | grep -o '[0-9].*[0-9]') || verFlash="na"
verInstall=$(cat /home/"$user_"/.mozilla/plugins/libflashplayer.version 2>/dev/null) || verInstall=""
uptodate=""
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"
if [ "$?" != "0" ]; then echo -e " $urlOnline"; wget -Sq -O /dev/null "$urlOnline"; fi
verInstall="$(cat /home/"$user_"/.mozilla/plugins/libflashplayer.version 2>/dev/null)" || verInstall=""
uptd_plug=""
if [ $verFlash == "na" ]; then f__info "version FlashPlayer non accessible";
else f__info "version FlashPlayer en ligne: $verFlash"; fi
if [ "$verInstall" != "" ] && [ "$verInstall" != "flashTest" ]; then
if [ "$verInstall" == "$verFlash" ]; then f__info "version à jour";
else
f__info "version installée: $verInstall"", mise à jour possible"
uptodate="ko"
f__info "version FlashPlayer installée: $verInstall"", mise à jour possible"
uptd_plug="ko"
fi
elif [ "$verInstall" == "" ]; then f__info "FlashPlayer non installé";
elif [ "$verInstall" == "flashTest" ]; then f__info "FlashPlayer, version test, installé"; fi
f_version_script
}
# version script en ligne, assigne $versionScript, $uptd_script
f_version_script(){
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
}
# pas beau ce soft :(
@ -151,10 +159,7 @@ cat << 'EOF'
getFlashPlayer install : téléchargement & installation & update Flash
getFlashPlayer remove : désinstallation de FlashPlayer
getFlashPlayer version : version en ligne de FlashPlayer
getFlashPlayer upgrade : MAJ si disponible et si version standard (non test)
utilisé par cron toutes les semaines
----
getFlashPlayer v-test : installation version de test de FlashPlayer
getFlashPlayer upgrade : MAJ si disponible, cron hebdomadaire
----
getFlashPlayer sysremove : désinstall du script du système, en ROOT
EOF
@ -203,7 +208,8 @@ f_sysinstall(){
# installation dans /opt
mkdir -p /opt/bin/
cp -d "$script" /opt/bin/
cp -d "$script" /opt/bin/
chmod a+wx "$user_": /opt/bin/"$script"
ln -s /opt/bin/"$script" /usr/local/bin/"$script" &>/dev/null
## rm "$script" &>/dev/null
@ -228,37 +234,35 @@ f_sysremove(){
f__info "$GREEN$script est supprimé du système.\n"
}
# install plugin dans config user mozilla, $1 = v-test|release
# install plugin dans config user mozilla
f_install(){
f_avertissement
# architecture -> $architecture (version release)
if [ "$(dpkg --print-architecture)" = "amd64" ]; then architecture='x86_64'; else architecture='i386'; fi
architecture="$(getconf LONG_BIT)" # 32 | 64
# calcul $file, affichage version pendant l'install, calcul $url
file="flashplayer_npapi_linux.$architecture.tar.gz"
if [ "$1" == "v-test" ]; then
# on change l'architecture pour la version v-test
if [ "$architecture" == "x86_64" ]; then architecture='linux64'; else architecture='linux32'; fi
verFlash="v-test"
f__info "installation FlashPlayer, version alternative de test"
url="https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/$architecture/"
else
if [ $verFlash == "na" ] || [ $verFlash == "" ]; then f_versionFlash; fi
f__info "installation FlashPlayer, version $verFlash"
url="https://fpdownload.adobe.com/get/flashplayer/pdc/$verFlash/"
fi
if [ $verFlash == "na" ] || [ $verFlash == "" ]; then f_versionFlash; 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 flashplayer
wget -c --user-agent="$user_agent" -O "$dirTemp""$file" "$url""$file"
# gestion erreur wget / à peaufiner? /
# chargement archive plugin flashplayer
wget -c --show-progress --no-check-certificate --user-agent="$user_agent" --referer="$urlOnline" \
--tries=1 -O "$dirTemp""$file" "$url2"
if [ "$?" != "0" ]; then
f__error "problème au chargement, connexion défaillante? réessayer" \
"Si persistance, merci de prévenir $projet" "$contact"
echo -e " $url2"
wget -Sq -O /dev/null "$url2"
f__error "problème au chargement, réessayer et si persistance, contacter $projet $contact\n" \
"en indiquant les erreurs précédentes."
fi
if [ "$(wc -c < flashplayer_npapi_linux.$architecture.tar.gz)" -lt 5000000 ]; then
f__error "Chargement incomplet, réessayer et si persistance,\n contacter $projet $contact\n"
fi
# décompression archive téléchargée dans dossier de travail
@ -269,8 +273,7 @@ f_install(){
rm -Rf "$dirTemp"
# marqueur version et maj dans plugins/ user mozilla
if [ "$1" == "v-test" ]; then echo "flashTest" > /home/"$user_"/.mozilla/plugins/libflashplayer.version;
else echo "$verFlash" > /home/"$user_"/.mozilla/plugins/libflashplayer.version; fi
echo "$verFlash" > /home/"$user_"/.mozilla/plugins/libflashplayer.version
touch /home/"$user_"/.mozilla/plugins/libflashplayer.maj
# droits user si install par root
@ -285,16 +288,21 @@ f_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 est désinstallé pour $user_\n"
}
f_dl_script(){
dirTemp="/tmp/$script-$RANDOM/"
mkdir -p "$dirTemp"
wget -q -O "$dirTemp""$script" "$urlScript" && chmod +x "$script"
if [ "$?" != "0" ]; then echo -e " $urlScript\n"; wget -Sq -O /dev/null "$urlScript"; fi
cp "$dirTemp""$script" /opt/bin/"$script"
rm "$dirTemp""$script"
f__syslogInfo "$script mis à jour en version $versionScript"
}
### début script =======================================================
# debian? sinon dehors / utilité? /
if ! f__debian ; then f__error "désolé, vous n'utilisez pas Debian :( adieu o/"; fi
# traitements arguments
if [ "$#" -gt 1 ]; then f__info "$RED trop d'arguments"; f_help; exit 1; fi
#initialisation
@ -302,13 +310,11 @@ f__user
verFlash="na"
#### installation du script si pas dans le système =====================
if ! f__scriptBin ; then f_sysinstall; fi
##if ! f__scriptBin ; then f_sysinstall; fi
case "$1" in
case "$1" in
"install" )
f_install "release" ;; # installation
"v-test" )
f_install "v-test" ;; # install version test
f_install ;; # installation
"remove" )
f_remove ;; # désinstallation
"version" )
@ -317,13 +323,15 @@ case "$1" in
f_sysremove ;; # désinstallation du script
"upgrade" )
f__syslogInfo "$script $version: upgrade"
f_version_script
if [ "$uptd_script" == "ko" ]; then f_dl_script; fi
if [ -e /home/"$user_"/.mozilla/plugins/libflashplayer.maj ]; then touch /home/"$user_"/.mozilla/plugins/libflashplayer.maj; fi
f_versionFlash
if [ "$uptodate" == "ko" ]; then
if [ "$uptd_plug" == "ko" ]; then
f_install "release" "upgrade"
f__syslogInfo "FlashPlayer mis à jour en $verFlash pour $user_"
else f__syslogInfo "FlashPlayer non mis à jour pour $user_"; fi
;; # upgrade si MAJ possible
;; # upgrade si MAJs possibles
* )
f_help
f_avertissement

View File

@ -1,9 +1,20 @@
# changelog getFlashPlayer
## 2.2.0 12/07/2017
* nouveau
* chargements moins verbeux
* wget: message debug
* test et maj éventuelle script lors du test disponibilité de flash
* plus de limitation à debian
* abandon version v-test (problème de liens de chargement)
## 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?)
## 1.0.2 02/07/2017