diff --git a/docs/scripts/getFlashPlayer.md b/docs/scripts/getFlashPlayer.md index 71f1a1d..ecb8680 100644 --- a/docs/scripts/getFlashPlayer.md +++ b/docs/scripts/getFlashPlayer.md @@ -1,7 +1,13 @@ # getFlashPlayer -**version 1.1.x** +**version 2.0.x** +**adaube a changé ses liens de chargement et augmenté sa protection anti-chargement direct** +**si vous installez ce script, flashplayer ne sera pas installé ni mis à jour** +**cette version se met à jour automatiquement, si possible, tous les 7 jours, si un contournement** +**est trouvé le fonctionnement redeviendra normal** + +**une page sur l'installation manuelle de ce plugin arrive** ### installation script, raccourci rapide: @@ -40,7 +46,7 @@ exit \__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_| |___/ |___/ - pour Firefox sur Debian, version 1.1.0 - 12/07/2017 + pour Firefox sur Debian, version 2.2.0 - 12/07/2017 getFlashPlayer est installé dans le système. appel du script par getFlashPlayer (sans ./) @@ -66,7 +72,7 @@ lancer le script sans arguments: `getFlashPlayer` \__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_| |___/ |___/ - pour Firefox sur Debian, version 1.0.2 - 02/07/2017 + pour Firefox sur Debian, version 2.0.0 - 12/07/2017 ----------------------------------------------------------------------- ./getFlashPlayer : installation du script dans le système, en ROOT @@ -74,10 +80,7 @@ lancer le script sans arguments: `getFlashPlayer` getFlashPlayer install : téléchargement & installation & update Flash getFlashPlayer remove : désinstallation de FlashPlayer getFlashPlayer version : version en ligne de FlashPlayer - getFlashPlayer upgrade : MAJ si disponible et si version standard (non test) - utilisé par cron toutes les semaines - ---- - getFlashPlayer v-test : installation version de test de FlashPlayer + getFlashPlayer upgrade : MAJ si disponible, cron hebdomadaire ---- getFlashPlayer sysremove : désinstall du script du système, en ROOT ----------------------------------------------------------------------- @@ -169,9 +172,9 @@ Sauvegarde en : « /tmp/getFlashPlayer-13385/flashplayer_npapi_linux.i386.tar. ``` * le plugin est effacé du profil Mozilla de l'utilisateur - * lancer le script pour chaque utilisateur ayant ouvert la session + * lancer le script pour chaque utilisateur ayant installé le plugin * si le répertoire _plugins/_ est vide, il sera effacé - * cela ne supprime pas le script _getFlashPlayer_ du système + * cela **ne supprime pas le script** _getFlashPlayer_ du système ## version en ligne @@ -185,11 +188,13 @@ Sauvegarde en : « /tmp/getFlashPlayer-13385/flashplayer_npapi_linux.i386.tar. \__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_| |___/ |___/ - pour Firefox sur Debian, version 1.0.0 - 18/06/2017 + pour Firefox sur Debian, version 1.2.0 - 12/07/2017 - version FlashPlayer en ligne: 26.0.0.131 + version FlashPlayer en ligne: 26.0.0.137 - version installée: 26.0.0.121, mise à jour possible + version installée: 26.0.0.131, mise à jour possible + + version script en ligne: 2.0.0, mise à jour possible ``` * affiche la version en ligne de FlashPlayer * compare, si possible (version **release**) et installée, avec la version installée @@ -197,8 +202,7 @@ Sauvegarde en : « /tmp/getFlashPlayer-13385/flashplayer_npapi_linux.i386.tar. ## mise à jour - * mise à jour si une nouvelle version est disponible en ligne **et** si ce n'est pas la version de test - qui est installée + * mise à jour si une nouvelle version est disponible en ligne * à la différence de [_getFlashPlayer install_](#installation-version-release) un téléchargement et une installation **ne sont pas forcés**. il n'y aura téléchargement que si nouvelle version possible * cette tâche est exécutée périodiquement par cron/anachron toutes les semaines et n'a pas vraiment @@ -270,8 +274,8 @@ pas de mise à jour disponible: ## tâche planifiée * la mise à jour possible est testée toutes les **semaines*** -* si une nouvelle version existe, le téléchargement est initié et l'installation du plugin est faite -* pas de nouvelle version: pas de téléchargement +* si une nouvelle version du plugin flash existe, le téléchargement est initié et l'installation du plugin est faite +* pas de nouvelle version du plugin flash: pas de téléchargement * _anacron_ est utilisé, c'est à dire que la mise à jour sera testée, même lors d'arrêts du Pc dans le syslog: (en root) `cat /var/log/syslog | grep Flash` @@ -325,52 +329,6 @@ en **root**: `getFlashPlayer sysremove` * cela ne **supprime pas** un éventuel **plugin** installé -## installation version _test_ - -`getFlashPlayer v-test` -```text - _ _____ _ _ ____ _ - __ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __ - / _' |/ _ \ __| |_ | |/ _' / __| '_ \| |_) | |/ _' | | | |/ _ \ '__| - | (_| | __/ |_| _| | | (_| \__ \ | | | __/| | (_| | |_| | __/ | - \__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_| - |___/ |___/ - - pour Firefox sur Debian, version 1.0.0 - 18/06/2017 - - FlashPlayer n'est pas libre, c'est un programme propriétaire dont on - ne peut pas connaître le code source, ni l'utiliser sans conditions, - ni le distribuer librement. - Il souffre de nombreuses vulnérabilités chroniques, depuis des années - sans que l'éditeur fasse beaucoup d'efforts pour corriger cet état - de fait... - Il sera donc bloqué à plus ou moins court terme pas les navigateurs - majeurs, c'est à dire Firefox et Chrom(ium). Préparez vous à cela... - - installation FlashPlayer, version alternative de test - ---2017-06-19 11:33:36-- https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/linux32/flashplayer_npapi_linux.i386.tar.gz -Résolution de fpdownload.macromedia.com (fpdownload.macromedia.com)… 92.122.201.82 -Connexion à fpdownload.macromedia.com (fpdownload.macromedia.com)|92.122.201.82|:443… connecté. -requête HTTP transmise, en attente de la réponse… 200 OK -Taille : 8490917 (8,1M) [application/x-gzip] -Sauvegarde en : « /tmp/getFlashPlayer-7101/flashplayer_npapi_linux.i386.tar.gz » - -/tmp/getFlashPlayer-7101/flas 100%[==============================================>] 8,10M 4,22MB/s in 1,9s - -2017-06-19 11:33:39 (4,22 MB/s) — « /tmp/getFlashPlayer-7101/flashplayer_npapi_linux.i386.tar.gz » sauvegardé [8490917/8490917] - - FlashPlayer test est installé pour kyodev - Pour tester: http://get.adobe.com/flashplayer/about/ -``` - -* utilise une version de test en développement sur une adresse alternative. la pérennité de cette url ou - la fiabilité de cette version n'est pas connue. -* comme il n'est pas possible d'obtenir la version en ligne, une comparaison avec la - version installée ne peut être faite. -* la version peut être déterminée sur la [page de test](http://get.adobe.com/flashplayer/about/) - - ## sources sur [framagit](https://framagit.org/kyodev/kyopages/blob/master/scripts/getFlashPlayer) diff --git a/scripts/getFlashPlayer b/scripts/getFlashPlayer index 4e764e1..518a05e 100755 --- a/scripts/getFlashPlayer +++ b/scripts/getFlashPlayer @@ -1,10 +1,12 @@ #!/bin/bash -version=1.1.1 +version=2.0.0 projet="Kyodev" contact="https://framagit.org/kyodev/kyopages/issues" date="12/07/2017" script="getFlashPlayer" +urlScript="https://framagit.org/kyodev/kyopages/raw/master/scripts/getFlashPlayer" + ##### license LPRAB/WTFPL # auteurs: kyodev @@ -86,11 +88,6 @@ f__syslogInfo() { # inscription syslog $1, en user.info & f__info $1 f__info "$1" } - #debian? return 0 else 1 -f__debian(){ - if [ -f /etc/debian_version ]; then return 0; else return 1; fi -} - # root? return 0 else 1 f__root(){ if [ $EUID -eq 0 ]; then return 0; else return 1; fi @@ -106,24 +103,35 @@ f__scriptBin(){ user_agent="Mozilla/5.0 (X11; Linux $architecture; rv:52.0) Gecko/ Firefox" - # version Flash en ligne & installée, $verFlash=x|na, $verInstall, $uptodate=""|ko, $urlOnline, + # version Flash en ligne & installée, $verFlash=x|na, $verInstall, $uptd_plug=""|ko, $urlOnline, f_versionFlash(){ urlOnline="https://get.adobe.com/flashplayer/" if ! f__cnxTest; then f__error "connection impossible ou site adobe injoignable"; fi - verFlash=$(wget --no-check-certificate --tries=1 --timeout=15 --user-agent="$user_agent" -nv -qO - "$urlOnline" | \ - grep "AUTO_ID_columnleft_p_version" | grep -o '[0-9].*[0-9]') || verFlash="na" - verInstall=$(cat /home/"$user_"/.mozilla/plugins/libflashplayer.version 2>/dev/null) || verInstall="" - uptodate="" + verFlash="$(wget --tries=2 --no-check-certificate --timeout=15 --user-agent="$user_agent" -nv -O - "$urlOnline" | \ + grep "AUTO_ID_columnleft_p_version" | grep -o '[0-9].*[0-9]')" || verFlash="na" + if [ "$?" != "0" ]; then echo -e " $urlOnline"; wget -Sq -O /dev/null "$urlOnline"; fi + verInstall="$(cat /home/"$user_"/.mozilla/plugins/libflashplayer.version 2>/dev/null)" || verInstall="" + uptd_plug="" if [ $verFlash == "na" ]; then f__info "version FlashPlayer non accessible"; else f__info "version FlashPlayer en ligne: $verFlash"; fi if [ "$verInstall" != "" ] && [ "$verInstall" != "flashTest" ]; then if [ "$verInstall" == "$verFlash" ]; then f__info "version à jour"; else - f__info "version installée: $verInstall"", mise à jour possible" - uptodate="ko" + f__info "version FlashPlayer installée: $verInstall"", mise à jour possible" + uptd_plug="ko" fi elif [ "$verInstall" == "" ]; then f__info "FlashPlayer non installé"; elif [ "$verInstall" == "flashTest" ]; then f__info "FlashPlayer, version test, installé"; fi + f_version_script +} + + # version script en ligne, assigne $versionScript, $uptd_script +f_version_script(){ + versionScript="$(wget -q -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)" + if [ "$version" != "$versionScript" ]; then + f__info "version script en ligne: $versionScript, mise à jour possible" + uptd_script="ko" + else uptd_script=""; fi } # pas beau ce soft :( @@ -151,10 +159,7 @@ cat << 'EOF' getFlashPlayer install : téléchargement & installation & update Flash getFlashPlayer remove : désinstallation de FlashPlayer getFlashPlayer version : version en ligne de FlashPlayer - getFlashPlayer upgrade : MAJ si disponible et si version standard (non test) - utilisé par cron toutes les semaines - ---- - getFlashPlayer v-test : installation version de test de FlashPlayer + getFlashPlayer upgrade : MAJ si disponible, cron hebdomadaire ---- getFlashPlayer sysremove : désinstall du script du système, en ROOT EOF @@ -203,7 +208,8 @@ f_sysinstall(){ # installation dans /opt mkdir -p /opt/bin/ - cp -d "$script" /opt/bin/ + cp -d "$script" /opt/bin/ + chmod a+wx "$user_": /opt/bin/"$script" ln -s /opt/bin/"$script" /usr/local/bin/"$script" &>/dev/null ## rm "$script" &>/dev/null @@ -228,37 +234,35 @@ f_sysremove(){ f__info "$GREEN$script est supprimé du système.\n" } - # install plugin dans config user mozilla, $1 = v-test|release + # install plugin dans config user mozilla f_install(){ f_avertissement - # architecture -> $architecture (version release) - if [ "$(dpkg --print-architecture)" = "amd64" ]; then architecture='x86_64'; else architecture='i386'; fi + architecture="$(getconf LONG_BIT)" # 32 | 64 # calcul $file, affichage version pendant l'install, calcul $url file="flashplayer_npapi_linux.$architecture.tar.gz" - if [ "$1" == "v-test" ]; then - # on change l'architecture pour la version v-test - if [ "$architecture" == "x86_64" ]; then architecture='linux64'; else architecture='linux32'; fi - verFlash="v-test" - f__info "installation FlashPlayer, version alternative de test" - url="https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/$architecture/" - else - if [ $verFlash == "na" ] || [ $verFlash == "" ]; then f_versionFlash; fi - f__info "installation FlashPlayer, version $verFlash" - url="https://fpdownload.adobe.com/get/flashplayer/pdc/$verFlash/" - fi + if [ $verFlash == "na" ] || [ $verFlash == "" ]; then f_versionFlash; fi + f__info "installation FlashPlayer, version $verFlash" + verFlash_major="$(echo $verFlash | cut -d '.' -f 1-2)" + url2="https://get.adobe.com/fr/flashplayer/download/?installer=FP_""$verFlash_major""_for_Linux_""$architecture" + url2="$url2""-bit_(.tar.gz)_-_NPAPI&sType=6625&standalone=1" # dossier temporaire de travail, création dirTemp="/tmp/$script-$RANDOM/" mkdir -p "$dirTemp" - # chargement archive flashplayer - wget -c --user-agent="$user_agent" -O "$dirTemp""$file" "$url""$file" - # gestion erreur wget / à peaufiner? / + # chargement archive plugin flashplayer + wget -c --show-progress --no-check-certificate --user-agent="$user_agent" --referer="$urlOnline" \ + --tries=1 -O "$dirTemp""$file" "$url2" if [ "$?" != "0" ]; then - f__error "problème au chargement, connexion défaillante? réessayer" \ - "Si persistance, merci de prévenir $projet" "$contact" + echo -e " $url2" + wget -Sq -O /dev/null "$url2" + f__error "problème au chargement, réessayer et si persistance, contacter $projet $contact\n" \ + "en indiquant les erreurs précédentes." + fi + if [ "$(wc -c < flashplayer_npapi_linux.$architecture.tar.gz)" -lt 5000000 ]; then + f__error "Chargement incomplet, réessayer et si persistance,\n contacter $projet $contact\n" fi # décompression archive téléchargée dans dossier de travail @@ -269,8 +273,7 @@ f_install(){ rm -Rf "$dirTemp" # marqueur version et maj dans plugins/ user mozilla - if [ "$1" == "v-test" ]; then echo "flashTest" > /home/"$user_"/.mozilla/plugins/libflashplayer.version; - else echo "$verFlash" > /home/"$user_"/.mozilla/plugins/libflashplayer.version; fi + echo "$verFlash" > /home/"$user_"/.mozilla/plugins/libflashplayer.version touch /home/"$user_"/.mozilla/plugins/libflashplayer.maj # droits user si install par root @@ -285,16 +288,21 @@ f_remove(){ # on efface le plugin et le répertoire si vide rm -f "/home/$user_/.mozilla/plugins/"libflashplayer.* rm -d "/home/$user_/.mozilla/plugins/" &>/dev/null - f__info "$GREEN""FlashPlayer $version est désinstallé pour $user_\n" } +f_dl_script(){ + dirTemp="/tmp/$script-$RANDOM/" + mkdir -p "$dirTemp" + wget -q -O "$dirTemp""$script" "$urlScript" && chmod +x "$script" + if [ "$?" != "0" ]; then echo -e " $urlScript\n"; wget -Sq -O /dev/null "$urlScript"; fi + cp "$dirTemp""$script" /opt/bin/"$script" + rm "$dirTemp""$script" + f__syslogInfo "$script mis à jour en version $versionScript" +} ### début script ======================================================= - # debian? sinon dehors / utilité? / -if ! f__debian ; then f__error "désolé, vous n'utilisez pas Debian :( adieu o/"; fi - # traitements arguments if [ "$#" -gt 1 ]; then f__info "$RED trop d'arguments"; f_help; exit 1; fi #initialisation @@ -302,13 +310,11 @@ f__user verFlash="na" #### installation du script si pas dans le système ===================== -if ! f__scriptBin ; then f_sysinstall; fi +##if ! f__scriptBin ; then f_sysinstall; fi -case "$1" in +case "$1" in "install" ) - f_install "release" ;; # installation - "v-test" ) - f_install "v-test" ;; # install version test + f_install ;; # installation "remove" ) f_remove ;; # désinstallation "version" ) @@ -317,13 +323,15 @@ case "$1" in f_sysremove ;; # désinstallation du script "upgrade" ) f__syslogInfo "$script $version: upgrade" + f_version_script + if [ "$uptd_script" == "ko" ]; then f_dl_script; fi if [ -e /home/"$user_"/.mozilla/plugins/libflashplayer.maj ]; then touch /home/"$user_"/.mozilla/plugins/libflashplayer.maj; fi f_versionFlash - if [ "$uptodate" == "ko" ]; then + if [ "$uptd_plug" == "ko" ]; then f_install "release" "upgrade" f__syslogInfo "FlashPlayer mis à jour en $verFlash pour $user_" else f__syslogInfo "FlashPlayer non mis à jour pour $user_"; fi - ;; # upgrade si MAJ possible + ;; # upgrade si MAJs possibles * ) f_help f_avertissement diff --git a/scripts/getFlashPlayer_changelog.md b/scripts/getFlashPlayer_changelog.md index 856afc0..96b4ef3 100644 --- a/scripts/getFlashPlayer_changelog.md +++ b/scripts/getFlashPlayer_changelog.md @@ -1,9 +1,20 @@ # changelog getFlashPlayer +## 2.2.0 12/07/2017 + +* nouveau + * chargements moins verbeux + * wget: message debug + * test et maj éventuelle script lors du test disponibilité de flash + * plus de limitation à debian + * abandon version v-test (problème de liens de chargement) + + ## 1.1.0 12/07/2017 * bug fix * user non reconnu sous gnome +* nouveau * contournement éventuel pour imposer un utilisateur où installer (ou si échec sous debian7?) ## 1.0.2 02/07/2017