mirror of https://framagit.org/kyodev/kyopages.git
3.5.0
This commit is contained in:
parent
e76f393db1
commit
012c5dee06
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
version=3.4.1
|
||||
version=3.5.0
|
||||
date="06/09/2017"
|
||||
projet="simpledeb"
|
||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
|
||||
|
@ -234,7 +234,7 @@ echo -e " plus d'infos:$GREEN https://framagit.org/kyodev/kyopages/raw/master/s
|
|||
}
|
||||
|
||||
# assigne $verTorOnline
|
||||
f_tb_get_version(){ # v02/09/2017
|
||||
f_tb_get_version(){ # v06/09/2017
|
||||
local fileTmp recup_urlTb verTorInstall
|
||||
# version online
|
||||
fileTmp="/tmp/getFirefox-wgetVer-$RANDOM"
|
||||
|
@ -244,8 +244,8 @@ f_tb_get_version(){ # v02/09/2017
|
|||
rm "$fileTmp"
|
||||
[ "$verTorOnline" ] || verTorOnline="$RED""NA"
|
||||
# version installée
|
||||
if [ -e "$dirInstallTB"Browser/TorBrowser/Docs/ChangeLog.txt ]; then
|
||||
verTorInstall="$(sed -n '1p' "$dirInstallTB"Browser/TorBrowser/Docs/ChangeLog.txt | sed -En 's/^Tor Browser (.*)$/\1/p')"
|
||||
if [ -e "$dirInstallTB/Browser/TorBrowser/Docs/ChangeLog.txt" ]; then
|
||||
verTorInstall="$(sed -n '1p' $dirInstallTB/Browser/TorBrowser/Docs/ChangeLog.txt | sed -En 's/^Tor Browser (.*)$/\1/p')"
|
||||
fi
|
||||
[ "$verTorInstall" ] || verTorInstall="$RED""NA"
|
||||
f__info "raw" "version Tor Browser installé: $GREEN$verTorInstall$COLORS"
|
||||
|
@ -253,21 +253,21 @@ f_tb_get_version(){ # v02/09/2017
|
|||
}
|
||||
|
||||
# installation TorBrowser, [$1 manuel, $2 archive]
|
||||
f_tb_install(){ # v31/08/2017
|
||||
f_tb_install(){ # v06/09/2017
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer Tor Browser"
|
||||
[ "$verTorOnline" ] || f_tb_get_version
|
||||
local dirTemp archi fileTemp recup_urlTb
|
||||
if [ "$1" == "manuel" ]; then
|
||||
versionArchive="$(sed -En 's/tor-browser-linux[0-9]{2}-([0-9.]*)_fr\.tar\.xz/\1/p' <<< $(basename $2))"
|
||||
f__info "installation manuelle de Tor Browser version $versionArchive ($2)"
|
||||
dirTemp="$(dirname $2)/$script-$RANDOM/"
|
||||
dirTemp="$(dirname $2)/$script-$RANDOM"
|
||||
fileTemp="$(basename $2)"
|
||||
mkdir -p "$dirTemp"
|
||||
else
|
||||
f__info "installation de Tor Browser"
|
||||
dirTemp="/tmp/$script-$RANDOM/"
|
||||
dirTemp="/tmp/$script-$RANDOM"
|
||||
[ "$architecture" == "linux" ] && archi="linux32" || archi="$architecture"
|
||||
fileTemp="$dirTemp""tor-browser-$archi-$verTorOnline""_fr.tar.xz"
|
||||
fileTemp="$dirTemp/tor-browser-$archi-$verTorOnline""_fr.tar.xz"
|
||||
mkdir -p "$dirTemp"
|
||||
# téléchargement & test archive
|
||||
f__info " - téléchargement..."
|
||||
|
@ -279,21 +279,21 @@ f_tb_install(){ # v31/08/2017
|
|||
fi
|
||||
# décompression archive téléchargée dans dossier de travail
|
||||
f__info " - décompression..."
|
||||
tar -xaf "$fileTemp" -C "$dirTemp"
|
||||
tar -xaf "$fileTemp" -C "$dirTemp/"
|
||||
# mise en place finale
|
||||
f__info " - installation..."
|
||||
rm -rf "$dirInstallTB" # effacement éventuel répertoire existant
|
||||
rm -rf "$dirInstallTB"/ # effacement éventuel répertoire existant
|
||||
mkdir -p "$dirInstallTB"
|
||||
mv -f "$dirTemp"tor-browser_fr/* "$dirInstallTB"
|
||||
chown -R "$user_": "$dirInstallTB"
|
||||
chmod -R g+wrs,a+r "$dirInstallTB"
|
||||
rm -rf "$dirTemp"
|
||||
mv -f "$dirTemp/tor-browser_fr/"* "$dirInstallTB/"
|
||||
chown -R "$user_:" "$dirInstallTB/"
|
||||
chmod -R g+wrs,a+r "$dirInstallTB/"
|
||||
rm -rf "$dirTemp/"
|
||||
f_tb_lanceur_desktop
|
||||
local fileDesktop="/usr/share/applications/tor-browser.desktop"
|
||||
# lien dans /usr/bin
|
||||
ln -sf "$fileDesktop" "/usr/bin/tor-browser"
|
||||
# lien icône
|
||||
ln -sf "$dirInstallTB"Browser/browser/chrome/icons/default/default48.png "/usr/share/pixmaps/tor-browser.png"
|
||||
ln -sf "$dirInstallTB/Browser/browser/chrome/icons/default/default48.png" "/usr/share/pixmaps/tor-browser.png"
|
||||
if [ "$1" == "manuel" ]; then
|
||||
f__info "log" "archive Tor Browser $versionArchive installée"
|
||||
else
|
||||
|
@ -310,17 +310,17 @@ f_tb_install_manuel(){ # v31/08/2017
|
|||
}
|
||||
|
||||
# création lanceur.desktop pour tor-browser
|
||||
f_tb_lanceur_desktop(){ # v31/08/2017
|
||||
f_tb_lanceur_desktop(){ # v06/09/2017
|
||||
local fileDesktop="/usr/share/applications/tor-browser.desktop"
|
||||
echo "#!/usr/bin/env $dirInstallTB"Browser/execdesktop > "$fileDesktop"
|
||||
echo "#!/usr/bin/env $dirInstallTB/Browser/execdesktop" > "$fileDesktop"
|
||||
echo >> "$fileDesktop"
|
||||
echo "[Desktop Entry]" >> "$fileDesktop"
|
||||
echo "Name=Tor Browser" >> "$fileDesktop"
|
||||
echo "X-GNOME-FullName=Tor Browser" >> "$fileDesktop"
|
||||
echo "StartupWMClass=Tor Browser" >> "$fileDesktop"
|
||||
echo "Exec=$dirInstallTB"Browser/start-tor-browser --detach >> "$fileDesktop"
|
||||
echo "X-TorBrowser-ExecShell=$dirInstallTB"Browser/start-tor-browser --detach >> "$fileDesktop"
|
||||
echo "Icon=$dirInstallTB"Browser/browser/chrome/icons/default/default48.png >> "$fileDesktop"
|
||||
echo "Exec=$dirInstallTB/Browser/start-tor-browser --detach" >> "$fileDesktop"
|
||||
echo "X-TorBrowser-ExecShell=$dirInstallTB/Browser/start-tor-browser --detach" >> "$fileDesktop"
|
||||
echo "Icon=$dirInstallTB/Browser/browser/chrome/icons/default/default48.png" >> "$fileDesktop"
|
||||
echo "Comment=Tor Browser is +1 for privacy and -1 for mass surveillance" >> "$fileDesktop"
|
||||
echo "Comment[fr]=Tor Browser est un PLUS pour la vie privée et un MOINS pour la surveillance de masse" >> "$fileDesktop"
|
||||
echo "GenericName=Web Browser" >> "$fileDesktop"
|
||||
|
@ -330,23 +330,22 @@ f_tb_lanceur_desktop(){ # v31/08/2017
|
|||
echo "Type=Application" >> "$fileDesktop"
|
||||
echo "Categories=Network;WebBrowser;Security;" >> "$fileDesktop"
|
||||
echo "StartupNotify=true" >> "$fileDesktop"
|
||||
chown "$user_": "$fileDesktop"
|
||||
chown "$user_:" "$fileDesktop"
|
||||
chmod +x "$fileDesktop"
|
||||
}
|
||||
|
||||
# version personnalisation Tor Browser en ligne, assigne $persTbATraiter
|
||||
f_tb_pers_get_version(){ # v01/09/2017
|
||||
f_tb_pers_get_version(){ # v06/09/2017
|
||||
local urlPersTb versPersTbOnline verPersTbInstall
|
||||
local profilTor="$dirInstallTB""Browser/TorBrowser/Data/Browser/profile.default/"
|
||||
if [ -e "$profilTor""personnalisation.$script" ]; then
|
||||
urlPersTb="$(sed -n '1p' $profilTor'personnalisation.'$script)"
|
||||
if [ -e "$profilTor/personnalisation.$script" ]; then
|
||||
urlPersTb="$(sed -n '1p' $profilTor/personnalisation.$script)"
|
||||
else
|
||||
urlPersTb="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
||||
fi
|
||||
versPersTbOnline="$(wget -q --tries=2 --timeout=15 -O - $urlPersTb'userTor.js' | sed -En 's/\/\*v(.*)\*\//\1/p')"
|
||||
if [ "$versPersTbOnline" ]; then
|
||||
if [ -e "$profilTor""personnalisation.$script" ]; then
|
||||
verPersTbInstall="$(sed -n '2p' $profilTor'personnalisation.'$script)"
|
||||
if [ -e "$profilTor/personnalisation.$script" ]; then
|
||||
verPersTbInstall="$(sed -n '2p' $profilTor/personnalisation.$script)"
|
||||
if [ "$verPersTbInstall" != "$versPersTbOnline" ]; then persTbATraiter="true"; fi
|
||||
fi
|
||||
[ "$verPersTbInstall" ] && f__info "raw" "$GREEN""personnalisation Tor Browser installée $verPersTbInstall$COLOR"
|
||||
|
@ -359,48 +358,59 @@ f_tb_pers_get_version(){ # v01/09/2017
|
|||
}
|
||||
|
||||
# recup userTor.js et chrome/userChrome.css pour Tor Browser
|
||||
f_tb_pers_install(){ # v02/09/2017
|
||||
f_tb_pers_install(){ # v06/09/2017
|
||||
local urlPersTb verPersTbDL dirTemp
|
||||
local profilTor="$dirInstallTB""Browser/TorBrowser/Data/Browser/profile.default/"
|
||||
if [ ! -d "$profilTor" ]; then
|
||||
if [ ! -d "$profilTor/" ]; then
|
||||
f__info "Tor Browser inexistant"
|
||||
return 1
|
||||
fi
|
||||
# détermination url chargement fichiers personnalisation, std ou spécifique dans personnalisation.getFirefox
|
||||
if [ -e "$profilTor""personnalisation.$script" ]; then
|
||||
urlPersTb="$(sed -n '1p' $profilTor'personnalisation.'$script)"
|
||||
if [ -e "$profilTor/personnalisation.$script" ]; then
|
||||
urlPersTb="$(sed -n '1p' $profilTor/personnalisation.$script)"
|
||||
else
|
||||
urlPersTb="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
||||
fi
|
||||
# chargement fichiers personnalisation
|
||||
dirTemp="/tmp/$script-$RANDOM/"
|
||||
dirTemp="/tmp/$script-$RANDOM"
|
||||
mkdir -p "$dirTemp"
|
||||
wget -q --tries=2 --timeout=15 -O "$dirTemp"user.js "$urlPersTb"userTor.js
|
||||
wget -q --tries=2 --timeout=15 -O "$dirTemp/user.js" "$urlPersTb"userTor.js
|
||||
if [ "$?" != "0" ]; then f__wget_test "$urlPersTb"userTor.js; fi
|
||||
verPersTbDL="$(sed -En 's/\/\*v(.*)\*\//\1/p' "$dirTemp"user.js)" # uniquement sur user.js
|
||||
wget -q --tries=1 --timeout=15 -O "$dirTemp"userChrome.css "$urlPers"userChrome.css
|
||||
verPersTbDL="$(sed -En 's/\/\*v(.*)\*\//\1/p' $dirTemp/user.js)" # uniquement sur user.js
|
||||
wget -q --tries=1 --timeout=15 -O "$dirTemp/userChrome.css" "$urlPers"userChrome.css
|
||||
# installation
|
||||
mkdir -p "$profilTor""chrome/" # répertoire pour userChrome.css
|
||||
chown "$user_": "$profilTor""chrome/"
|
||||
cp "$dirTemp"user.js "$profilTor"
|
||||
chown "$user_": "$profilTor"user.js
|
||||
if [ -e "$dirTemp"userChrome.css ]; then
|
||||
cp "$dirTemp"userChrome.css "$profilTor""chrome/"
|
||||
chown "$user_": "$profilTor""chrome/userChrome.css"
|
||||
if [ -d "$profilTor/chrome/" ] && [ "$(stat -c %U $profilTor/chrome/)" == "root" ]; then
|
||||
f__error "root propriétaire sur $profilTor/chrome/" "bug version de développement" \
|
||||
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
|
||||
fi
|
||||
echo "$urlPersTb" > "$profilTor""personnalisation.$script"
|
||||
echo "$verPersTbDL" >> "$profilTor""personnalisation.$script"
|
||||
chown "$user_": "$profilTor""personnalisation.$script"
|
||||
rm -rf "$dirTemp"
|
||||
mkdir -p "$profilTor/chrome" # répertoire pour userChrome.css
|
||||
chown "$user_:" "$profilTor/chrome/"
|
||||
if [ -e "$profilTor/user.js" ] && [ "$(stat -c %U $profilTor/user.js)" == "root" ]; then
|
||||
f__error "root propriétaire de $profilTor/user.js" "bug version de développement" \
|
||||
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
|
||||
fi
|
||||
cp "$dirTemp/user.js" "$profilTor"
|
||||
chown "$user_:" "$profilTor/user.js"
|
||||
if [ -e "$profilTor/chrome/userChrome.css" ] && \
|
||||
[ "$(stat -c %U $profilTor/chrome/userChrome.css)" == "root" ]; then
|
||||
f__error "root propriétaire de $profilTor/chrome/userChrome.css" "bug version de développement" \
|
||||
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
|
||||
fi
|
||||
if [ -e "$dirTemp/userChrome.css" ]; then
|
||||
cp "$dirTemp/userChrome.css" "$profilTor/chrome/"
|
||||
chown "$user_:" "$profilTor/chrome/userChrome.css"
|
||||
fi
|
||||
echo "$urlPersTb" > "$profilTor/personnalisation.$script"
|
||||
echo "$verPersTbDL" >> "$profilTor/personnalisation.$script"
|
||||
chown "$user_:" "$profilTor/personnalisation.$script"
|
||||
rm -rf "$dirTemp/"
|
||||
f__info "log" "personnalisation $verPersTbDL mise en place pour Tor Browser"
|
||||
}
|
||||
|
||||
# supprime personnalisation pour Tor Browser
|
||||
f_tb_pers_remove(){ # v02/09/2017
|
||||
local profilTor="$dirInstallTB""Browser/TorBrowser/Data/Browser/profile.default/"
|
||||
# "$profilTor""chrome/" volontairement laissé si autres fichiers ajoutés
|
||||
rm "$profilTor""user.js" "$profilTor""personnalisation.$script"
|
||||
rm "$profilTor""chrome/userChrome.css"
|
||||
f_tb_pers_remove(){ # v06/09/2017
|
||||
# "$profilTor/chrome/" volontairement laissé si autres fichiers ajoutés
|
||||
rm "$profilTor/user.js" "$profilTor/personnalisation.$script"
|
||||
rm "$profilTor/chrome/userChrome.css"
|
||||
f__info "log" "personnalisation Tor Browser désinstallé"
|
||||
}
|
||||
|
||||
|
@ -415,9 +425,9 @@ f_tb_pers_upgrade(){ # v05/09/2017
|
|||
}
|
||||
|
||||
# désinstallation de Tor Browser
|
||||
f_tb_remove(){ # v31/08/2017
|
||||
f_tb_remove(){ # v06/09/2017
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour désinstaller Tor Browser"
|
||||
if [ ! -d "$dirInstallTB" ]; then
|
||||
if [ ! -d "$dirInstallTB/" ]; then
|
||||
f__info "$GREEN""Tor Browser n'est pas installé."
|
||||
return 0
|
||||
fi
|
||||
|
@ -429,7 +439,7 @@ f_tb_remove(){ # v31/08/2017
|
|||
# supression .desktop
|
||||
rm "$fileDesktop"
|
||||
# suppression du répertoire Tor Browser
|
||||
rm -rf "$dirInstallTB"
|
||||
rm -rf "$dirInstallTB/"
|
||||
f__info "log" "Tor Browser désinstallé"
|
||||
}
|
||||
|
||||
|
@ -502,20 +512,20 @@ echo "$COLOR"
|
|||
}
|
||||
|
||||
# installation Firefox, $1 produit, $2 manuel, $3 archive
|
||||
ffx_install(){ # v31/08/2017
|
||||
ffx_install(){ # v06/09/2017
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer Firefox"
|
||||
local versionArchive dirTemp fileTemp produit
|
||||
produit="$1"
|
||||
if [ "$2" == "manuel" ]; then
|
||||
versionArchive="$(sed -E 's/firefox-(.*)\.linux.*/\1/' <<< $(basename $3))"
|
||||
f__info "installation manuelle dans $produit de firefox version $versionArchive ($3)"
|
||||
dirTemp="$(dirname $3)/$script-$RANDOM/"
|
||||
dirTemp="$(dirname $3)/$script-$RANDOM"
|
||||
fileTemp="$(basename $3)"
|
||||
mkdir -p "$dirTemp"
|
||||
else
|
||||
f__info "installation Firefox-$produit"
|
||||
dirTemp="/tmp/$script-$RANDOM/"
|
||||
fileTemp="$dirTemp""firefox-$produit.$architecture.tar.bz2"
|
||||
dirTemp="/tmp/$script-$RANDOM"
|
||||
fileTemp="$dirTemp/firefox-$produit.$architecture.tar.bz2"
|
||||
mkdir -p "$dirTemp"
|
||||
# téléchargement & test archive
|
||||
f__info " - téléchargement..."
|
||||
|
@ -527,16 +537,16 @@ ffx_install(){ # v31/08/2017
|
|||
fi
|
||||
# décompression archive téléchargée dans dossier de travail
|
||||
f__info " - décompression..."
|
||||
tar -xaf "$fileTemp" -C "$dirTemp"
|
||||
tar -xaf "$fileTemp" -C "$dirTemp/"
|
||||
# mise en place finale
|
||||
f__info " - installation..."
|
||||
rm -rf "/opt/firefox-$produit/" # effacement ancien répertoire éventuel
|
||||
rm -rf "$dirInstall$produit"/ # effacement éventuel répertoire existant: "vraie" install
|
||||
mkdir -p "$dirInstall$produit"/
|
||||
mv -f "$dirTemp"firefox/* "$dirInstall$produit"/
|
||||
chown -R "$user_": "$dirInstall$produit"/
|
||||
chmod -R g+wrs,a+r "$dirInstall$produit"/
|
||||
rm -rf "$dirTemp"
|
||||
mkdir -p "$dirInstall$produit"
|
||||
mv -f "$dirTemp/firefox/"* "$dirInstall$produit/"
|
||||
chown -R "$user_:" "$dirInstall$produit/"
|
||||
chmod -R g+wrs,a+r "$dirInstall$produit/"
|
||||
rm -rf "$dirTemp/"
|
||||
# lien icône Firefox
|
||||
ln -sf "$dirInstall$produit/browser/chrome/icons/default/default48.png" "/usr/share/pixmaps/firefox-$produit.png"
|
||||
# lanceur dans /usr/bin
|
||||
|
@ -616,7 +626,7 @@ ffx_pers_get_version(){ # v02/09/2017
|
|||
}
|
||||
|
||||
# recup user.js et chrome/userChrome.css, $1=canal à personnaliser ou mettre à jour
|
||||
ffx_pers_install(){ # v04/09/2017
|
||||
ffx_pers_install(){ # v06/09/2017
|
||||
local canal="$1" urlPers verPersDL dirTemp
|
||||
if [ ! -d "$dirProfil/$canal" ]; then
|
||||
f__info "firefox $canal inexistant"
|
||||
|
@ -629,23 +639,36 @@ ffx_pers_install(){ # v04/09/2017
|
|||
urlPers="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
||||
fi
|
||||
# chargement fichiers personnalisation
|
||||
dirTemp="/tmp/$script-$RANDOM/"
|
||||
dirTemp="/tmp/$script-$RANDOM"
|
||||
mkdir -p "$dirTemp"
|
||||
wget -q --tries=2 --timeout=15 -O "$dirTemp"user.js "$urlPers"user.js
|
||||
wget -q --tries=2 --timeout=15 -O "$dirTemp/user.js" "$urlPers"user.js
|
||||
if [ "$?" != "0" ]; then f__wget_test "$urlPers"user.js; fi
|
||||
verPersDL="$(sed -En 's/\/\*v(.*)\*\//\1/p' "$dirTemp"user.js)" # uniquement sur user.js
|
||||
wget -q --tries=1 --timeout=15 -O "$dirTemp"userChrome.css "$urlPers"userChrome.css
|
||||
verPersDL="$(sed -En 's/\/\*v(.*)\*\//\1/p' $dirTemp/user.js)" # uniquement sur user.js
|
||||
wget -q --tries=1 --timeout=15 -O "$dirTemp/userChrome.css" "$urlPers"userChrome.css
|
||||
# installation
|
||||
mkdir -p "$dirProfil/$canal/chrome/" # répertoire pour userChrome.css
|
||||
chown "$user_": "$dirProfil/$canal/chrome"
|
||||
cp "$dirTemp"user.js "$dirProfil/$canal/"
|
||||
chown "$user_": "$dirProfil/$canal/user.js"
|
||||
[ -e "$dirTemp"userChrome.css ] && cp "$dirTemp"userChrome.css "$dirProfil/$canal/chrome"
|
||||
chown "$user_": "$dirProfil/$canal/chrome/userChrome.css"
|
||||
if [ -d "$dirProfil/$canal/chrome/" ] && [ "$(stat -c %U $dirProfil/$canal/chrome/)" == "root" ]; then
|
||||
f__error "root propriétaire sur $dirProfil/$canal/chrome/" "bug version de développement" \
|
||||
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
|
||||
fi
|
||||
mkdir -p "$dirProfil/$canal/chrome" # répertoire pour userChrome.css
|
||||
chown "$user_:" "$dirProfil/$canal/chrome"
|
||||
if [ -e "$dirProfil/$canal/user.js" ] && [ "$(stat -c %U "$dirProfil/$canal/user.js")" == "root" ]; then
|
||||
f__error "root propriétaire de $dirProfil/$canal/user.js" "bug version de développement" \
|
||||
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
|
||||
fi
|
||||
cp "$dirTemp/user.js" "$dirProfil/$canal/"
|
||||
chown "$user_:" "$dirProfil/$canal/user.js"
|
||||
if [ -e "$dirProfil/$canal/chrome/userChrome.css" ] && \
|
||||
[ "$(stat -c %U "$dirProfil/$canal/chrome/userChrome.css")" == "root" ]; then
|
||||
f__error "root propriétaire de $dirProfil/$canal/chrome/userChrome.css" "bug version de développement" \
|
||||
"$GREEN""réinstaller la personnalisation avec les privilèges root pour corriger$COLOR"
|
||||
fi
|
||||
[ -e "$dirTemp/userChrome.css" ] && cp "$dirTemp/userChrome.css" "$dirProfil/$canal/chrome"
|
||||
chown "$user_:" "$dirProfil/$canal/chrome/userChrome.css"
|
||||
echo "$urlPers" > "$dirProfil/$canal/personnalisation.$script"
|
||||
echo "$verPersDL" >> "$dirProfil/$canal/personnalisation.$script"
|
||||
chown "$user_": "$dirProfil/$canal/personnalisation.$script"
|
||||
rm -rf "$dirTemp"
|
||||
chown "$user_:" "$dirProfil/$canal/personnalisation.$script"
|
||||
rm -rf "$dirTemp/"
|
||||
f__info "log" "personnalisation $verPersDL mise en place pour $canal"
|
||||
}
|
||||
|
||||
|
@ -688,7 +711,7 @@ ffx_profilIni_inscription(){
|
|||
}
|
||||
|
||||
# traitement utilisateur, $1=user si appel indépendant pour reconfiguration
|
||||
ffx_profil_user(){ # v22/08/2017
|
||||
ffx_profil_user(){ # v06/09/2017
|
||||
if [ "$1" == "user" ] && [ ! -x "/usr/bin/firefox-$produit" ]; then
|
||||
f__error "firefox <$produit> n'est pas installé" " il faut donc utiliser l'installation et pas l'ajout d'un nouveau profil"
|
||||
fi
|
||||
|
@ -705,11 +728,11 @@ ffx_profil_user(){ # v22/08/2017
|
|||
fi
|
||||
else # sinon on crée profile.ini avec minimum d'entête (première installation Firefox)
|
||||
echo -e "[General]\nStartWithLastProfile=1\n\n" >> "$fileProfileIni"
|
||||
chown "$user_": "$fileProfileIni" # propriété du fichier profile.ini à l'user
|
||||
chown "$user_:" "$fileProfileIni" # propriété du fichier profile.ini à l'user
|
||||
chmod u+rw,go+r "$fileProfileIni" # permissions du fichier profile.ini à l'user
|
||||
fi
|
||||
mkdir -p "$dirProfil/$produit" # répertoire du profil
|
||||
chown -R "$user_": "$dirProfil/$produit/" # propriété du répertoire profil à l'user
|
||||
chown -R "$user_:" "$dirProfil/$produit/" # propriété du répertoire profil à l'user
|
||||
chmod g-rx,o-rx "$dirProfil/$produit/" # droits répertoire comme Firefox officiel
|
||||
ffx_profilIni_inscription
|
||||
if [ "$1" != "user" ]; then
|
||||
|
@ -781,7 +804,7 @@ ffx_usr_bin(){
|
|||
}
|
||||
|
||||
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire, $1=upgrade|install|remove
|
||||
fscript_cronAnacron(){ # v30/08/2017
|
||||
fscript_cronAnacron(){ # v06/09/2017
|
||||
local dirAnacron dirSpool fileAnacron
|
||||
[ "$(type -t fscript_cronAnacron_special)" ] && fscript_cronAnacron_special # test, si fonction spécifique, appel
|
||||
dirAnacron="/home/$user_/.config/anacron"
|
||||
|
@ -799,7 +822,7 @@ fscript_cronAnacron(){ # v30/08/2017
|
|||
fi
|
||||
# création spool anacron utilisateur
|
||||
mkdir -p "$dirSpool"
|
||||
chown -R "$user_": "$dirAnacron" "$dirSpool"
|
||||
chown -R "$user_:" "$dirAnacron" "$dirSpool"
|
||||
if [ $EUID -eq 0 ]; then
|
||||
# crontab pour activation horaire anacron
|
||||
echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
|
||||
|
@ -837,7 +860,7 @@ fscript_get_version(){ # v01/09/2017
|
|||
}
|
||||
|
||||
# installation du script dans le système
|
||||
fscript_install(){ # v29/08/2017
|
||||
fscript_install(){ # v06/09/2017
|
||||
if grep -q 'bin' <<< "$(dirname $0)" ; then
|
||||
f__info "$RED""l'installation dans le système doit se faire depuis un script local $GREEN(./$script -i )$COLOR"
|
||||
return
|
||||
|
@ -858,7 +881,7 @@ fscript_install(){ # v29/08/2017
|
|||
# création fichier log
|
||||
touch "$fileLogs"
|
||||
chmod 644 "$fileLogs"
|
||||
chown "$user_": "$fileLogs" "/opt/bin/$script"
|
||||
chown "$user_:" "$fileLogs" "/opt/bin/$script"
|
||||
[ -e "$fileDev" ] || rm "$(basename $0)" &>/dev/null ## on efface pas si fileDev (dev)
|
||||
f__info "log" "$script $version installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
|
||||
}
|
||||
|
@ -874,7 +897,7 @@ fscript_install_special(){ # v25/08/2017
|
|||
}
|
||||
|
||||
# suppression du script dans le système
|
||||
fscript_remove(){ # v29/08/2017
|
||||
fscript_remove(){ # v06/09/2017
|
||||
if ! grep -q 'bin' <<< "$(dirname $0)" ; then
|
||||
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -r)$COLOR"
|
||||
return 1
|
||||
|
@ -888,15 +911,15 @@ fscript_remove(){ # v29/08/2017
|
|||
return 3
|
||||
fi
|
||||
# suppression de /opt
|
||||
rm /opt/bin/"$script" &>/dev/null
|
||||
unlink /usr/bin/"$script" &>/dev/null
|
||||
rm "/opt/bin/$script" &>/dev/null
|
||||
unlink "/usr/bin/$script" &>/dev/null
|
||||
# cron/anacron remove
|
||||
fscript_cronAnacron "remove"
|
||||
f__info "log" "$script $version supprimé du système."
|
||||
}
|
||||
|
||||
# mise à jour script si dispo
|
||||
fscript_update(){ # v04/09/2017
|
||||
fscript_update(){ # v06/09/2017
|
||||
if ! grep -q 'bin' <<< "$(dirname $0)" ; then
|
||||
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -u)$COLOR"
|
||||
return
|
||||
|
@ -906,14 +929,14 @@ fscript_update(){ # v04/09/2017
|
|||
f__info "log" "pas de mise à jour disponible pour $script $version"
|
||||
return 0
|
||||
fi
|
||||
local dirTemp="/tmp/$script-$RANDOM/"
|
||||
local dirTemp="/tmp/$script-$RANDOM"
|
||||
mkdir -p "$dirTemp"
|
||||
wget -q --tries=2 --timeout=15 -O "$dirTemp$script" "$urlScript"
|
||||
wget -q --tries=2 --timeout=15 -O "$dirTemp/$script" "$urlScript"
|
||||
if [ "$?" != "0" ]; then f__wget_test "$urlScript"; fi
|
||||
chmod 755 "$dirTemp$script"
|
||||
chown "$user_": "$dirTemp$script"
|
||||
cp -d "$dirTemp$script" /opt/bin/"$script"
|
||||
rm -rf "$dirTemp"
|
||||
chmod 755 "$dirTemp/$script"
|
||||
chown "$user_:" "$dirTemp/$script"
|
||||
cp -d "$dirTemp/$script" "/opt/bin/$script"
|
||||
rm -rf "$dirTemp/"
|
||||
fscript_cronAnacron "upgrade"
|
||||
f__info "log" "$script mis à jour en version $versionScript"
|
||||
}
|
||||
|
@ -932,7 +955,8 @@ dirInstall="/opt/usr/share/firefox-"
|
|||
dirProfil="/home/$user_/.mozilla/firefox"
|
||||
fileProfileIni="$dirProfil/profiles.ini"
|
||||
produitAll="latest beta nightly"
|
||||
dirInstallTB="/opt/usr/share/tor-browser/"
|
||||
dirInstallTB="/opt/usr/share/tor-browser"
|
||||
profilTor="$dirInstallTB/Browser/TorBrowser/Data/Browser/profile.default"
|
||||
|
||||
ls -d /opt/firefox-* &>/dev/null && problemOldInstall="detected" # ancienne localisation install firefox
|
||||
[ "$problemOldInstall" ] && f__info "raw" "$RED""Ancien(s) répertoire(s) d'installation détecté(s)" \
|
||||
|
|
|
@ -2,9 +2,21 @@
|
|||
|
||||
## todo
|
||||
|
||||
## 3.4.1 06/09/2017
|
||||
## 3.5.0 06/09/2017
|
||||
|
||||
mineur: présentation version, espaces au lieu de Tabs
|
||||
* mineur: présentation version, espaces au lieu de Tabs
|
||||
* fix bug droits sur personnalisation (root sur version dev?) ffx_pers_install
|
||||
* préventif sur f_tb_pers_install
|
||||
* cosmétique dirInstallTB="/opt/usr/share/tor-browser" au lieu de "/opt/usr/share/tor-browser/"
|
||||
* f_tb_get_version, f_tb_install, f_tb_lanceur_desktop, f_tb_pers_get_version, f_tb_pers_install,
|
||||
f_tb_pers_remove, f_tb_remove
|
||||
* cosmétique profilTor
|
||||
* f_tb_pers_get_version, f_tb_pers_install
|
||||
* cosmétique dirTemp
|
||||
* f_tb_install, ffx_install, ffx_pers_install
|
||||
* cosmétique user_
|
||||
* ffx_profil_user
|
||||
* fscript_cronAnacron, fscript_update, fscript_install, fscript_remove
|
||||
|
||||
## 3.4.0 05/09/2017
|
||||
|
||||
|
|
Loading…
Reference in New Issue