From c13d387e255f4563c5fbbda1ac5f8138f6b21988 Mon Sep 17 00:00:00 2001 From: kyodev Date: Mon, 17 Jul 2017 13:38:04 +0200 Subject: [PATCH] 2.4.0 --- docs/scripts/getFlashPlayer.md | 167 ++++++++++------------------ scripts/getFlashPlayer | 109 +++++++++--------- scripts/getFlashPlayer_changelog.md | 11 +- 3 files changed, 122 insertions(+), 165 deletions(-) diff --git a/docs/scripts/getFlashPlayer.md b/docs/scripts/getFlashPlayer.md index 2b58e17..7997308 100644 --- a/docs/scripts/getFlashPlayer.md +++ b/docs/scripts/getFlashPlayer.md @@ -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_) diff --git a/scripts/getFlashPlayer b/scripts/getFlashPlayer index 02f5135..b2309aa 100755 --- a/scripts/getFlashPlayer +++ b/scripts/getFlashPlayer @@ -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: $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 diff --git a/scripts/getFlashPlayer_changelog.md b/scripts/getFlashPlayer_changelog.md index e770106..55b957c 100644 --- a/scripts/getFlashPlayer_changelog.md +++ b/scripts/getFlashPlayer_changelog.md @@ -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