mirror of https://framagit.org/kyodev/kyopages.git
3.0.0
This commit is contained in:
parent
38f9de5177
commit
2443070a7f
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
version=2.9.1
|
||||
date="30/08/2017"
|
||||
version=3.0.0b
|
||||
date="01/09/2017"
|
||||
projet="simpledeb"
|
||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
|
||||
script="getFirefox"
|
||||
|
@ -29,7 +29,7 @@ cat << 'EOF'
|
|||
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
|
||||
| (_| | __/ |_| _| | | | | __/ _| (_) > <
|
||||
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|
||||
|___/
|
||||
|___/ Tor Browser
|
||||
EOF
|
||||
echo -e "$YELLOW version $version - $date$COLOR\n"
|
||||
}
|
||||
|
@ -163,7 +163,7 @@ f__user(){ # v30/08/2017-4
|
|||
|
||||
# test wget, $1 url à tester, sortie script, sur erreur ou retour à la normale
|
||||
# si $2=print affiche url testée & entêtes http & location (si présente) et sortie normale fonction
|
||||
f__wget_test(){ # v30/08/2017
|
||||
f__wget_test(){ # v31/08/2017
|
||||
local file_test_wget retourWget retourHttp location
|
||||
file_test_wget="/tmp/testWget-$RANDOM"
|
||||
wget -Sq --tries=1 --timeout=10 --user-agent="$user_agent" --spider --save-headers "$1" &>"$file_test_wget" || retourWget="$?"
|
||||
|
@ -178,7 +178,7 @@ f__wget_test(){ # v30/08/2017
|
|||
retourHttp="$(grep -i 'HTTP/' "$file_test_wget" | tr -d '\n' | xargs)"
|
||||
location="$(grep -i 'location' $file_test_wget | xargs)"
|
||||
if [ "$2" == "print" ] && [ -z "$retourWget" ]; then
|
||||
echo -e "\n$1"
|
||||
echo -e "\n$BLUE$1"
|
||||
echo "$GREEN$retourHttp$COLOR"
|
||||
[ "$location" ] && echo "$YELLOW$location"
|
||||
echo "$COLOR"
|
||||
|
@ -186,7 +186,7 @@ f__wget_test(){ # v30/08/2017
|
|||
fi
|
||||
if [ "$retourWget" ]; then
|
||||
rm "$file_test_wget"
|
||||
f__error "erreur wget, $retourWget" "url: $1" "$YELLOW$retourHttp" \
|
||||
f__error "erreur wget, $retourWget" "$1" "$YELLOW$retourHttp" \
|
||||
"si persistance, contacter $projet $contact en indiquant les messages précédents"
|
||||
fi
|
||||
if [ "$(grep -c '200' <<< $retourHttp)" -ne 0 ]; then echo -e "$GREEN\ntout est ok, réessayer\n$COLOR"; fi
|
||||
|
@ -199,11 +199,12 @@ f_help(){ # v25/08/2017
|
|||
printf $BLUE
|
||||
cat << 'EOF'
|
||||
----------------------------------------------------------------------
|
||||
canaux possibles latest, beta, nightly, dev, esr
|
||||
canaux possibles latest, beta, nightly, dev, esr, tor
|
||||
all = latest, beta, nightly
|
||||
|
||||
exemple, installation version Release: getFirefox i-latest
|
||||
installation version latest, beta, nightly: getFirefox i-all
|
||||
installation Tor Browser: getFirefox i-tor
|
||||
|
||||
getFirefox i-canal : installation de Firefox <canal>
|
||||
getFirefox r-canal : désinstallation de Firefox <canal>
|
||||
|
@ -211,10 +212,10 @@ cat << 'EOF'
|
|||
|
||||
getFirefox m-canal : installation sur le <canal> d'une archive téléchargée manuellement
|
||||
getFirefox p-canal : personnalisation sur le <canal> de user.js & userChrome.css
|
||||
getFirefox pu : mise à jour (des) personnalisation(s)
|
||||
getFirefox pu : mise à jour (des) personnalisation(s) installée(s) Firefox et Tor Browser
|
||||
|
||||
getFirefox version : version(s) installée(s) et en ligne des différents canaux Firefox
|
||||
version script et personnalisation
|
||||
Tor Browser, version script et personnalisation
|
||||
----------------------------------------------------------------------
|
||||
./getFirefox : installation du script dans le système
|
||||
getFirefox -h, --help : affichage aide
|
||||
|
@ -231,6 +232,191 @@ EOF
|
|||
echo -e " plus d'infos:$GREEN https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox$COLOR\n"
|
||||
}
|
||||
|
||||
# assigne $verTorOnline
|
||||
f_tb_get_version(){ # v31/08/2017
|
||||
local fileTmp recup_urlTb verTorInstall
|
||||
# version online
|
||||
fileTmp="/tmp/getFirefox-wgetVer-$RANDOM"
|
||||
recup_urlTb="https://www.torproject.org/projects/torbrowser.html.en"
|
||||
wget -q --tries=2 --timeout=15 --user-agent="$user_agent" -O - "$recup_urlTb" &>"$fileTmp"
|
||||
verTorOnline="$(sed -En 's/^.*torbrowser\/([0-9.]*)\/.*_fr\.tar\.xz.*$/\1/p' $fileTmp | sed -n '1p')"
|
||||
rm "$fileTmp"
|
||||
[ "$verTorOnline" ] || verTorOnline="$RED""NA"
|
||||
# version installée
|
||||
if [ -e "$dirInstallTB"Browser/TorBrowser/Docs/ChangeLog.txt ]; then
|
||||
# verTorInstall="$GREEN$(sed -n '1p' "$dirInstallTB"Browser/TorBrowser/Docs/ChangeLog.txt | sed -En 's/^Tor Browser (.*) --.*$/\1/p')"
|
||||
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é(s): $GREEN$verTorInstall$COLORS"
|
||||
f__info "version Tor Browser en ligne: $YELLOW$verTorOnline$COLORS"
|
||||
}
|
||||
|
||||
# installation TorBrowser, [$1 manuel, $2 archive]
|
||||
f_tb_install(){ # v31/08/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/"
|
||||
fileTemp="$(basename $2)"
|
||||
mkdir -p "$dirTemp"
|
||||
else
|
||||
f__info "installation de Tor Browser"
|
||||
dirTemp="/tmp/$script-$RANDOM/"
|
||||
[ "$architecture" == "linux" ] && archi="linux32" || archi="$architecture"
|
||||
fileTemp="$dirTemp""tor-browser-$archi-$verTorOnline""_fr.tar.xz"
|
||||
mkdir -p "$dirTemp"
|
||||
# téléchargement & test archive
|
||||
f__info " - téléchargement..."
|
||||
recup_urlTb="https://www.torproject.org/dist/torbrowser/$verTorOnline/tor-browser-$archi-$verTorOnline""_fr.tar.xz"
|
||||
wget -q -c --show-progress --tries=2 --timeout=15 --user-agent="$user_agent" -O "$fileTemp" "$recup_urlTb" 2>&1
|
||||
if [ "$?" != "0" ]; then f__wget_test "$recup_urlTb"; fi
|
||||
f__archive_test "$fileTemp" || f__error "Le fichier $fileTemp n'est pas une archive tar.gz valide"
|
||||
echo
|
||||
fi
|
||||
# décompression archive téléchargée dans dossier de travail
|
||||
f__info " - décompression..."
|
||||
tar -xaf "$fileTemp" -C "$dirTemp"
|
||||
# mise en place finale
|
||||
f__info " - installation..."
|
||||
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"
|
||||
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"
|
||||
if [ "$1" == "manuel" ]; then
|
||||
f__info "log" "archive Tor Browser $versionArchive installée"
|
||||
else
|
||||
f__info "log" "Tor Browser installé $verTorOnline"
|
||||
fi
|
||||
}
|
||||
|
||||
# installation Tor Browser chargé manuellement, $1 fichier archive
|
||||
f_tb_install_manuel(){ # v31/08/2017
|
||||
[ -e "$1" ] || f__error "fichier $1 introuvable"
|
||||
f__archive_test "$1" || f__error "Le fichier $1 n'est pas une archive valide"
|
||||
f_tb_install "manuel" "$1"
|
||||
[ -e "$fileDev" ] || rm "$1" &>/dev/null ## on efface pas si fileDev (dev)
|
||||
}
|
||||
|
||||
# création lanceur.desktop pour tor-browser
|
||||
f_tb_lanceur_desktop(){ # v31/08/2017
|
||||
local fileDesktop="/usr/share/applications/tor-browser.desktop"
|
||||
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 "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"
|
||||
echo "GenericName[fr]=Navigateur Web" >> "$fileDesktop"
|
||||
echo "Terminal=false" >> "$fileDesktop"
|
||||
echo "X-MultipleArgs=false" >> "$fileDesktop"
|
||||
echo "Type=Application" >> "$fileDesktop"
|
||||
echo "Categories=Network;WebBrowser;Security;" >> "$fileDesktop"
|
||||
echo "StartupNotify=true" >> "$fileDesktop"
|
||||
chown "$user_": "$fileDesktop"
|
||||
chmod +x "$fileDesktop"
|
||||
}
|
||||
|
||||
# version personnalisation Tor Browser en ligne, assigne $persTbATraiter
|
||||
f_tb_pers_get_version(){ # v01/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)"
|
||||
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 [ "$verPersTbInstall" != "$versPersTbOnline" ]; then persTbATraiter="true"; fi
|
||||
fi
|
||||
[ "$verPersTbInstall" ] && f__info "raw" "$GREEN""personnalisation Tor Browser installée $verPersTbInstall$COLOR"
|
||||
if [ "$persTbATraiter" ]; then
|
||||
f__info "version personnalisation Tor Browser en ligne: $versPersTbOnline, mise à jour possible"
|
||||
else
|
||||
f__info "version personnalisation Tor Browser en ligne: $versPersTbOnline, pas de mise à jour à faire"
|
||||
fi
|
||||
else f__info "version personnalisation Tor Browser en ligne non accessible"; fi
|
||||
}
|
||||
|
||||
# recup userTor.js et chrome/userChrome.css pour Tor Browser
|
||||
f_tb_pers_install(){ # v01/09/2017
|
||||
local urlPersTb verPersTbDL dirTemp
|
||||
local profilTor="$dirInstallTB""Browser/TorBrowser/Data/Browser/profile.default/"
|
||||
[ ! -d "$profilTor" ] && return
|
||||
# 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)"
|
||||
else
|
||||
urlPersTb="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
||||
fi
|
||||
# chargement fichiers personnalisation
|
||||
dirTemp="/tmp/$script-$RANDOM/"
|
||||
mkdir -p "$dirTemp"
|
||||
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
|
||||
# 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"
|
||||
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"
|
||||
}
|
||||
|
||||
# maj userTor.js et chrome/userChrome.css pour Tor Browser
|
||||
f_tb_pers_upgrade(){ # v01/09/2017
|
||||
f_tb_pers_get_version
|
||||
[ "$persTbATraiter" ] && f_tb_pers_install
|
||||
}
|
||||
|
||||
# désinstallation de Tor Browser
|
||||
f_tb_remove(){ # v31/08/2017
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour désinstaller Tor Browser"
|
||||
if [ ! -d "$dirInstallTB" ]; then
|
||||
f__info "$GREEN""Tor Browser n'est pas installé."
|
||||
return 0
|
||||
fi
|
||||
local fileDesktop="/usr/share/applications/tor-browser.desktop"
|
||||
# suppression lien dans /usr/bin
|
||||
unlink "$fileDesktop" "/usr/bin/tor-browser" &>/dev/null
|
||||
# suppression lien icône
|
||||
unlink "/usr/share/pixmaps/tor-browser.png" &>/dev/null
|
||||
# supression .desktop
|
||||
rm "$fileDesktop"
|
||||
# suppression du répertoire Tor Browser
|
||||
rm -rf "$dirInstallTB"
|
||||
f__info "log" "Tor Browser désinstallé"
|
||||
}
|
||||
|
||||
# détermination canal bas Firefox installé, assigne $firefoxCanalBas
|
||||
ffx_get_canalBas(){
|
||||
for ii in nightly dev beta esr latest; do
|
||||
|
@ -240,8 +426,8 @@ ffx_get_canalBas(){
|
|||
}
|
||||
|
||||
# version Firefox en ligne
|
||||
ffx_get_versionsFF(){ # v30/08/2017
|
||||
local fileTmp recup_url verLatest verEsr verBeta verNightly versionInstall
|
||||
ffx_get_versionsFF(){ # v31/08/2017
|
||||
local fileTmp recup_url verLatest verEsr verBeta verNightly verFFxInstall
|
||||
printf "."
|
||||
fileTmp="/tmp/getFirefox-wgetVer-$RANDOM"
|
||||
# version latest & esr
|
||||
|
@ -266,7 +452,7 @@ ffx_get_versionsFF(){ # v30/08/2017
|
|||
for prod in latest esr beta dev nightly; do
|
||||
if [ -x "$dirInstall$prod/firefox" ]; then
|
||||
printf "."
|
||||
versionInstall+="$prod: $($dirInstall$prod/firefox -v | grep -Eo '[0-9].*')\t"
|
||||
verFFxInstall+="$prod: $($dirInstall$prod/firefox -v | grep -Eo '[0-9].*')\t"
|
||||
fi
|
||||
done
|
||||
printf ".\n"
|
||||
|
@ -274,7 +460,7 @@ ffx_get_versionsFF(){ # v30/08/2017
|
|||
[ "$verBeta" ] || verBeta="$RED""NA"
|
||||
[ "$verNightly" ] || verNightly="$RED""NA"
|
||||
[ "$verEsr" ] || verEsr="$RED""NA"
|
||||
f__info "raw" "version Firefox installé(s): $GREEN$versionInstall$COLOR"
|
||||
f__info "raw" "version Firefox installé(s): $GREEN$verFFxInstall$COLOR"
|
||||
f__info "version Firefox en ligne: $YELLOW""Release: $verLatest\tBeta/dev: $verBeta\tNightly: $verNightly\tESR: $verEsr$COLORS"
|
||||
}
|
||||
|
||||
|
@ -300,17 +486,17 @@ echo "$COLOR"
|
|||
}
|
||||
|
||||
# installation Firefox, $1 produit, $2 manuel, $3 archive
|
||||
ffx_install(){ # v30/08/2017
|
||||
ffx_install(){ # v31/08/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 de firefox version $versionArchive ($3)"
|
||||
f__info "installation manuelle dans $produit de firefox version $versionArchive ($3)"
|
||||
dirTemp="$(dirname $3)/$script-$RANDOM/"
|
||||
fileTemp="$(basename $3)"
|
||||
mkdir -p "$dirTemp"
|
||||
else
|
||||
produit="$1"
|
||||
f__info "installation Firefox-$produit"
|
||||
dirTemp="/tmp/$script-$RANDOM/"
|
||||
fileTemp="$dirTemp""firefox-$produit.$architecture.tar.bz2"
|
||||
|
@ -342,11 +528,12 @@ ffx_install(){ # v30/08/2017
|
|||
echo >> "/usr/bin/firefox-$produit"
|
||||
echo 'echo "$@"'" | grep -qE '\-P|\-\-ProfileManager' && exec $dirInstall$produit/firefox -P || \\" >> "/usr/bin/firefox-$produit"
|
||||
echo " exec $dirInstall$produit/firefox -P $produit "'$@' >> "/usr/bin/firefox-$produit"
|
||||
echo >> "/usr/bin/firefox-$produit"
|
||||
chmod a+x "/usr/bin/firefox-$produit"
|
||||
ffx_usr_bin
|
||||
# traitement user
|
||||
ffx_profil_user
|
||||
if [ "$1" == "manuel" ]; then
|
||||
if [ "$2" == "manuel" ]; then
|
||||
f__info "log" "archive Firefox-$produit $versionArchive installée"
|
||||
else
|
||||
f__info "log" "Firefox-$produit installé"
|
||||
|
@ -387,37 +574,35 @@ ffx_lanceur_desktop(){
|
|||
}
|
||||
|
||||
# version personnalisation en ligne, assigne $prodATraiter
|
||||
ffx_pers_get_version(){ # v30/08/2017
|
||||
local urlPers versionPersOnline versionPersInstall persEnPlace
|
||||
f__requis "wget"
|
||||
ffx_pers_get_version(){ # v01/09/2017
|
||||
local urlPers verPersOnline versionPersInstall persEnPlace
|
||||
if [ -e "$dirProfil/$produit/personnalisation.$script" ]; then
|
||||
urlPers="$(sed -n '1p' "$dirProfil/$produit/personnalisation.$script")"
|
||||
urlPers="$(sed -n '1p' $dirProfil/$produit/personnalisation.$script)"
|
||||
else
|
||||
urlPers="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
||||
fi
|
||||
versionPersOnline="$(wget -q --tries=2 --timeout=15 -O - "$urlPers"user.js | sed -En 's/\/\*v(.*)\*\//\1/p')"
|
||||
if [ "$versionPersOnline" ]; then
|
||||
verPersOnline="$(wget -q --tries=2 --timeout=15 -O - $urlPers'user.js' | sed -En 's/\/\*v(.*)\*\//\1/p')"
|
||||
if [ "$verPersOnline" ]; then
|
||||
for prod in latest esr beta dev nightly; do
|
||||
if [ -e "$dirProfil/$prod/personnalisation.$script" ]; then
|
||||
versionPersInstall="$(sed -n '2p' $dirProfil/$prod/personnalisation.$script)"
|
||||
if [ "$versionPersInstall" != "$versionPersOnline" ]; then prodATraiter+="$prod "; fi
|
||||
if [ "$versionPersInstall" != "$verPersOnline" ]; then prodATraiter+="$prod "; fi
|
||||
persEnPlace+="$prod "
|
||||
fi
|
||||
done
|
||||
[ "$persEnPlace" ] && f__info "raw" "$GREEN""personnalisation(s) installée(s) pour $persEnPlace$COLOR"
|
||||
if [ "$prodATraiter" ]; then
|
||||
f__info "version personnalisation en ligne: $versionPersOnline, mise à jour possible pour $prodATraiter"
|
||||
f__info "version personnalisation en ligne: $verPersOnline, mise à jour possible pour $prodATraiter"
|
||||
else
|
||||
f__info "version personnalisation en ligne: $versionPersOnline, pas de mise à jour à faire"
|
||||
f__info "version personnalisation en ligne: $verPersOnline, pas de mise à jour à faire"
|
||||
fi
|
||||
else f__info "version personnalisation en ligne non accessible"; fi
|
||||
}
|
||||
|
||||
# recup user.js et chrome/userChrome.css, $1=produit à personnaliser ou mettre à jour
|
||||
ffx_pers_install(){ # v30/08/2017
|
||||
local produit="$1" urlPers versionPersOnline dirTemp
|
||||
ffx_pers_install(){ # v01/09/2017
|
||||
local produit="$1" urlPers verPersDL dirTemp
|
||||
[ ! -d "$dirProfil/$produit" ] && return
|
||||
f__requis "wget"
|
||||
# détermination url chargement fichiers personnalisation, std ou spécifique dans personnalisation.getFirefox
|
||||
if [ -e "$dirProfil/$produit/personnalisation.$script" ]; then
|
||||
urlPers="$(head -n1 "$dirProfil/$produit/personnalisation.$script")"
|
||||
|
@ -429,7 +614,7 @@ ffx_pers_install(){ # v30/08/2017
|
|||
mkdir -p "$dirTemp"
|
||||
wget -q --tries=2 --timeout=15 -O "$dirTemp"user.js "$urlPers"user.js
|
||||
if [ "$?" != "0" ]; then f__wget_test "$urlPers"user.js; fi
|
||||
versionPersOnline="$(sed -En 's/\/\*v(.*)\*\//\1/p' "$dirTemp"user.js)" # uniquement sur user.js
|
||||
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
|
||||
chown -R "$user_": "$dirTemp"
|
||||
# installation
|
||||
|
@ -438,10 +623,10 @@ ffx_pers_install(){ # v30/08/2017
|
|||
cp "$dirTemp"user.js "$dirProfil/$produit/"
|
||||
[ -e "$dirTemp"userChrome.css ] && cp "$dirTemp"userChrome.css "$dirProfil/$produit/chrome"
|
||||
echo "$urlPers" > "$dirProfil/$produit/personnalisation.$script"
|
||||
echo "$versionPersOnline" >> "$dirProfil/$produit/personnalisation.$script"
|
||||
echo "$verPersDL" >> "$dirProfil/$produit/personnalisation.$script"
|
||||
chown -R "$user_": "$dirProfil/$produit/personnalisation.$script"
|
||||
rm -rf "$dirTemp"
|
||||
f__info "log" "personnalisation $versionPersOnline mise en place pour $produit"
|
||||
f__info "log" "personnalisation $verPersDL mise en place pour $produit"
|
||||
}
|
||||
|
||||
# maj user.js et chrome/userChrome.css
|
||||
|
@ -516,7 +701,7 @@ ffx_recup_url(){
|
|||
}
|
||||
|
||||
# désinstallation de Firefox, on laisse le profil user
|
||||
ffx_remove(){
|
||||
ffx_remove(){ # v31/08/2017
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour désinstaller firefox"
|
||||
killall "/opt/usr/share/firefox-$produit/firefox" &>/dev/null
|
||||
# si pas de lanceur desktop, on considère que ce canal Firefox n'est pas installé, retour
|
||||
|
@ -537,7 +722,9 @@ ffx_remove(){
|
|||
ffx_usr_bin
|
||||
ffx_update_alternatives
|
||||
f__info "log" "Firefox-$produit désinstallé, mais le profil est toujours en place" \
|
||||
"\t(le supprimer manuellement si nécessaire)."
|
||||
"\tle supprimer manuellement si nécessaire, pour cela:" \
|
||||
"fermer toutes les instances ouvertes de firefox" \
|
||||
"et lancer en console, en user:$GREEN firefox -P$COLOR"
|
||||
ffx_godzilla
|
||||
}
|
||||
|
||||
|
@ -604,8 +791,7 @@ fscript_cronAnacron_special(){ # v19/08/2017
|
|||
}
|
||||
|
||||
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko
|
||||
fscript_get_version(){ # v27/08/2017
|
||||
f__requis "wget"
|
||||
fscript_get_version(){ # v01/09/2017
|
||||
f__info "raw" "$GREEN""version script en cours: $version"
|
||||
versionScript="$(wget -q --tries=2 --timeout=15 -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
|
||||
if [ "$versionScript" ]; then
|
||||
|
@ -707,7 +893,7 @@ export PATH TERM
|
|||
f__affichage
|
||||
f__architecture || f__error "Seules les architecture 32 et 64 bits sont supportée (i686 & amd64) par Firefox"
|
||||
f__user || f__error "échec détection user"
|
||||
f__requis "file tar killall>psmisc" # requis pour fonctionnement programme
|
||||
f__requis "wget file tar killall>psmisc" # requis pour fonctionnement programme
|
||||
|
||||
fileLogs="/var/log/sdeb_$script.log"
|
||||
fileDev="/opt/bin/fileDev"
|
||||
|
@ -751,6 +937,7 @@ for i in $options; do
|
|||
exit ;; # mise en place personnalisation
|
||||
pu )
|
||||
ffx_pers_upgrade
|
||||
f_tb_pers_upgrade
|
||||
exit ;; # mise à jour personnalisations
|
||||
r-latest | r-esr | r-dev | r-beta | r-nightly | -latest | -esr | -dev | -beta | -nightly )
|
||||
produit="$(sed 's/r-//; s/-//' <<< "$1")"
|
||||
|
@ -765,8 +952,21 @@ for i in $options; do
|
|||
ffx_get_versionsFF
|
||||
fscript_get_version
|
||||
ffx_pers_get_version
|
||||
ffx_godzilla
|
||||
f_tb_get_version
|
||||
f_tb_pers_get_version
|
||||
exit ;; # affiche versions Firefox en ligne & installées, script et personnalisation
|
||||
i-tor )
|
||||
f_tb_install
|
||||
exit ;; # install: installation tor browser
|
||||
m-tor )
|
||||
f_tb_install_manuel "$2"
|
||||
exit ;; # installation manuelle archive tor browser, $2 fichier archive
|
||||
p-tor )
|
||||
f_tb_pers_install
|
||||
exit ;; # personnalisation pour tor browser
|
||||
r-tor )
|
||||
f_tb_remove
|
||||
exit ;; # remove désinstallation tor browser
|
||||
-i )
|
||||
fscript_install || f_help
|
||||
exit ;; # installation du script dans le système
|
||||
|
|
|
@ -4,6 +4,31 @@
|
|||
## todo
|
||||
* install: copie du profil du canal inférieur?
|
||||
|
||||
détecter /usr/bin/firefox pas mis à jour
|
||||
cat /usr/bin/firefox:
|
||||
ln2:
|
||||
exec /opt/usr/share/firefox-latest/firefox -P latest $@
|
||||
|
||||
au lieu de
|
||||
vide
|
||||
echo "$@" | grep -qE '\-P|\-\-ProfileManager' && exec /opt/usr/share/firefox-latest/firefox -P || \
|
||||
exec /opt/usr/share/firefox-latest/firefox -P latest $@
|
||||
|
||||
cp userTor.js /opt/usr/share/tor-browser/Browser/TorBrowser/Data/Browser/profile.default/user.js
|
||||
mkdir -p /opt/usr/share/tor-browser/Browser/TorBrowser/Data/Browser/profile.default/chrome
|
||||
cp userChrome.css /opt/usr/share/tor-browser/Browser/TorBrowser/Data/Browser/profile.default/chrome/
|
||||
|
||||
|
||||
## 3.0.0 01/09/2017
|
||||
|
||||
* révision mineure f__wget_test
|
||||
|
||||
* tor-browser
|
||||
|
||||
## 2.9.2 31/08/2017
|
||||
|
||||
* fix ffx_install, message install manuelle
|
||||
|
||||
## 2.9.1 30/08/2017
|
||||
|
||||
* révision f__requis, f__user, f__wget_test, fscript_cronAnacron
|
||||
|
|
Loading…
Reference in New Issue