This commit is contained in:
kyodev 2017-06-21 20:15:27 +02:00
parent 1e6fbbc0f2
commit eb474fe29b
2 changed files with 285 additions and 144 deletions

View File

@ -1,6 +1,16 @@
# getFlashPlayer
**version 0.9.x**
**version 1.0.x**
### install script, raccourci rapide:
**en root**:
```shell
wget https://framagit.org/kyodev/kyopages/raw/master/scripts/getFlashPlayer && chmod +x getFlasPlayer && \
./getFlashPlayer && getFlashPlayer
```
## charger le script
@ -9,6 +19,7 @@ wget https://framagit.org/kyodev/kyopages/raw/master/scripts/getFlashPlayer
chmod +x getFlasPlayer
```
## installation du script
en **root**, pour installer ou mettre à jour le script:
```shell
@ -24,16 +35,18 @@ exit
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 0.9.2 - 12/06/2017
pour Firefox sur Debian, version 1.0.0 - 18/06/2017
getFlashPlayer est installé dans le système.
appel du script par getFlashPlayer (sans ./)
```
* le script est maintenant dans le système et tout utilisateur peut s'en servir.
* si le paquet `flashplugin-nonfree` est présent, non fonctionnel depuis des mois ( en juin 2017),
il sera **désinstallé**.
* si ce paquet devait être ré-installé, il semble préférable de désinstaller le plugin auparavant.
* le script est maintenant dans le système (_/opt/bin/getFlashPlayer_ avec un lien (_/usr/local/bin/getFlashPlayer_)
et tout utilisateur peut s'en servir
* le script est inscrit dans la crontab utilisateur, une mise à jour de la version **release** sera faite
[périodiquement](#tache-planifiee)
si disponible (pas de téléchargement d'archive en aveugle).
* si le paquet `flashplugin-nonfree` est présent, il sera **désinstallé**.
* si ce paquet devait être ré-installé, il semble préférable de désinstaller le plugin auparavant
## help
@ -47,7 +60,7 @@ lancer le script sans arguments: `getFlashPlayer`
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 0.9.3 - 16/06/2017
pour Firefox sur Debian, version 1.0.0 - 18/06/2017
-----------------------------------------------------------------------
./getFlashPlayer : installation du script dans le système, en ROOT
@ -55,6 +68,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 non test
----
getFlashPlayer test : installation version de test de FlashPlayer
----
@ -74,7 +88,6 @@ lancer le script sans arguments: `getFlashPlayer`
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...
```
@ -82,16 +95,16 @@ lancer le script sans arguments: `getFlashPlayer`
`getFlashPlayer install`
* FlashPlayer est installé, en étant directement chargé du site Adobe.
* l'installation est faite pour l'utilisateur courant.
* lancer le script pour chaque utilisateur, en **utilisateur**, pas en root.
* seule la bibliothèque est installée comme plugin Firefox (uniquement). FlashPlayer pourra être configuré
au clic droit dans le navigateur. le système n'est pas encombré.
* après installation, les fichiers inutiles sont effacés.
* **mise à jour** du plugin éventuellement installé
* FlashPlayer est installé, en étant directement chargé du site Adobe
* lancer le script pour chaque utilisateur ayant ouvert une session
* **seule la bibliothèque** est installée comme plugin Firefox. FlashPlayer pourra être configuré
au clic droit dans le navigateur. le système n'est pas encombré inutilement
* après installation, les fichiers inutiles sont effacés
* pour vérifier le bon fonctionnement, vous pouvez aller [sur le site](http://get.adobe.com/flashplayer/about/)
* théoriquement, inutile de redémarrer Firefox
* _théoriquement_, inutile de redémarrer Firefox
* en cas de soucis, vérifier dans `Outils/Modules complémentaires/plugins`: _shockwave flash_ doit être **activé**
* téléchargement et mise à jour forcés du plugin éventuellement installé, à la différence
de [_getFlashPlayer install_](#mise-a-jour)
```text
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
@ -100,7 +113,7 @@ lancer le script sans arguments: `getFlashPlayer`
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 0.9.2 - 12/06/2017
pour Firefox sur Debian, version 1.0.0 - 18/06/2017
FlashPlayer n'est pas libre, c'est un programmme propriétaire dont on
ne peut pas connaître le code source, ni l'utiliser sans conditions,
@ -111,22 +124,22 @@ lancer le script sans arguments: `getFlashPlayer`
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: 25.0.0.171
version FlashPlayer en ligne: 26.0.0.131
installation FlashPlayer, version 25.0.0.171
installation FlashPlayer, version 26.0.0.131
--2017-06-12 10:35:18-- https://fpdownload.adobe.com/get/flashplayer/pdc/25.0.0.171/flash_player_npapi_linux.i386.tar.gz
--2017-06-18 15:33:59-- https://fpdownload.adobe.com/get/flashplayer/pdc/26.0.0.131/flash_player_npapi_linux.i386.tar.gz
Résolution de fpdownload.adobe.com (fpdownload.adobe.com)… 23.206.45.82
Connexion à fpdownload.adobe.com (fpdownload.adobe.com)|23.206.45.82|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 8490374 (8,1M) [application/x-gzip]
Sauvegarde en : « /tmp/getFlashPlayer/flash_player_npapi_linux.i386.tar.gz »
Taille : 8490534 (8,1M) [application/x-gzip]
Sauvegarde en : « /tmp/getFlashPlayer-13385/flash_player_npapi_linux.i386.tar.gz »
/tmp/getFlashPlayer/flash_ 100%[=======================================>] 8,10M 3,32MB/s in 2,4s
/tmp/getFlashPlayer-13385/fla 100%[================================================>] 8,10M 4,04MB/s in 2,0s
2017-06-12 10:35:21 (3,32 MB/s) — « /tmp/getFlashPlayer/flash_player_npapi_linux.i386.tar.gz » sauvegardé [8490374/8490374]
2017-06-18 15:34:01 (4,04 MB/s) — « /tmp/getFlashPlayer-13385/flash_player_npapi_linux.i386.tar.gz » sauvegardé [8490534/8490534]
FlashPlayer est installé.
FlashPlayer 26.0.0.131 est installé pour kyodev
Pour tester: http://get.adobe.com/flashplayer/about/
```
@ -135,7 +148,6 @@ Sauvegarde en : « /tmp/getFlashPlayer/flash_player_npapi_linux.i386.tar.gz 
`getFlashPlayer remove`
```text
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
/ _' |/ _ \ __| |_ | |/ _' / __| '_ \| |_) | |/ _' | | | |/ _ \ '__|
@ -143,14 +155,15 @@ Sauvegarde en : « /tmp/getFlashPlayer/flash_player_npapi_linux.i386.tar.gz 
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 0.9.3 - 16/06/2017
pour Firefox sur Debian, version 1.0.0 - 18/06/2017
FlashPlayer est désinstallé.
FlashPlayer est désinstallé pour kyodev
```
* le plugin est effacé du profil Mozilla de l'utilisateur courant.
* lancer le script pour chaque utilisateur, en **utilisateur**, pas en root.
* si le répertoire _plugins_ est vide, il sera effacé
* le plugin est effacé du profil Mozilla de l'utilisateur
* lancer le script pour chaque utilisateur ayant ouvert la session
* si le répertoire _plugins/_ est vide, il sera effacé
* cela ne supprime pas le script _getFlashPlayer_ du système
## version en ligne
@ -164,19 +177,24 @@ Sauvegarde en : « /tmp/getFlashPlayer/flash_player_npapi_linux.i386.tar.gz 
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 0.9.3 - 16/06/2017
pour Firefox sur Debian, version 1.0.0 - 18/06/2017
version FlashPlayer en ligne: 26.0.0.126
version FlashPlayer en ligne: 26.0.0.131
installé: 25.0.0.171, MAJ à faire
version installée: 26.0.0.121, mise à jour possible
```
* affiche la version en ligne de FlashPlayer
* compare, si possible (version **release**), avec la version installée.
* compare, si possible (version **release**) et installée, avec la version installée
## mise à jour
idem [installation](#installation-version-release): `getFlashPlayer install`
* mise à jour si une nouvelle version est disponible en ligne **et** si ce n'est pas la version de test
qui est installée
* à 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
`getFlashPlayer upgrade`
```text
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
@ -185,7 +203,13 @@ idem [installation](#installation-version-release): `getFlashPlayer install`
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 0.9.3 - 16/06/2017
pour Firefox sur Debian, version 1.0.0 - 18/06/2017
getFlashPlayer 1.0.0: upgrade FlashPlayer
version FlashPlayer en ligne: 26.0.0.131
installée: 26.0.0.121, mise à jour possible
FlashPlayer n'est pas libre, c'est un programmme propriétaire dont on
ne peut pas connaître le code source, ni l'utiliser sans conditions,
@ -196,27 +220,70 @@ idem [installation](#installation-version-release): `getFlashPlayer install`
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.126
installation FlashPlayer, version 26.0.0.131
installé: 25.0.0.171, MAJ à faire
installation FlashPlayer, version 26.0.0.126
--2017-06-16 12:33:13-- https://fpdownload.adobe.com/get/flashplayer/pdc/26.0.0.126/flash_player_npapi_linux.i386.tar.gz
--2017-06-18 16:34:32-- https://fpdownload.adobe.com/get/flashplayer/pdc/26.0.0.131/flash_player_npapi_linux.i386.tar.gz
Résolution de fpdownload.adobe.com (fpdownload.adobe.com)… 23.206.45.82
Connexion à fpdownload.adobe.com (fpdownload.adobe.com)|23.206.45.82|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 8490374 (8,1M) [application/x-gzip]
Sauvegarde en : « /tmp/getFlashPlayer/flash_player_npapi_linux.i386.tar.gz »
Taille : 8490534 (8,1M) [application/x-gzip]
Sauvegarde en : « /tmp/getFlashPlayer-28058/flash_player_npapi_linux.i386.tar.gz »
/tmp/getFlashPlayer/flash_ 100%[=======================================>] 8,10M 2,85MB/s in 2,8s
/tmp/getFlashPlayer-28058/fla 100%[================================================>] 8,10M 3,93MB/s in 2,1s
2017-06-16 12:33:16 (2,85 MB/s) — « /tmp/getFlashPlayer/flash_player_npapi_linux.i386.tar.gz » sauvegardé [8490374/8490374]
2017-06-18 16:34:35 (3,93 MB/s) — « /tmp/getFlashPlayer-28058/flash_player_npapi_linux.i386.tar.gz » sauvegardé [8490534/8490534]
FlashPlayer est installé.
Pour tester: http://get.adobe.com/flashplayer/about/
FlashPlayer mis à jour en 26.0.0.131 pour kyodev
```
pas de mise à jour disponible:
```text
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
/ _' |/ _ \ __| |_ | |/ _' / __| '_ \| |_) | |/ _' | | | |/ _ \ '__|
| (_| | __/ |_| _| | | (_| \__ \ | | | __/| | (_| | |_| | __/ |
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 1.0.0 - 18/06/2017
getFlashPlayer 1.0.0: upgrade FlashPlayer
version FlashPlayer en ligne: 26.0.0.131
version à jour
FlashPlayer est à jour pour kyodev
```
## vérifier la date de mise à jour
`date -r ~/.mozilla/plugins/libflashplayer.maj`
```text
lundi 19 juin 2017, 16:00:02 (UTC+0200)
```
## 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
* _anacron_ est utilisé, c'est à dire que la mise à jour sera testée, même lors d'arrêts du Pc
dans le syslog: `cat /var/log/syslog | grep Flash`
```text
Jun 19 15:00:02 NB11 kyodev[16342]: getFlashPlayer 1.0.0: upgrade
Jun 19 15:00:07 NB11 kyodev[16362]: FlashPlayer mis à jour en 26.0.0.131 pour kyodev
```
ou
```text
Jun 19 16:00:01 NB11 kyodev[16614]: getFlashPlayer 1.0.0: upgrade
Jun 19 16:00:03 NB11 kyodev[16623]: FlashPlayer non mis à jour pour kyodev
```
## supprimer le script sur le systeme
en **root**: `getFlashPlayer sysremove`
@ -228,10 +295,13 @@ en **root**: `getFlashPlayer sysremove`
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 0.9.2 - 12/06/2017
pour Firefox sur Debian, version 1.0.0 - 18/06/2017
getFlashPlayer est supprimé du système.
```
* effacement du script dans le système (_/opt/bin_)
* effacement de l'inscription dans la crontab utilisateur
* cela ne supprime pas un éventuel plugin installé
## installation version _test_
@ -245,7 +315,7 @@ en **root**: `getFlashPlayer sysremove`
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 0.9.3 - 16/06/2017
pour Firefox sur Debian, version 1.0.0 - 18/06/2017
FlashPlayer n'est pas libre, c'est un programmme propriétaire dont on
ne peut pas connaître le code source, ni l'utiliser sans conditions,
@ -258,19 +328,19 @@ en **root**: `getFlashPlayer sysremove`
installation FlashPlayer, version alternative de test
--2017-06-16 12:54:47-- https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/linux32/flash_player_npapi_linux.i386.tar.gz
--2017-06-19 11:33:36-- https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/linux32/flash_player_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/flash_player_npapi_linux.i386.tar.gz »
Sauvegarde en : « /tmp/getFlashPlayer-7101/flash_player_npapi_linux.i386.tar.gz »
/tmp/getFlashPlayer/flash_ 100%[=======================================>] 8,10M 3,09MB/s in 2,6s
/tmp/getFlashPlayer-7101/flas 100%[==============================================>] 8,10M 4,22MB/s in 1,9s
2017-06-16 12:54:50 (3,09 MB/s) — « /tmp/getFlashPlayer/flash_player_npapi_linux.i386.tar.gz » sauvegardé [8490917/8490917]
2017-06-19 11:33:39 (4,22 MB/s) — « /tmp/getFlashPlayer-7101/flash_player_npapi_linux.i386.tar.gz » sauvegardé [8490917/8490917]
FlashPlayer est installé.
Pour tester: http://get.adobe.com/flashplayer/about/
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
@ -280,11 +350,6 @@ Sauvegarde en : « /tmp/getFlashPlayer/flash_player_npapi_linux.i386.tar.gz 
* la version peut être déterminée sur la [page de test](http://get.adobe.com/flashplayer/about/)
## évolution
* lancement upgrade dans un cron? toutes les semaines ou mois?
## sources
sur [framagit](https://framagit.org/kyodev/kyopages/blob/master/scripts/getFlashPlayer)

View File

@ -1,14 +1,14 @@
#!/bin/bash
version="0.9.3"
version="1.0.0"
projet="Kyodev"
contact="https://framagit.org/kyodev/kyopages/issues"
date="16/06/2017"
date="18/06/2017"
script="getFlashPlayer"
##### license LPRAB/WTFPL
# auteurs: kyodev
# contibuteurs: coyotus
# contibuteur: coyotus
# idée: naguam
#####
@ -37,52 +37,84 @@ echo -e "$YELLOW pour Firefox sur Debian, version $version - $date\n$COLOR
#### fonctions diverses ================================================
# user ayant initié la session graphique, assigne $user_ (<>root)
f__user(){
#if [ $USER =="root" ]; then user_=$(echo $XAUTHORITY | sed -E 's;/home/(.*)/\.Xauthority;\1;'); else user_=$USER #kyodev
#user_=$(echo $XAUTHORITY | sed -E 's;/home/(.*)/\.Xauthority;\1;') # kyodev
#if [ -e /home/"$user_"/.Xauthority ]; then user_=$USER; fi # au pire si root, pas de plugin détecté dans le home root
# si root (lors sysinstall) on prend xauthority, sinon (cron?) on prend euid
if [ $USER == "root" ]; then
user_=$(echo $XAUTHORITY | sed -E 's;/home/(.*)/\.Xauthority;\1;');
else user_=$(grep "$EUID" /etc/passwd | awk -F ":" '{ print $1 }');
fi
}
# 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
}
# sortie sur erreur
f_error() { # affichage paramètre 1 en rouge pour le premier, les suivants optionnels en bleu, sortie du script
f__error() { # affichage paramètre 1 en rouge pour le premier, les suivants optionnels en bleu, sortie du script
echo -e "\n$RED Erreur critique: $1 $COLOR"
for (( i=2 ; i<=$# ; i++ )); do echo " $BLUE${!i}"; done
echo "$COLOR"
logger --id -p user.err "$script $version: <erreur> $*"
exit 1
}
# affichage information
f_info() { # tous les paramètres en ligne en couleur bleue, accepte \n, ligne vide à la fin
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"
}
#debian? return 0 else 1
f_debian(){
f__debian(){
if [ -f /etc/debian_version ]; then return 0; else return 1; fi
}
# root? return 0 else 1
f_root(){
f__root(){
if [ $EUID -eq 0 ]; then return 0; else return 1; fi
}
# script en /bin? return 0 si bin, 1 si local
f_scriptBin(){
# echo egrep: "-$(echo $0 | grep -Eo '\.\/')-"
f__scriptBin(){
if [ "$(echo $0 | grep -Eo '\.\/')" != "./" ]; then return 0; else return 1; fi
}
#### fonctions script ==================================================
user_agent="Mozilla/5.0 (X11; Linux $architecture; rv:45.0) Gecko/ Firefox"
# version Flash en ligne & installée, $verFlash, $verInstall, $user_agent, $urlOnline, si $1="quiet", pas d'affichage
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,
f_versionFlash(){
urlOnline="https://get.adobe.com/flashplayer/"
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]')
verInstall=$(cat /home/"$USER"/.mozilla/plugins/libflashplayer.version 2>/dev/null)
if [ "$1" != "quiet" ]; then f_info "version FlashPlayer en ligne: $verFlash"; fi
if [ -e /home/"$USER"/.mozilla/plugins/libflashplayer.version ] && [ "$verInstall" != "flashTest" ]; then
if [ "$verInstall" == "$verFlash" ]; then f_info "version à jour"; else f_info "installé: $verInstall"", MAJ à faire"; fi
fi
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=""
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"
fi
elif [ "$verInstall" == "" ]; then f__info "FlashPlayer non installé";
elif [ "$verInstall" == "flashTest" ]; then f__info "FlashPlayer, version test, installé"; fi
}
# pas bô ce soft :(
# pas beau ce soft :(
f_avertissement(){
cat << 'EOF'
FlashPlayer n'est pas libre, c'est un programmme propriétaire dont on
@ -107,6 +139,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 non test
----
getFlashPlayer test : installation version de test de FlashPlayer
----
@ -124,121 +157,164 @@ EOF
printf $COLOR
}
f_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
## test: anacron journalier echo "1 15 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
# 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
}
# install du script dans le système
f_sysinstall(){
if ! f_root ; then f_error "vous devez être ROOT pour installer ce script dans le système"; fi
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é
if [ "$( dpkg-query -l flashplugin-nonfree &>/dev/null | grep -Eo ^ii)" == "ii" ]; then apt-get purge flashplugin-nonfree; fi
# installation dans /opt
mkdir -p /opt/bin/
cp -d "$0" /opt/bin/
cp -d "$script" /opt/bin/
ln -s /opt/bin/"$script" /usr/local/bin/"$script" &>/dev/null
rm "$0" &>/dev/null
f_info "$GREEN$script est installé dans le système.\n$BLUE appel du script par$GREEN $script$BLUE (sans ./)"
rm "$script" &>/dev/null
# cron/anacron install
f_cronAnacron install
f__info "$GREEN$script est installé dans le système.\n$BLUE appel du script par$GREEN $script$BLUE (sans ./)"
exit 0
}
# suppression du script dans le système
f_sysremove(){
if ! f_root ; then f_error "vous devez être ROOT pour supprimer ce script dans le système"; fi
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
f_info "$GREEN$script est supprimé du système.\n"
# cron/anacron install
f_cronAnacron remove
f__info "$GREEN$script est supprimé du système.\n"
}
# install plugin dans config user mozilla
# install plugin dans config user mozilla, $1 = test|_autres_
f_install(){
if f_root ; then f_error "vous ne pouvez pas installer le plugin en tant que ROOT"; fi
# debian? sinon dehors / utile? /
if ! f_debian ; then f_error "désolé, vous n'utilisez pas Debian :( adieu o/"; fi
# information soft daube
f_avertissement
# architecture > $architecture (version release)
# architecture -> $architecture (version release)
if [ "$(dpkg --print-architecture)" = "amd64" ]; then architecture='x86_64'; else architecture='i386'; fi
# calcul $file, affichage version pendant l'install, calcul $url
file="flash_player_npapi_linux.$architecture.tar.gz"
if [ "$flashTest" == "yes" ]; then
# on change l'architecture pour test
if [ "$1" == "test" ]; then
# on change l'architecture pour la version test
if [ "$architecture" == "x86_64" ]; then architecture='linux64'; else architecture='linux32'; fi
f_info "installation FlashPlayer, version alternative de test"
verFlash="test"
f__info "installation FlashPlayer, version alternative de test"
url="https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/$architecture/"
else
f_versionFlash
f_info "installation FlashPlayer, version $verFlash"
if [ $verFlash == "na" ] || [ $verFlash == "" ]; then f_versionFlash; fi
f__info "installation FlashPlayer, version $verFlash"
url="https://fpdownload.adobe.com/get/flashplayer/pdc/$verFlash/"
fi
# dossier temporaire de travail, création
dirTemp="/tmp/$script/"
dirTemp="/tmp/$script-$RANDOM/"
mkdir -p "$dirTemp"
# chargement
wget -c --user-agent="$user_agent" -O "$dirTemp$file" "$url$file"
# chargement archive flashplayer
wget -c --user-agent="$user_agent" -O "$dirTemp""$file" "$url""$file"
# gestion erreur wget / à peaufiner? /
if [ "$?" != "0" ]; then
f_error "problème au chargement, connexion défaillante?" \
"Si persistance, merci de prévenir $projet" \
"$contact"
f__error "problème au chargement, connexion défaillante? réessayer" \
"Si persistance, merci de prévenir $projet" "$contact"
fi
# décompression archive téléchargée dans dossier de travail
tar -xaf "$dirTemp$file" -C "$dirTemp"
tar -xaf "$dirTemp""$file" -C "$dirTemp"
# création répertoire, copie de la biblio dans la config user mozilla et droits(utile?), on efface le temporaire
mkdir -p "/home/$USER/.mozilla/plugins"
cp "$dirTemp"libflashplayer.so "/home/$USER/.mozilla/plugins/"
# copie de la bibliothèque flash dans plugins/ user mozilla, effacement dir temporaire
cp -f "$dirTemp"libflashplayer.so "/home/$user_/.mozilla/plugins/"
rm -Rf "$dirTemp"
# marqueur version
if [ "$flashTest" == "yes" ]; then echo "flashTest" > /home/"$USER"/.mozilla/plugins/libflashplayer.version; else echo "$verFlash" > /home/"$USER"/.mozilla/plugins/libflashplayer.version; fi
# marqueur version et maj dans plugins/ user mozilla
if [ "$1" == "test" ]; then echo "flashTest" > /home/"$user_"/.mozilla/plugins/libflashplayer.version;
else echo "$verFlash" > /home/"$user_"/.mozilla/plugins/libflashplayer.version; fi
touch /home/"$user_"/.mozilla/plugins/libflashplayer.maj
# the end
f_info "$GREEN""FlashPlayer est installé.\n\t""$BLUE""Pour tester: http://get.adobe.com/flashplayer/about/"
# droits user si install par root
chown -R "$user_": /home/"$user_"/.mozilla/plugins
if [ "$2" != "upgrade" ]; then f__info "$GREEN""FlashPlayer $verFlash est installé pour $user_\n\t" \
"$BLUE""Pour tester: http://get.adobe.com/flashplayer/about/"; fi
}
# # suppression du plugin
# suppression du plugin
f_remove(){
if f_root ; then f_error "vous ne pouvez pas désinstaller le plugin en tant que ROOT"; fi
# 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 est désinstallé.\n"
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"
}
### traitements arguments =============================================
if [ "$#" -gt 1 ]; then cmd="help" && f_info "$RED trop d'arguments"
elif [ "$1" == "install" ]; then cmd="install"; flashTest='no'
elif [ "$1" == "remove" ]; then cmd="remove"
elif [ "$1" == "version" ]; then cmd="version"
elif [ "$1" == "test" ]; then cmd="install"; flashTest='yes'
elif [ "$1" == "sysremove" ]; then cmd="sysremove"
else cmd="help"
fi
### 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
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
#### désinstallation du script =========================================
if [ "$cmd" == "sysremove" ]; then f_sysremove; fi
#### help ==============================================================
if [ "$cmd" == "help" ]; then f_help; f_avertissement; fi
#### version en ligne ==================================================
if [ "$cmd" == "version" ]; then f_versionFlash; fi
#### installation ======================================================
if [ "$cmd" == "install" ]; then f_install; fi
#### désinstallation ===================================================
if [ "$cmd" == "remove" ]; then f_remove; fi
case "$1" in
"install" )
f_install "release" ;; # installation
"test" )
f_install "test" ;; # install version test
"remove" )
f_remove ;; # désinstallation
"version" )
f_versionFlash ;; # version en ligne & installée
"sysremove" )
f_sysremove ;; # désinstallation du script
"upgrade" )
f__syslogInfo "$script $version: upgrade"
if [ -e /home/"$user_"/.mozilla/plugins/libflashplayer.maj ]; then touch /home/"$user_"/.mozilla/plugins/libflashplayer.maj; fi
f_versionFlash
if [ "$uptodate" == "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
* )
f_help
f_avertissement
;; # affichage help par défaut
esac
exit 0