diff --git a/docs/scripts/getFlashPlayer.md b/docs/scripts/getFlashPlayer.md index 3395823..5167af9 100644 --- a/docs/scripts/getFlashPlayer.md +++ b/docs/scripts/getFlashPlayer.md @@ -2,13 +2,11 @@ **version 2.1.x** -**adobe a changé ses liens de chargement et augmenté sa protection anti-chargement direct** -**si vous installez ce script, flashplayer ne sera pas installé ni mis à jour automatiquement** **depuis la version 2.x, ce script se met à jour automatiquement, si possible, tous les 7 jours** -**si un contournement est trouvé le fonctionnement redeviendra normal** +**voir: [mise a](#mise-à-jour-du-script] **la version 2.1 permet l'installation manuelle d'un plugin téléchargé manuellement** -**[installation manuelle](#installation-manuelle)** +**voir: [dernière maj manuelle du script](#installation-manuelle)** ## installation raccourci: @@ -44,7 +42,7 @@ le script est dans le système, prêt à gérer l'installation du plugin Flash e \__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_| |___/ |___/ - pour Firefox sur Debian, version 2.1.0 - 13/07/2017 + pour Firefox sur Debian, version 2.3.0 - 16/07/2017 getFlashPlayer est installé dans le système. maintenant, appel du script par: getFlashPlayer (sans ./) @@ -136,7 +134,7 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas \__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_| |___/ |___/ - pour Firefox sur Debian, version 2.0.1 - 12/07/2017 + pour Firefox sur Debian, version 2.3.0 - 16/07/2017 FlashPlayer n'est pas libre, c'est un programme propriétaire dont on ne peut pas connaître le code source, ni l'utiliser sans conditions, @@ -147,24 +145,25 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas Il sera donc bloqué à plus ou moins court terme pas les navigateurs majeurs, c'est à dire Firefox et Chrom(ium). Préparez vous à cela... - version FlashPlayer en ligne: 26.0.0.131 + version FlashPlayer en ligne: 26.0.0.137 - installation FlashPlayer, version 26.0.0.131 + FlashPlayer non installé -/tmp/getFlashPlayer-13385/fla 100%[================================================>] 8,10M 4,04MB/s in 2,0s -2017-06-18 15:34:01 (4,04 MB/s) — « /tmp/getFlashPlayer-13385/flashplayer_npapi_linux.i386.tar.gz » sauvegardé [8490534/8490534] + installation FlashPlayer, version 26.0.0.137 - FlashPlayer 26.0.0.131 est installé pour kyodev - Pour tester: http://get.adobe.com/flashplayer/about/ +/tmp/getFlashPlayer-28254/flash_p 100%[=================================>] 8,10M 5,12MB/s in 1,6s + + FlashPlayer 26.0.0.137 installé pour kyodev + Pour tester: http://get.adobe.com/flashplayer/about/ ``` ## installation manuelle * [charger manuellement](https://get.adobe.com/fr/flashplayer/) Flashplayer en choisissant une - archive linux tar.gz + archive linux tar.gz ou installer une archive tar.gz disponible hors-ligne * lancer l'installation habituelle, avec: -`getFlashPlayer manuel flash_player_npapi_linux.xxxxx.tar.gz` +`getFlashPlayer manuel flash_player_npapi_linux.x86_64.tar.gz` ```text _ _____ _ _ ____ _ __ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __ @@ -175,7 +174,7 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas pour Firefox sur Debian, version 2.1.0 - 13/07/2017 - installation manuelle flash_player_npapi_linux.i386.tar.gz + installation manuelle flash_player_npapi_linux.x86_64.tar.gz FlashPlayer n'est pas libre, c'est un programme propriétaire dont on ne peut pas connaître le code source, ni l'utiliser sans conditions, @@ -202,14 +201,13 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas \__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_| |___/ |___/ - pour Firefox sur Debian, version 2.0.1 - 12/07/2017 + pour Firefox sur Debian, version 2.3.0 - 16/07/2017 - FlashPlayer version 26.0.0.131 désinstallé pour kyodev -``` + FlashPlayer 26.0.0.137 désinstallé pour kyodev + ``` * le plugin est effacé du profil Mozilla de l'utilisateur * lancer le script pour chaque utilisateur ayant installé le plugin - * si le répertoire _plugins/_ est vide, il sera effacé * cela **ne supprime pas le script** _getFlashPlayer_ du système @@ -224,13 +222,13 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas \__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_| |___/ |___/ - pour Firefox sur Debian, version 2.0.0 - 12/07/2017 + pour Firefox sur Debian, version 2.2.0 - 14/07/2017 - version FlashPlayer en ligne: 26.0.0.131 + version FlashPlayer en ligne: 26.0.0.137 - version FlashPlayer installée: 26.0.0.121, mise à jour possible + version FlashPlayer installée: 26.0.0.131, mise à jour possible - version script en ligne: 2.0.1, mise à jour possible + version script en ligne: 2.3.0, mise à jour possible ``` * affiche la version en ligne de FlashPlayer @@ -256,22 +254,20 @@ lancer le script sans arguments: `getFlashPlayer` ou avec l'option help `getFlas \__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_| |___/ |___/ - pour Firefox sur Debian, version 2.0.2 - 12/07/2017 + pour Firefox sur Debian, version 2.3.0 - 16/07/2017 - version script en ligne: 2.0.1, mise à jour possible + version script en ligne: 2.2.0 - getFlashPlayer mis à jour en version 2.0.1 + version FlashPlayer en ligne: 26.0.0.137 - version FlashPlayer en ligne: 26.0.0.131 + version FlashPlayer installée: 26.0.0.131, mise à jour possible - version FlashPlayer installée: 26.0.0.121, mise à jour possible + installation FlashPlayer, version 26.0.0.137 - installation FlashPlayer, version 26.0.0.131 +/tmp/getFlashPlayer-28058/fla 100%[=====================================>] 8,10M 3,93MB/s in 2,1s -/tmp/getFlashPlayer-28058/fla 100%[================================================>] 8,10M 3,93MB/s in 2,1s -2017-07-12 10:54:35 (3,93 MB/s) — « /tmp/getFlashPlayer-28058/flashplayer_npapi_linux.i386.tar.gz » sauvegardé [8490534/8490534] - - FlashPlayer mis à jour en 26.0.0.131 pour kyodev + FlashPlayer 26.0.0.137 installé pour kyodev + Pour tester: http://get.adobe.com/flashplayer/about/ ``` pas de mise à jour disponible: @@ -344,13 +340,13 @@ en **root**: `getFlashPlayer sysremove` \__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_| |___/ |___/ - pour Firefox sur Debian, version 2.0.0 - 12/07/2017 + pour Firefox sur Debian, version 2.3.0 - 16/07/2017 getFlashPlayer est supprimé du système. ``` * effacement du script dans le système (_/opt/bin_) - * effacement de l'inscription dans la crontab utilisateur + * effacement de l'inscription dans crontab/anacron utilisateur * cela ne **supprime pas** un éventuel **plugin** installé diff --git a/scripts/getFlashPlayer b/scripts/getFlashPlayer index 41b2a35..426b35a 100755 --- a/scripts/getFlashPlayer +++ b/scripts/getFlashPlayer @@ -1,7 +1,7 @@ #!/bin/bash -version=2.2.2 -date="14/07/2017" +version=2.3.0 +date="16/07/2017" projet="Kyodev" contact="https://framagit.org/kyodev/kyopages/issues" script="getFlashPlayer" @@ -10,7 +10,7 @@ user_agent="Mozilla/5.0 (X11; Linux $(uname -m); rv:54.0) Gecko/20100101 Firefox ##### license LPRAB/WTFPL # auteurs: kyodev -# contibuteur: coyotus +# contibuteur: coyotus, naguam # idée: naguam ##### @@ -63,9 +63,9 @@ f__user(){ fi } - # test cnx réseau et résolution adobe.com, return 0 si ok else 1 + # test cnx réseau et résolution, return 0 si ok else 1 f__cnxTest(){ - ping -c 1 adobe.com &>/dev/null || return 1 + ping -c 1 free.fr &>/dev/null || return 1 } # sortie sur erreur @@ -73,24 +73,19 @@ f__error() { # affichage paramètre 1 en rouge pour le premier, les suivants op echo -e "\n$RED Erreur critique: $1 $COLOR" for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done echo "$COLOR" - logger --id -p user.err "$script $version: $*" + if [ "$opType" == "upgrade" ]; then logger --id -p user.err "$script $version: $*"; fi exit 1 } # affichage information f__info() { # tous les paramètres en ligne en couleur bleue, accepte \n, ligne vide à la fin - echo -e " $BLUE $@ $COLOR\n" -} - - # syslog & affichage information -f__syslogInfo() { # inscription syslog $1, en user.info & f__info $1 - logger --id -p user.info "$1" - f__info "$1" + if [ "$opType" == "upgrade" ]; then logger --id -p user.info "$@"; + else echo -e " $BLUE $@ $COLOR\n"; fi } # root? return 0 si root else 1 f__root(){ - if [ $EUID -eq 0 ]; then return 0; else return 1; fi + if [ $EUID == 0 ]; then return 0; else return 1; fi } # test wget, $1 url à tester @@ -108,11 +103,14 @@ f__testArchive(){ # install du script dans le système fscript_install(){ - if [ ! -w /opt/bin/getFlashPlayer ]; then # script inexistant ou inaccessible en écriture, root requis - if ! f__root ; then f__error "vous devez être ROOT pour installer ce script dans le système"; fi - # on vire 'flashplugin-nonfree' si installé - dpkg --get-selections | grep '^flashplugin-nonfree[[:space:]]' &>/dev/null && apt-get purge flashplugin-nonfree - # installation dans /opt + # si script inexistant ou inaccessible en écriture, ou si cronAnacron non installé: root requis + if [ ! -w /opt/bin/getFlashPlayer ] || [ ! -e "/home/$user_/.mozilla/plugins/libflashplayer.anacrontab" ]; then + f__root || f__error "vous devez être ROOT pour installer ce script dans le système" + if [ "$(which dpkg)" ]; then + # on vire 'flashplugin-nonfree' si installé et dpkg possible (debian) + dpkg --get-selections | grep '^flashplugin-nonfree[[:space:]]' &>/dev/null && apt-get purge flashplugin-nonfree + # installation dans /opt + fi mkdir -p /opt/bin/ cp -d "$(basename $0)" /opt/bin/"$script" chmod a+wx /opt/bin/"$script" @@ -130,7 +128,7 @@ fscript_install(){ # suppression du script dans le système fscript_remove(){ - if ! f__root ; then f__error "vous devez être ROOT pour supprimer ce script dans le système"; fi + f__root || f__error "vous devez être ROOT pour supprimer ce script dans le système" # suppression de /opt rm /opt/bin/"$script" &>/dev/null @@ -160,7 +158,7 @@ fscript_dl(){ if [ "$?" != "0" ]; then f__testWget "$urlScript"; fi cp -d "$dirTemp$script" /opt/bin/"$script" rm "$dirTemp$script" - f__syslogInfo "$script mis à jour en version $versionScript" + f__info "$script mis à jour en version $versionScript" } #inscription dans tache upgrade en cron hebdomadaire, une partie requiert root @@ -171,20 +169,19 @@ case "$1" in mkdir -p "/home/$user_/.mozilla/plugins" chown "$user_": "/home/$user_/.mozilla/plugins" # table anacron -echo "7 15 getFP nice /opt/bin/$script upgrade &>/dev/null" > /home/"$user_"/.mozilla/plugins/libflashplayer.anacrontab - ## test: anacron journalier: echo "1 05 getFPtest nice /opt/bin/$script upgrade &>/dev/null" >> /home/"$user_"/.mozilla/plugins/libflashplayer.anacrontab -chown "$user_": /home/"$user_"/.mozilla/plugins/libflashplayer.anacrontab +echo "7 15 getFP nice /opt/bin/$script upgrade &>/dev/null" > "/home/$user_/.mozilla/plugins/libflashplayer.anacrontab" + ## test: anacron journalier: echo "1 05 getFPtest nice /opt/bin/$script upgrade &>/dev/null" >> "/home/$user_/.mozilla/plugins/libflashplayer.anacrontab" +chown "$user_": "/home/$user_/.mozilla/plugins/libflashplayer.anacrontab" # création spool anacron utilisateur -mkdir -p /home/"$user_"/.config/anacron/spool -chown "$user_": /home/"$user_"/.config/anacron/spool +mkdir -p "/home/$user_/.config/anacron/spool" +chown "$user_": "/home/$user_/.config/anacron/spool" # cron tab pour activation horaire anancron -echo "@hourly $user_ /usr/sbin/anacron -t /home/"$user_"/.mozilla/plugins/libflashplayer.anacrontab -S /home/"$user_"/.config/anacron/spool" >> /etc/crontab +echo "@hourly $user_ /usr/sbin/anacron -t /home/$user_/.mozilla/plugins/libflashplayer.anacrontab -S /home/$user_/.config/anacron/spool" >> /etc/crontab ;; - "remove" ) -rm /home/"$user_"/.config/anacron/spool/getFP +[ -e /home/"$user_"/.config/anacron/spool/getFP ] && rm /home/"$user_"/.config/anacron/spool/getFP sed -i "\;^\@hourly.*libflashplayer.anacrontab.*$;d" /etc/crontab - ;; # désinstallation + ;; esac } @@ -252,27 +249,36 @@ EOF printf $COLOR } - # calcul url téléchargement plugin + # calcul url téléchargement plugin, $1=v1 pour version 1 url, assigne $recup_url, fflash_detect_url(){ - #v2 07/2017 -recup="$(wget --tries=2 --timeout=15 --user-agent="$user_agent" -qO - "$urlOnline" | grep -o '#buttonDownload.*(\.tar\.gz).*$')" -recup1="$(echo $recup | sed 's/.*\(download.*Linux_\).*/\1/')" -recup2="$(echo $test | sed 's/.*\(-bit.*standalone=1\).*/\1/')" -recup_url="$urlOnline$recup1$(getconf LONG_BIT)$recup2" -#https://get.adobe.com/fr/flashplayer/download/?installer=FP_26.0_for_Linux_32-bit_(.tar.gz)_-_NPAPI&sType=6627&standalone=1 + +if [ "$1" == "v1" ]; then + recup1="https://fpdownload.adobe.com/get/flashplayer/pdc/" + if [ "$(uname -m)" == "i686" ] || [ "$(uname -m)" == "i386" ]; then recup2='i386'; + elif [ "$(uname -m)" == "x86_64" ] || [ "$(uname -m)" == "amd64" ]; then recup2='x86_64'; + else f__error "architecture non reconnue" ; fi + recup_url="$recup1$verFlash/flash_player_npapi_linux.$recup2.tar.gz" +# https://fpdownload.adobe.com/get/flashplayer/pdc/26.0.0.137/flash_player_npapi_linux.i386.tar.gz +else + #v2 07/2017 + recup="$(wget --tries=2 --timeout=15 --user-agent="$user_agent" -qO - "$urlOnline" | grep -o '#buttonDownload.*(\.tar\.gz).*$')" + recup1="$(echo $recup | sed 's/.*\(download.*Linux_\).*/\1/')" + recup2="$(echo $test | sed 's/.*\(-bit.*standalone=1\).*/\1/')" + recup_url="$urlOnline$recup1$(getconf LONG_BIT)$recup2" + #https://get.adobe.com/fr/flashplayer/download/?installer=FP_26.0_for_Linux_32-bit_(.tar.gz)_-_NPAPI&sType=6627&standalone=1 +fi } - # install plugin dans config user mozilla, $1 upgrade|manuel (maj|install manuelle) + # install plugin dans config user mozilla, $1 upgrade|manuel (maj|install manuelle), # $2 script à installer si install manuelle fflash_install(){ if [ $1 != "upgrade" ]; then fflash_avert; fi - if [ $1 == "manuel" ]; then file="$(basename $2)" dirTemp="$(dirname $2)/$script-$RANDOM/" mkdir -p "$dirTemp" else + file="flash_player_npapi_linux.$(getconf LONG_BIT).tar.gz" # calcul $file, affichage version pendant l'install - file="flashplayer_npapi_linux.$(getconf LONG_BIT).tar.gz" if [ $verFlash == "na" ] || [ $verFlash == "" ]; then fflash_version; fi f__info "installation FlashPlayer, version $verFlash" @@ -280,8 +286,8 @@ fflash_install(){ dirTemp="/tmp/$script-$RANDOM/" mkdir -p "$dirTemp" - # chargement archive plugin flashplayer - fflash_detect_url + # chargement/détection archive plugin flashplayer + fflash_detect_url "v1" wget -cq --show-progress --no-check-certificate --user-agent="$user_agent" --referer="$urlOnline" \ --tries=1 -O "$dirTemp$file" "$recup_url" if [ "$?" != "0" ]; then @@ -292,11 +298,13 @@ fflash_install(){ f__testArchive "$dirTemp$file" || f__error "\n Le fichier $dirTemp$file n'est pas une archive tar.gz valide" fi + mkdir -p "$dirTemp" # décompression archive téléchargée dans dossier de travail if [ -e "$file" ]; then tar -xaf "$file" -C "$dirTemp"; else tar -xaf "$dirTemp$file" -C "$dirTemp"; fi if [ $1 == "manuel" ]; then verFlash="$(strings $dirTemp/libflashplayer.so | grep -Eo '[0-9]+_[0-9]+_[0-9]+_[0-9]+' | sed 's/_/./g')"; fi # copie de la bibliothèque flash dans plugins/ user mozilla, effacement dir temporaire + mkdir -p "/home/$user_/.mozilla/plugins/" cp -f "$dirTemp"libflashplayer.so "/home/$user_/.mozilla/plugins/" rm -Rf "$dirTemp" @@ -307,10 +315,7 @@ fflash_install(){ # droits user si jamais install par root chown -R "$user_": /home/"$user_"/.mozilla/plugins - if [ $1 != "upgrade" ]; then - f__info "$GREEN""FlashPlayer $verFlash est installé pour $user_\n" \ - "\t$BLUE""Pour tester: http://get.adobe.com/flashplayer/about/" - fi + f__info "\n$GREEN FlashPlayer $verFlash installé pour $user_\n\t$BLUE Pour tester: http://get.adobe.com/flashplayer/about/" } # test et mise à jour plugin si dispo @@ -318,18 +323,19 @@ fflash_upgrade(){ if [ -e /home/"$user_"/.mozilla/plugins/libflashplayer.maj ]; then touch /home/"$user_"/.mozilla/plugins/libflashplayer.maj fi - if [ "$uptd_plug" == "ko" ]; then - fflash_install "upgrade" - f__syslogInfo "FlashPlayer mis à jour en $verFlash pour $user_" - else f__syslogInfo "FlashPlayer non mis à jour pour $user_"; fi + if [ "$uptd_plug" == "ko" ]; then fflash_install "upgrade"; #plugin pas uptodate + else f__info "FlashPlayer non mis à jour pour $user_"; fi } # suppression du plugin fflash_remove(){ - # on efface le plugin et le répertoire si vide - rm -f "/home/$user_/.mozilla/plugins/"libflashplayer.* - rm -d "/home/$user_/.mozilla/plugins/" &>/dev/null - f__info "$GREEN""FlashPlayer $version désinstallé pour $user_\n" + # on efface le plugin, mais la tache anacron le sera par script remove + [ -e /home/kyodev/.mozilla/plugins/libflashplayer.so ] || f__error "FlashPlayer déjà désinstallé pour $user_\n" + verFlashRemove="$(strings /home/$user_/.mozilla/plugins/libflashplayer.so | grep -Eo '[0-9]+_[0-9]+_[0-9]+_[0-9]+' | sed 's/_/./g')" + rm -f "/home/$user_/.mozilla/plugins/libflashplayer.maj" + rm -f "/home/$user_/.mozilla/plugins/libflashplayer.so" + rm -f "/home/$user_/.mozilla/plugins/libflashplayer.version" + f__info "$GREEN""FlashPlayer $verFlashRemove désinstallé pour $user_\n" } # installation du plugin chargé manuellement, $1 @@ -360,6 +366,7 @@ case "$1" in "sysremove" ) fscript_remove ;; # désinstallation du script "upgrade" ) + opType="upgrade" fscript_version fscript_dl fflash_version diff --git a/scripts/getFlashPlayer_changelog.md b/scripts/getFlashPlayer_changelog.md index 9662eb2..e4c3244 100644 --- a/scripts/getFlashPlayer_changelog.md +++ b/scripts/getFlashPlayer_changelog.md @@ -1,35 +1,48 @@ # changelog getFlashPlayer +## todo + +* dépendances: wget, ...? +* revoir affichage upgrade + +## 2.3.0 16/07/2017 + +* fix bug: erreur chargement retour à url v1 fonctionnant +* fix bug remove plugin: enlève tache anacron & mauvaise version affichée +* mieux: multiplateforme, détection dpkg avant purge flashplugin-nonfree éventuel +* mieux: gestion syslog + ## 2.2.1 14/07/2017 -* fix mineur -* déclaration PATH & IFS -* fix détection changement url -* BUG erreur chargement -> wget? +* fix mineurs +* mieux: déclaration PATH & IFS (sécu) +* fix: détection changement url +* fix mineur: user-agent +* BUG: erreur chargement -> wget? idem avec curl ## 2.2.0 14/07/2017 -* bug fix mauvaise détection paquet flashplugin-nonfree installé -* mieux installation script optimisée lors mise à jour -* mieux root plus nécessaire lors maj manuelle du script +* fix bug: mauvaise détection paquet flashplugin-nonfree installé +* mieux: installation script optimisée lors mise à jour +* mieux: root plus nécessaire lors maj manuelle du script ## 2.1.0 13/07/2017 -* nouveau installation d'une archive téléchargée manuellement -* mieux test validité archive téléchargée +* nouveau: installation d'une archive téléchargée manuellement +* mieux: test validité archive téléchargée ## 2.0.2 13/07/2017 * fix mineurs * renommage fonctions * fin nettoyage v-test -* fix bug test sur taille download -* fix bug test wget +* fix bug: test sur taille download +* fix bug: test wget ## 2.0.1 13/07/2017 -* fix mineur +* fix mineurs ## 2.0.0 13/07/2017 @@ -43,16 +56,16 @@ ## 1.1.0 12/07/2017 -* bug fix user non reconnu sous gnome -* nouveau contournement éventuel pour imposer un utilisateur où installer (ou si échec sous debian7?) +* fix bug: user non reconnu sous gnome +* nouveau: contournement éventuel pour imposer un utilisateur où installer (ou si échec sous debian7?) ## 1.0.2 02/07/2017 -* fix mineur renommage appel installation version de test: v-test (au lieu) de test +* fix bug mineur: renommage appel installation version de test: v-test (au lieu) de test ## 1.0.1 22/06/2017 -* fix mineur suppression lignes de test commentées +* fix bug mineur: suppression lignes de test commentées * fix typos ## 1.0.0 21/06/2017