This commit is contained in:
kyodev 2017-07-17 13:38:04 +02:00
parent c50d8ffd94
commit c13d387e25
3 changed files with 122 additions and 165 deletions

View File

@ -1,11 +1,9 @@
# getFlashPlayer
**version 2.3.x**
**depuis la version 2.x, ce script se met à jour automatiquement, si possible, tous les 7 jours**
**voir: [dernière mise à jour manuelle du script](#mise-a-jour-du-script)
**la version 2.1 permet l'installation manuelle d'un plugin téléchargé manuellement**
**la version 2.1 permet l'installation manuelle d'une archive de plugin téléchargée manuellement**
**voir: [installation manuelle](#installation-manuelle)**
## installation raccourci:
@ -25,15 +23,11 @@ chmod +x getFlashPlayer
## installation du script
en **root**, pour la première installation:
en **root**, pour l'installation:
```shell
./getFlashPlayer
exit
```
le script est dans le système, prêt à gérer l'installation du plugin Flash et ses mises à jour
**le plugin n'est pas encore installé**
```text
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
@ -42,13 +36,15 @@ le script est dans le système, prêt à gérer l'installation du plugin Flash e
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.3.0 - 16/07/2017
pour Firefox sur Debian, version 2.4.0 - 17/07/2017
getFlashPlayer installé dans le système.
maintenant, appel du script par: getFlashPlayer (sans ./)
getFlashPlayer installé dans le système.
maintenant, appel du script par: getFlashPlayer (sans ./)
```
* 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 maintenant dans le système (_/opt/bin/getFlashPlayer_ avec un lien
(_/usr/local/bin/getFlashPlayer_) et tout utilisateur peut s'en servir.
**le plugin n'est pas encore installé**
* le script est inscrit dans la crontab utilisateur, une mise à jour du plugin et du script 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é**.
@ -66,11 +62,12 @@ su
wget https://framagit.org/kyodev/kyopages/raw/master/scripts/getFlashPlayer \
&& chmod +x getFlashPlayer && ./getFlashPlayer
```
à partir de la version 2.x, les mises à jour, automatiques ou manuelles peuvent se faire en _utilisateur_
## help
lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlashPlayer help`
```text
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
@ -79,7 +76,7 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.3.1 - 17/07/2017
pour Firefox sur Debian, version 2.4.0 - 17/07/2017
-----------------------------------------------------------------------
./getFlashPlayer : installation du script dans le système, en ROOT
@ -95,37 +92,23 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
getFlashPlayer sysremove : désinstall du script du système, en ROOT
-----------------------------------------------------------------------
Ce script doit être exécuté avec les droits root uniquement pour
la première installation et la suppression du script dans le système.
la installation et la suppression du script dans le système.
Il désinstallera le paquet flashplugin-nonfree si présent.
Seul le plugin sera installé, en tant que plugin Mozilla Firefox.
Ce script devrait fonctionner sur Ubuntu.
-----------------------------------------------------------------------
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...
sans que l'éditeur fasse beaucoup d'efforts pour corriger cela...
Il sera bloqué à plus ou moins court terme pas les navigateurs majeurs,
c'est à dire Firefox et Chrom(ium). Préparez vous à cela...
```
## installation plugin
`getFlashPlayer 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
* 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
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
@ -134,32 +117,41 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.3.1 - 17/07/2017
pour Firefox sur Debian, version 2.4.0 - 17/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,
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...
sans que l'éditeur fasse beaucoup d'efforts pour corriger cela...
Il sera 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.137
version FlashPlayer en ligne: 26.0.0.137
FlashPlayer non installé
installation FlashPlayer, version 26.0.0.137
FlashPlayer non installé
/tmp/getFlashPlayer-3664/flash_pla 100%[======================================>] 8,10M 5,20MB/s in 1,6s
installation FlashPlayer, version 26.0.0.137
/tmp/getFlashPlayer-14251/flash_pl 100%[======================================>] 8,10M 5,04MB/s in 1,6s
FlashPlayer 26.0.0.137 installé ou mis à jour pour kyodev
Pour tester: http://get.adobe.com/flashplayer/about/
FlashPlayer 26.0.0.137 installé ou mis à jour pour kyodev
Pour tester: http://get.adobe.com/flashplayer/about/
```
* 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
* en cas de soucis, vérifier dans `Outils/Modules complémentaires/plugins`: _shockwave flash_ doit être **activé**
* le téléchargement et le mise à jour sont forcés,
à la différence de [_getFlashPlayer install_](#mise-a-jour), où le chargement et l'installation ne sont faits
que si nouvelle version
## installation manuelle
* [charger manuellement](https://get.adobe.com/fr/flashplayer/) Flashplayer en choisissant une
@ -175,10 +167,9 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.3.1 - 17/07/2017
pour Firefox sur Debian, version 2.4.0 - 17/07/2017
installation manuelle flash_player_npapi_linux.x86_64.tar.gz
installation manuelle flash_player_npapi_linux.i386.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,
@ -190,8 +181,8 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
majeurs, c'est à dire Firefox et Chrom(ium). Préparez vous à cela...
FlashPlayer 26.0.0.137 installé ou mis à jour pour kyodev
Pour tester: http://get.adobe.com/flashplayer/about/
FlashPlayer 26.0.0.137 installé ou mis à jour pour kyodev
Pour tester: http://get.adobe.com/flashplayer/about/
```
@ -206,8 +197,7 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.3.1 - 17/07/2017
pour Firefox sur Debian, version 2.4.0 - 17/07/2017
FlashPlayer 26.0.0.137 désinstallé pour kyodev
```
@ -228,16 +218,13 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.3.0 - 16/07/2017
pour Firefox sur Debian, version 2.4.0b7 - 17/07/2017
version FlashPlayer en ligne: 26.0.0.137
version FlashPlayer en ligne: 26.0.0.137
FlashPlayer à jour
version FlashPlayer installée: 26.0.0.131 , mise à jour possible
version script en ligne: 2.3.1, mise à jour possible
version script en ligne: 2.3.1, mise à jour possible
```
* affiche la version en ligne de FlashPlayer
@ -247,13 +234,6 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
## mise à jour
* mise à jour du script si une nouvelle version est disponible en ligne
* mise à jour du plugin si une nouvelle version est disponible en ligne
* à la différence de [_getFlashPlayer install_](#installation-plugin) 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
d'utilité à être lancée manuellement
`getFlashPlayer upgrade`
```text
_ _____ _ _ ____ _
@ -263,40 +243,26 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.3.1 - 17/07/2017
pour Firefox sur Debian, version 2.4.0 - 17/07/2017
version FlashPlayer en ligne: 26.0.0.137
version FlashPlayer installée: 26.0.0.131, mise à jour possible
installation FlashPlayer, version 26.0.0.137
/tmp/getFlashPlayer-6973/flash_pla 100%[======================================>] 8,10M 5,42MB/s in 1,5s
/tmp/getFlashPlayer-6892/flash_pla 100%[======================================>] 8,10M 5,42MB/s in 1,5s
FlashPlayer 26.0.0.137 installé ou mis à jour pour kyodev
Pour tester: http://get.adobe.com/flashplayer/about/
```
pas de mise à jour disponible:
```text
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
/ _' |/ _ \ __| |_ | |/ _' / __| '_ \| |_) | |/ _' | | | |/ _ \ '__|
| (_| | __/ |_| _| | | (_| \__ \ | | | __/| | (_| | |_| | __/ |
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.0.1 - 12/07/2017
version FlashPlayer en ligne: 26.0.0.131
FlashPlayer à jour
FlashPlayer non mis à jour pour kyodev
```
* mise à jour du script si une nouvelle version est disponible en ligne
* mise à jour du plugin si une nouvelle version est disponible en ligne
* à la différence de [_getFlashPlayer install_](#installation-plugin) 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
d'utilité à être lancée manuellement
## tâche planifiée
@ -309,29 +275,18 @@ pas de mise à jour disponible:
* _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`
```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 26 15:00:01 NB11 kyodev[16614]: getFlashPlayer 1.0.0: upgrade
Jun 26 15:00:03 NB11 kyodev[16623]: FlashPlayer non mis à jour pour kyodev
```
## date d'installation du plugin
pour vérifier la date où la dernière version du plugin a été installé ou mise à jour
pour vérifier la date où la dernière version du plugin a été installée ou mise à jour
`date -r ~/.mozilla/plugins/libflashplayer.version`
```text
lundi 19 juin 2017, 15:00:02 (UTC+0200)
```
## supprimer le script sur le système
en **root**: `getFlashPlayer sysremove`
en **root**:
`getFlashPlayer sysremove`
```text
_ _____ _ _ ____ _
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
@ -340,9 +295,9 @@ en **root**: `getFlashPlayer sysremove`
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|___/ |___/
pour Firefox sur Debian, version 2.3.1 - 17/07/2017
pour Firefox sur Debian, version 2.4.0 - 17/07/2017
getFlashPlayer supprimé du système.
getFlashPlayer supprimé du système.
```
* effacement du script dans le système (_/opt/bin_)

View File

@ -1,6 +1,6 @@
#!/bin/bash
version=2.3.1
version=2.4.0
date="17/07/2017"
projet="Kyodev"
contact="https://framagit.org/kyodev/kyopages/issues"
@ -17,7 +17,7 @@ user_agent="Mozilla/5.0 (X11; Linux $(uname -m); rv:54.0) Gecko/20100101 Firefox
PATH='/bin:/usr/bin' ; IFS=' '
#### définition couleurs -----------------------------------------------
YELLOW=`printf "\033[0;33m"` # ?
YELLOW=`printf "\033[0;33m"` # divers
GREEN=`printf "\033[0;32m"` # ok
BLUE=`printf "\033[0;34m"` # info
COLOR=`printf "\033[0m"` # standard
@ -45,33 +45,29 @@ echo -e "$YELLOW pour Firefox sur Debian, version $version - $date\n$COLOR
f__user(){
# 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
ls "/home/$user_" &>/dev/null || f__error "répertoire /home/$user_ INEXISTANT"
else
f__error "user indéterminé" ",lancer le script avec:\n\tUSER_INSTALL=user $0"
f__error "user indéterminé" " lancer le script avec:\n\tUSER_INSTALL=user $0"
fi
}
# test cnx réseau et résolution, return 0 si ok else 1
f__cnxTest(){
ping -c 1 free.fr &>/dev/null || return 1
wget -q --tries=1 --timeout=15 --user-agent="$user_agent" -O /dev/null "free.fr" || return 1
}
# sortie sur erreur
# sortie sur erreur, log $1 si upgrade
f__error() { #affichage $1 en rouge, $1++ optionnels en bleu, sortie du script, log $1 si upgrade
echo -e "\n$RED Erreur critique: $1 $COLOR"
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
echo "$COLOR"
if [ "$opType" == "upgrade" ]; then logger --id -p user.err "$script $version: <erreur> $1"; fi
exit 1
@ -79,19 +75,32 @@ f__error() { #affichage $1 en rouge, $1++ optionnels en bleu, sortie du script,
# affichage information, log $1 si upgrade
f__info() { # tous les paramètres en ligne en couleur bleue, accepte \n, ligne vide à la fin
echo -e "\n $BLUE $@ $COLOR\n"
for (( i=1 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
echo "$COLOR"
if [ "$opType" == "upgrade" ]; then logger --id -p user.info "$1"; fi
}
#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
[ -z "$testDepends" ] || f__error "Paquets manquants" " Contacter administrateur pour disposer de ces commendes"
}
# root? return 0 si root else 1
f__root(){
if [ $EUID == 0 ]; then return 0; else return 1; fi
}
# test wget, $1 url à tester
# test wget, $1 url à tester, retourne url testée & entêtes
f__testWget(){
echo " $1"
wget -Sq --tries=1 --no-check-certificate --user-agent="$user_agent" -O /dev/null "$1"
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."
}
# test validité archive, $1 fichier (gzip), return 1 si invalide
@ -109,7 +118,6 @@ fscript_install(){
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"
@ -117,32 +125,29 @@ fscript_install(){
ln -s /opt/bin/"$script" /usr/local/bin/"$script" &>/dev/null
# cron/anacron install
fscript_cronAnacron install
else # installation/mise à jour manuelle
else # mise à jour
chmod a+wx "$(basename $0)"
cp -d "$(basename $0)" /opt/bin/"$script"
fi
[ -f "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev)
f__info "$GREEN$script installé dans le système.\n$BLUE maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
f__info "$GREEN$script installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
exit 0
}
# suppression du script dans le système
fscript_remove(){
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
unlink /usr/local/bin/"$script" &>/dev/null
# cron/anacron install
fscript_cronAnacron remove
f__info "$GREEN$script supprimé du système.\n"
f__info "$GREEN$script supprimé du système."
}
# version script en ligne, assigne $versionScript, $uptd_script=""|ko,
fscript_version(){
versionScript="$(wget -q -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
versionScript="$(wget -q --tries=2 --timeout=15 --user-agent="$user_agent" -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"
@ -154,11 +159,13 @@ fscript_dl(){
if [ "$uptd_script" != "ko" ]; then return 0; fi
dirTemp="/tmp/$script-$RANDOM/"
mkdir -p "$dirTemp"
wget -q -O "$dirTemp$script" "$urlScript" && chmod +x "$script"
wget -q --show-progress --tries=1 --timeout=15 --user-agent="$user_agent" -O "$dirTemp$script" "$urlScript" && chmod +x "$script"
if [ "$?" != "0" ]; then f__testWget "$urlScript"; fi
cp -d "$dirTemp$script" /opt/bin/"$script"
rm "$dirTemp$script"
f__info "$script mis à jour en version $versionScript"
echo ""; f__info "$script mis à jour en version $versionScript"
$0 upgrade
exit
}
#inscription dans tache upgrade en cron hebdomadaire, une partie requiert root
@ -189,17 +196,17 @@ esac
fflash_version(){
urlOnline="https://get.adobe.com/flashplayer/"
if ! f__cnxTest; then f__error "pas de connexion internet"; fi
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"
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"
if [ "$?" != "0" ]; then f__testWget "$urlOnline"; fi
verInstall="$(cat /home/"$user_"/.mozilla/plugins/libflashplayer.version 2>/dev/null)" || verInstall=""
verInstall="$(cat /home/"$user_"/.mozilla/plugins/libflashplayer.version 2>/dev/null)"
uptd_plug=""
if [ $verFlash == "na" ]; then f__error "version FlashPlayer non accessible";
else f__info "version FlashPlayer en ligne: $verFlash"; fi
if [ "$verInstall" == "" ]; then f__info "FlashPlayer non installé"; return 0; fi
if [ "$verInstall" == "$verFlash" ]; then f__info "FlashPlayer à jour";
else
f__info "version FlashPlayer installée: $verInstall" ", mise à jour possible"
f__info "version FlashPlayer installée: $verInstall, mise à jour possible"
uptd_plug="ko"
fi
}
@ -211,10 +218,9 @@ cat << 'EOF'
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...
sans que l'éditeur fasse beaucoup d'efforts pour corriger cela...
Il sera bloqué à plus ou moins court terme pas les navigateurs majeurs,
c'est à dire Firefox et Chrom(ium). Préparez vous à cela...
EOF
}
@ -239,33 +245,28 @@ EOF
printf $COLOR; cat << 'EOF'
-----------------------------------------------------------------------
Ce script doit être exécuté avec les droits root uniquement pour
la première installation et la suppression du script dans le système.
l'installation et la suppression du script dans le système.
Il désinstallera le paquet flashplugin-nonfree si présent.
Seul le plugin sera installé, en tant que plugin Mozilla Firefox.
Ce script devrait fonctionner sur Ubuntu.
-----------------------------------------------------------------------
EOF
printf $COLOR
}
# calcul url téléchargement plugin, $1=v1 pour version 1 url, assigne $recup_url,
fflash_detect_url(){
if [ "$1" == "v1" ]; then
# calcul url téléchargement plugin, assigne $recup_url,
fflash_detect_url_v1(){
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
}
fflash_detect_url_v2(){
#v2 07/2017 nouveau, mais pas exploitable avec wget ou curl, pour l'avenir?
recup="$(wget --tries=2 --timeout=15 --user-agent="$user_agent" -qO - "$urlOnline" | grep -o '#buttonDownload.*(\.tar\.gz).*$')"
recup="$(wget -q --tries=2 --timeout=15 --user-agent="$user_agent" -O - "$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 manuel (install manuelle), # $2 script à installer si install manuelle
@ -278,21 +279,17 @@ fflash_install(){
else
file="flash_player_npapi_linux.$(getconf LONG_BIT).tar.gz"
# calcul $file, affichage version pendant l'install
if [ $verFlash == "na" ] || [ $verFlash == "" ]; then fflash_version; fi
if [ $verFlash == "na" ]; then fflash_version; fi
f__info "installation FlashPlayer, version $verFlash"
# dossier temporaire de travail, création
dirTemp="/tmp/$script-$RANDOM/"
mkdir -p "$dirTemp"
# 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
f__testWget "$recup_url"
f__error "Erreur wget" "\n réessayer et si persistance, contacter $projet $contact\n en indiquant les erreurs précédentes."
fi
# détection/chargement/test archive plugin flashplayer
fflash_detect_url_v1
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
f__testArchive "$dirTemp$file" || f__error " Le fichier $dirTemp$file n'est pas une archive tar.gz valide"
fi
@ -313,7 +310,7 @@ fflash_install(){
# droits user si jamais installation par root
chown -R "$user_": "/home/$user_/.mozilla/plugins"
f__info "FlashPlayer $verFlash installé ou mis à jour pour $user_" "\n\tPour tester: http://get.adobe.com/flashplayer/about/"
echo ""; f__info "FlashPlayer $verFlash installé ou mis à jour pour $user_" "\tPour tester: http://get.adobe.com/flashplayer/about/"
}
# test et mise à jour plugin si plugin outdated
@ -329,7 +326,7 @@ fflash_remove(){
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 "FlashPlayer $verFlashRemove désinstallé pour $user_\n"
f__info "$GREEN FlashPlayer $verFlashRemove désinstallé pour $user_"
}
# installation du plugin chargé manuellement, $1
@ -345,13 +342,14 @@ fflash_manuelInstall(){
#initialisation
f__user
verFlash="na"
f__requis "wget" "logger" "file"
# installation du script si pas dans le système
dirname "$0" | grep 'bin' &>/dev/null || fscript_install
case "$1" in
"install" )
fflash_install "install";; # installation plugin
fflash_install;; # installation plugin
"remove" )
fflash_remove ;; # désinstallation plugin
"version" )
@ -368,7 +366,8 @@ case "$1" in
"manuel" )
fflash_manuelInstall "$2" ;; # install manuelle d'un chargement
* )
fflash_help; fflash_avert ;; # affichage help par défaut
fflash_help
fflash_avert ;; # affichage help par défaut
esac
exit 0

View File

@ -1,10 +1,13 @@
# changelog getFlashPlayer
## todo
## 2.4.0 17/07/2017
* dépendances: wget, ...?
* réviser wget et timeout
* mieux, multi linux: test dépendances
* mieux, multi linux: test cnx
* révision extraction version flash
* révision procédure maj script
* révision wgets
## 2.3.1 17/07/2017
@ -15,7 +18,7 @@
* 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, multi linux: détection dpkg avant purge flashplugin-nonfree éventuel
* mieux: gestion syslog
## 2.2.1 14/07/2017