mirror of https://framagit.org/kyodev/kyopages.git
0.6.0 rc
This commit is contained in:
parent
e79a6a58b0
commit
041794eda1
|
@ -1,88 +1,61 @@
|
|||
#!/bin/bash
|
||||
|
||||
version="0.5.0"
|
||||
version="0.6.0"
|
||||
projet="DFLinux"
|
||||
contact="https://framagit.org/dflinux/DFiso/issues ou irc.feenode.net##DFLinux"
|
||||
|
||||
#####
|
||||
# licence LPRAB/WTFPL
|
||||
# auteurs naguam / kyodev
|
||||
# 06/2017
|
||||
##### licence LPRAB/WTFPL
|
||||
# auteur kyodev
|
||||
# contibuteurs naguam / coyotus / arpinux
|
||||
# 06/2017
|
||||
#####
|
||||
|
||||
#### définition couleurs -----------------------------------------------
|
||||
YELLOW=`printf "\033[0;33m"` # ?
|
||||
GREEN=`printf "\033[0;32m"` # ok
|
||||
BLUE=`printf "\033[0;34m"` # info
|
||||
COLOR=`printf "\033[0m"` # standard
|
||||
RED=`printf "\033[0;31m"` # alerte
|
||||
|
||||
# entete ---------------------------------------------------------------
|
||||
|
||||
#### entete ============================================================
|
||||
clear
|
||||
cat << "EOF"
|
||||
echo "$BLUE"
|
||||
cat << 'EOF'
|
||||
_ _____ _ _ ____ _
|
||||
__ _ ___| |_| ___| | __ _ ___| |__ | _ \| | __ _ _ _ ___ _ __
|
||||
/ _' |/ _ \ __| |_ | |/ _' / __| '_ \| |_) | |/ _' | | | |/ _ \ '__|
|
||||
| (_| | __/ |_| _| | | (_| \__ \ | | | __/| | (_| | |_| | __/ |
|
||||
\__, |\___|\__|_| |_|\__,_|___/_| |_|_| |_|\__,_|\__, |\___|_|
|
||||
|___/ |___/
|
||||
|
||||
EOF
|
||||
echo -e " pour Firefox\t\t version $version\n"
|
||||
echo -e "$YELLOW pour Firefox sur Debian, \t version $version\n$COLOR"
|
||||
|
||||
# fonction avertissement -----------------------------------------------
|
||||
|
||||
f_avertisement(){
|
||||
cat << "EOF"
|
||||
#### fonctions diverses ================================================
|
||||
|
||||
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, ni le
|
||||
distribuer librement.
|
||||
Il souffre de nombreuses vulnérabilités chroniques, depuis de nombreuses 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...
|
||||
|
||||
EOF
|
||||
# sortie sur erreur
|
||||
f_error() { # affichage paramètre 1 en rouge pour le premier, les suivants optionnels en bleu
|
||||
echo -e "\n$RED Erreur critique: $1 $COLOR"
|
||||
for (( i=2 ; i<=$# ; i++ )); do echo " $BLUE${!i}"; done
|
||||
echo "$COLOR"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# arguments-------------------------------------------------------------
|
||||
# affichage information
|
||||
f_info() { # tous les paramètres en ligne en couleur bleue, accepte \n, ligne vide à la fin
|
||||
echo -e " $BLUE $@ $COLOR\n"
|
||||
}
|
||||
|
||||
if [ "$1" == "install" ]; then cmd="install"
|
||||
elif [ "$1" == "remove" ]; then cmd="remove"
|
||||
elif [ "$1" == "version" ]; then cmd="version"
|
||||
else
|
||||
# pas d'arguments ou mauvais argument, affichage help
|
||||
cat << "EOF"
|
||||
------------------------------------------------------------------------
|
||||
#debian? return 0 else 1
|
||||
f_debian(){
|
||||
if [ -f /etc/debian_version ]; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
Pour tous les utilisateurs du système:
|
||||
|
||||
getFlashPlayer install: téléchargement et installation FlashPlayer
|
||||
getFlashPlayer remove : désinstallation FlashPlayer
|
||||
getFlashPlayer version: récupération version en ligne FlashPlayer
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Ce script doit être exécuté avec les droits administrateur root
|
||||
uniquement pour l'installation
|
||||
Il désinstallera le paquet flashplugin-nonfree si présent.
|
||||
Seul le plugin sera installé, en tant que plugin Mozilla Firefox.
|
||||
|
||||
La désinstallation de FlashPlayer ne nécessite pas d'être root, comme
|
||||
la récupération de la version en ligne.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
EOF
|
||||
f_avertisement
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# requis ---------------------------------------------------------------
|
||||
|
||||
# debian?
|
||||
if [ ! -f /etc/debian_version ]; then
|
||||
echo "Vous n'utilisez pas debian, adieu o/"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# fonctions diverses----------------------------------------------------
|
||||
|
||||
# root? $oui="oui"
|
||||
# root? return 0 else 1
|
||||
f_root(){
|
||||
if [ $EUID -eq 0 ]; then
|
||||
return 0
|
||||
|
@ -91,14 +64,83 @@ f_root(){
|
|||
fi
|
||||
}
|
||||
|
||||
# liste des users déclarés dans le système
|
||||
# liste des users déclarés dans le système, assigne $listeUsers
|
||||
f_allUsers(){
|
||||
# valeurs séparées par espace
|
||||
listeUsers=$(cat /etc/passwd | sed -En 's/^(.*):x:[0-9]{4}.*$/\1/p' | grep -v 'nobody' | tr '\n' ' ')
|
||||
}
|
||||
|
||||
# fonction remove ------------------------------------------------------
|
||||
f_remove() {
|
||||
# version Flash en ligne, assign $verFlash, assigne $user_agent , $urlOnline , $verFlash
|
||||
f_versionFlash(){
|
||||
user_agent="Mozilla/5.0 (X11; Linux $architecture; rv:45.0) Gecko/20100101 Firefox/52.0"
|
||||
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]')
|
||||
}
|
||||
|
||||
# pas bô ce soft :( ================================================
|
||||
f_avertissement(){
|
||||
cat << 'EOF'
|
||||
|
||||
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,
|
||||
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...
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
#### traitements arguments =============================================
|
||||
if [ "$#" -gt 1 ]; then cmd="help" && f_info "$RED trop d'arguments"
|
||||
elif [ "$1" == "install" ]; then cmd="install"
|
||||
elif [ "$1" == "remove" ]; then cmd="remove"
|
||||
elif [ "$1" == "version" ]; then cmd="version"
|
||||
elif [ "$1" == "test" ]; then cmd="installTest"
|
||||
else cmd="help"
|
||||
fi
|
||||
|
||||
if [ "$cmd" == "help" ]; then
|
||||
# HELP si pas d'arguments ou mauvais argument
|
||||
echo "$BLUE"
|
||||
cat << 'EOF'
|
||||
----------------------------------------------------------------------
|
||||
getFlashPlayer install : téléchargement et installation FlashPlayer
|
||||
getFlashPlayer remove : désinstallation FlashPlayer
|
||||
getFlashPlayer version : récupération version en ligne FlashPlayer
|
||||
getFlashPlayer test : installation version de test alternative
|
||||
|
||||
ce script agit sur TOUS les utilisateurs déclarés du système
|
||||
----------------------------------------------------------------------
|
||||
EOF
|
||||
echo $COLOR
|
||||
cat << 'EOF'
|
||||
Ce script doit être exécuté avec les droits administrateur root
|
||||
uniquement pour l'installation.
|
||||
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 pour Ubuntu
|
||||
----------------------------------------------------------------------
|
||||
EOF
|
||||
f_avertissement
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
#### fonction version en ligne =========================================
|
||||
if [ "$cmd" == "version" ]; then
|
||||
f_versionFlash
|
||||
# fin de script
|
||||
f_info "Version FlashPlayer en ligne: $verFlash."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
#### remove, on vire flash =============================================
|
||||
if [ "$cmd" == "remove" ]; then
|
||||
# on récupère la liste des users dans $listeUsers
|
||||
f_allUsers
|
||||
|
||||
|
@ -106,78 +148,83 @@ f_remove() {
|
|||
for user in $listeUsers; do
|
||||
rm -f /home/"$user"/.mozilla/plugins/libflashplayer.*
|
||||
done
|
||||
}
|
||||
|
||||
if [ "$cmd" == "remove" ]; then
|
||||
f_remove
|
||||
# on sort du script
|
||||
echo -e " FlashPlayer est désinstallé.\n"
|
||||
rm -d /home/"$user"/.mozilla/plugins/
|
||||
f_info "$GREEN""FlashPlayer est désinstallé pour tous les utlisateurs.\n"
|
||||
# fin de script
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# fonction version Flash en ligne --------------------------------------
|
||||
|
||||
# assign $verFlash
|
||||
f_versionFlash(){
|
||||
user_agent="Mozilla/5.0 (X11; Linux $architecture; rv:45.0) Gecko/20100101 Firefox/52.0"
|
||||
urlTest="https://get.adobe.com/flashplayer/"
|
||||
verFlash=$(wget --no-check-certificate --tries=1 --timeout=15 --user-agent=$user_agent -nv -qO - $urlTest | \
|
||||
grep "AUTO_ID_columnleft_p_version" | grep -o '[0-9].*[0-9]')
|
||||
}
|
||||
if [ "$cmd" == "version" ]; then
|
||||
f_versionFlash
|
||||
# on sort du script
|
||||
echo -e " Version FlashPlayer en ligne: $verFlash.\n"
|
||||
exit 0
|
||||
fi
|
||||
#### installation ======================================================
|
||||
|
||||
# installation----------------------------------------------------------
|
||||
# root? sinon dehors
|
||||
if ! f_root ; then f_error "vous devez être ROOT pour installer"; fi
|
||||
|
||||
# root?
|
||||
if ! f_root; then
|
||||
# sortie sur test root
|
||||
echo " Vous devez être root pour installer FlashPlayer"
|
||||
echo -e " Relancer après 'su' ou avec 'sudo'\n"
|
||||
exit 1
|
||||
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_avertisement
|
||||
f_avertissement
|
||||
|
||||
#on récupère la version en ligne
|
||||
f_versionFlash
|
||||
|
||||
# affichage version en ligne pendant l'install version release
|
||||
if [ "$cmd" == "install" ]; then
|
||||
f_info "installation FlashPlayer, version $verFlash"
|
||||
else
|
||||
f_info "installation FlashPlayer, version alternative de test"
|
||||
fi
|
||||
|
||||
# on vire 'flashplugin-nonfree' si installé
|
||||
if [ ! dpkg-query -l bash &> /dev/null ]; then
|
||||
apt-get purge flashplugin-nonfree
|
||||
fi
|
||||
if [ ! dpkg-query -l bash &> /dev/null ]; then apt-get purge flashplugin-nonfree; fi
|
||||
|
||||
# architecture?
|
||||
# architecture? & url alternative pour version test
|
||||
if [ "$(dpkg --print-architecture)" = "amd64" ]; then
|
||||
architecture='x86_64'
|
||||
urlTest="https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/linux64/"
|
||||
else
|
||||
architecture='i386'
|
||||
urlTest="https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/linux32/"
|
||||
fi
|
||||
|
||||
# variables daube
|
||||
f_versionFlash
|
||||
url="https://fpdownload.adobe.com/get/flashplayer/pdc/$verFlash/"
|
||||
file="flash_player_npapi_linux.$architecture.tar.gz"
|
||||
|
||||
# affichage version en ligne si install
|
||||
if [ "$cmd" == "install" ]; then echo -e " Installation FlashPlayer version $verFlash\n"; fi
|
||||
|
||||
# dossier temporaire de travail
|
||||
fileTemp="/tmp/flash-file/"
|
||||
mkdir -p "$fileTemp"
|
||||
|
||||
# chargement flash
|
||||
wget --user-agent="$user_agent" -O $fileTemp$file $url$file
|
||||
# variables daube release
|
||||
url="https://fpdownload.adobe.com/get/flashplayer/pdc/$verFlash/"
|
||||
file="flash_player_npapi_linux.$architecture.tar.gz"
|
||||
|
||||
# décompression archive téléchargée
|
||||
# chargement flash / à peaufiner les sorties wget /
|
||||
if [ "$cmd" == "installTest" ]; then
|
||||
wget --user-agent="$user_agent" -O $fileTemp$file $urlTest$file &>/dev/null
|
||||
else
|
||||
wget --user-agent="$user_agent" -O $fileTemp$file $url$file &>/dev/null
|
||||
fi
|
||||
|
||||
# gestion erreur wget
|
||||
#1 Generic error code.
|
||||
#2 Parse error---for instance, when parsing command-line options, the .wgetrc or .netrc...
|
||||
#3 File I/O error.
|
||||
#4 Network failure.
|
||||
#5 SSL verification failure.
|
||||
#6 Username/password authentication failure.
|
||||
#7 Protocol errors.
|
||||
#8 Server issued an error response.
|
||||
if [ "$?" != "0" ]; then
|
||||
f_error "problème au chargement, connexion défaillante?" \
|
||||
"Si persistance, merci de prévenir l'équipe $projet" \
|
||||
"$contact"
|
||||
fi
|
||||
|
||||
# décompression archive téléchargée dans dossier de travail
|
||||
tar xaf $fileTemp$file -C $fileTemp
|
||||
|
||||
# on récupère la liste des users dans $listeUsers
|
||||
# on récupère la liste de tous les users dans $listeUsers
|
||||
f_allUsers
|
||||
|
||||
# copie dans la config user mozilla, pour *chaque user déclaré* sur le système
|
||||
# copie de la biblio dans la config user mozilla, pour *chaque user déclaré* sur le système
|
||||
for user in $listeUsers; do
|
||||
mkdir -p /home/"$user"/.mozilla/plugins
|
||||
cp "$fileTemp"libflashplayer.so /home/"$user"/.mozilla/plugins/
|
||||
|
@ -188,6 +235,6 @@ done
|
|||
rm -Rf "$fileTemp"
|
||||
|
||||
# the end
|
||||
echo -e " FlashPlayer est installé.\n\tPour tester: http://get.adobe.com/flashplayer/about/\n"
|
||||
f_info "$GREEN""FlashPlayer est installé.\n\t""$BLUE""Pour tester: http://get.adobe.com/flashplayer/about/"
|
||||
|
||||
exit 0
|
||||
|
|
Loading…
Reference in New Issue