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
|
#!/bin/bash
|
||||||
|
|
||||||
version=2.9.1
|
version=3.0.0b
|
||||||
date="30/08/2017"
|
date="01/09/2017"
|
||||||
projet="simpledeb"
|
projet="simpledeb"
|
||||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
|
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
|
||||||
script="getFirefox"
|
script="getFirefox"
|
||||||
|
@ -29,7 +29,7 @@ cat << 'EOF'
|
||||||
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
|
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
|
||||||
| (_| | __/ |_| _| | | | | __/ _| (_) > <
|
| (_| | __/ |_| _| | | | | __/ _| (_) > <
|
||||||
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|
||||||
|___/
|
|___/ Tor Browser
|
||||||
EOF
|
EOF
|
||||||
echo -e "$YELLOW version $version - $date$COLOR\n"
|
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
|
# 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
|
# 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
|
local file_test_wget retourWget retourHttp location
|
||||||
file_test_wget="/tmp/testWget-$RANDOM"
|
file_test_wget="/tmp/testWget-$RANDOM"
|
||||||
wget -Sq --tries=1 --timeout=10 --user-agent="$user_agent" --spider --save-headers "$1" &>"$file_test_wget" || retourWget="$?"
|
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)"
|
retourHttp="$(grep -i 'HTTP/' "$file_test_wget" | tr -d '\n' | xargs)"
|
||||||
location="$(grep -i 'location' $file_test_wget | xargs)"
|
location="$(grep -i 'location' $file_test_wget | xargs)"
|
||||||
if [ "$2" == "print" ] && [ -z "$retourWget" ]; then
|
if [ "$2" == "print" ] && [ -z "$retourWget" ]; then
|
||||||
echo -e "\n$1"
|
echo -e "\n$BLUE$1"
|
||||||
echo "$GREEN$retourHttp$COLOR"
|
echo "$GREEN$retourHttp$COLOR"
|
||||||
[ "$location" ] && echo "$YELLOW$location"
|
[ "$location" ] && echo "$YELLOW$location"
|
||||||
echo "$COLOR"
|
echo "$COLOR"
|
||||||
|
@ -186,7 +186,7 @@ f__wget_test(){ # v30/08/2017
|
||||||
fi
|
fi
|
||||||
if [ "$retourWget" ]; then
|
if [ "$retourWget" ]; then
|
||||||
rm "$file_test_wget"
|
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"
|
"si persistance, contacter $projet $contact en indiquant les messages précédents"
|
||||||
fi
|
fi
|
||||||
if [ "$(grep -c '200' <<< $retourHttp)" -ne 0 ]; then echo -e "$GREEN\ntout est ok, réessayer\n$COLOR"; 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
|
printf $BLUE
|
||||||
cat << 'EOF'
|
cat << 'EOF'
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
canaux possibles latest, beta, nightly, dev, esr
|
canaux possibles latest, beta, nightly, dev, esr, tor
|
||||||
all = latest, beta, nightly
|
all = latest, beta, nightly
|
||||||
|
|
||||||
exemple, installation version Release: getFirefox i-latest
|
exemple, installation version Release: getFirefox i-latest
|
||||||
installation version latest, beta, nightly: getFirefox i-all
|
installation version latest, beta, nightly: getFirefox i-all
|
||||||
|
installation Tor Browser: getFirefox i-tor
|
||||||
|
|
||||||
getFirefox i-canal : installation de Firefox <canal>
|
getFirefox i-canal : installation de Firefox <canal>
|
||||||
getFirefox r-canal : désinstallation 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 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 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
|
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 : installation du script dans le système
|
||||||
getFirefox -h, --help : affichage aide
|
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"
|
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
|
# détermination canal bas Firefox installé, assigne $firefoxCanalBas
|
||||||
ffx_get_canalBas(){
|
ffx_get_canalBas(){
|
||||||
for ii in nightly dev beta esr latest; do
|
for ii in nightly dev beta esr latest; do
|
||||||
|
@ -240,8 +426,8 @@ ffx_get_canalBas(){
|
||||||
}
|
}
|
||||||
|
|
||||||
# version Firefox en ligne
|
# version Firefox en ligne
|
||||||
ffx_get_versionsFF(){ # v30/08/2017
|
ffx_get_versionsFF(){ # v31/08/2017
|
||||||
local fileTmp recup_url verLatest verEsr verBeta verNightly versionInstall
|
local fileTmp recup_url verLatest verEsr verBeta verNightly verFFxInstall
|
||||||
printf "."
|
printf "."
|
||||||
fileTmp="/tmp/getFirefox-wgetVer-$RANDOM"
|
fileTmp="/tmp/getFirefox-wgetVer-$RANDOM"
|
||||||
# version latest & esr
|
# version latest & esr
|
||||||
|
@ -266,7 +452,7 @@ ffx_get_versionsFF(){ # v30/08/2017
|
||||||
for prod in latest esr beta dev nightly; do
|
for prod in latest esr beta dev nightly; do
|
||||||
if [ -x "$dirInstall$prod/firefox" ]; then
|
if [ -x "$dirInstall$prod/firefox" ]; then
|
||||||
printf "."
|
printf "."
|
||||||
versionInstall+="$prod: $($dirInstall$prod/firefox -v | grep -Eo '[0-9].*')\t"
|
verFFxInstall+="$prod: $($dirInstall$prod/firefox -v | grep -Eo '[0-9].*')\t"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
printf ".\n"
|
printf ".\n"
|
||||||
|
@ -274,7 +460,7 @@ ffx_get_versionsFF(){ # v30/08/2017
|
||||||
[ "$verBeta" ] || verBeta="$RED""NA"
|
[ "$verBeta" ] || verBeta="$RED""NA"
|
||||||
[ "$verNightly" ] || verNightly="$RED""NA"
|
[ "$verNightly" ] || verNightly="$RED""NA"
|
||||||
[ "$verEsr" ] || verEsr="$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"
|
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
|
# 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"
|
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer Firefox"
|
||||||
local versionArchive dirTemp fileTemp produit
|
local versionArchive dirTemp fileTemp produit
|
||||||
|
produit="$1"
|
||||||
if [ "$2" == "manuel" ]; then
|
if [ "$2" == "manuel" ]; then
|
||||||
versionArchive="$(sed -E 's/firefox-(.*)\.linux.*/\1/' <<< $(basename $3))"
|
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/"
|
dirTemp="$(dirname $3)/$script-$RANDOM/"
|
||||||
fileTemp="$(basename $3)"
|
fileTemp="$(basename $3)"
|
||||||
mkdir -p "$dirTemp"
|
mkdir -p "$dirTemp"
|
||||||
else
|
else
|
||||||
produit="$1"
|
|
||||||
f__info "installation Firefox-$produit"
|
f__info "installation Firefox-$produit"
|
||||||
dirTemp="/tmp/$script-$RANDOM/"
|
dirTemp="/tmp/$script-$RANDOM/"
|
||||||
fileTemp="$dirTemp""firefox-$produit.$architecture.tar.bz2"
|
fileTemp="$dirTemp""firefox-$produit.$architecture.tar.bz2"
|
||||||
|
@ -342,11 +528,12 @@ ffx_install(){ # v30/08/2017
|
||||||
echo >> "/usr/bin/firefox-$produit"
|
echo >> "/usr/bin/firefox-$produit"
|
||||||
echo 'echo "$@"'" | grep -qE '\-P|\-\-ProfileManager' && exec $dirInstall$produit/firefox -P || \\" >> "/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 " exec $dirInstall$produit/firefox -P $produit "'$@' >> "/usr/bin/firefox-$produit"
|
||||||
|
echo >> "/usr/bin/firefox-$produit"
|
||||||
chmod a+x "/usr/bin/firefox-$produit"
|
chmod a+x "/usr/bin/firefox-$produit"
|
||||||
ffx_usr_bin
|
ffx_usr_bin
|
||||||
# traitement user
|
# traitement user
|
||||||
ffx_profil_user
|
ffx_profil_user
|
||||||
if [ "$1" == "manuel" ]; then
|
if [ "$2" == "manuel" ]; then
|
||||||
f__info "log" "archive Firefox-$produit $versionArchive installée"
|
f__info "log" "archive Firefox-$produit $versionArchive installée"
|
||||||
else
|
else
|
||||||
f__info "log" "Firefox-$produit installé"
|
f__info "log" "Firefox-$produit installé"
|
||||||
|
@ -387,37 +574,35 @@ ffx_lanceur_desktop(){
|
||||||
}
|
}
|
||||||
|
|
||||||
# version personnalisation en ligne, assigne $prodATraiter
|
# version personnalisation en ligne, assigne $prodATraiter
|
||||||
ffx_pers_get_version(){ # v30/08/2017
|
ffx_pers_get_version(){ # v01/09/2017
|
||||||
local urlPers versionPersOnline versionPersInstall persEnPlace
|
local urlPers verPersOnline versionPersInstall persEnPlace
|
||||||
f__requis "wget"
|
|
||||||
if [ -e "$dirProfil/$produit/personnalisation.$script" ]; then
|
if [ -e "$dirProfil/$produit/personnalisation.$script" ]; then
|
||||||
urlPers="$(sed -n '1p' "$dirProfil/$produit/personnalisation.$script")"
|
urlPers="$(sed -n '1p' $dirProfil/$produit/personnalisation.$script)"
|
||||||
else
|
else
|
||||||
urlPers="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
urlPers="https://framagit.org/kyodev/kyopages/raw/master/scripts/"
|
||||||
fi
|
fi
|
||||||
versionPersOnline="$(wget -q --tries=2 --timeout=15 -O - "$urlPers"user.js | sed -En 's/\/\*v(.*)\*\//\1/p')"
|
verPersOnline="$(wget -q --tries=2 --timeout=15 -O - $urlPers'user.js' | sed -En 's/\/\*v(.*)\*\//\1/p')"
|
||||||
if [ "$versionPersOnline" ]; then
|
if [ "$verPersOnline" ]; then
|
||||||
for prod in latest esr beta dev nightly; do
|
for prod in latest esr beta dev nightly; do
|
||||||
if [ -e "$dirProfil/$prod/personnalisation.$script" ]; then
|
if [ -e "$dirProfil/$prod/personnalisation.$script" ]; then
|
||||||
versionPersInstall="$(sed -n '2p' $dirProfil/$prod/personnalisation.$script)"
|
versionPersInstall="$(sed -n '2p' $dirProfil/$prod/personnalisation.$script)"
|
||||||
if [ "$versionPersInstall" != "$versionPersOnline" ]; then prodATraiter+="$prod "; fi
|
if [ "$versionPersInstall" != "$verPersOnline" ]; then prodATraiter+="$prod "; fi
|
||||||
persEnPlace+="$prod "
|
persEnPlace+="$prod "
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
[ "$persEnPlace" ] && f__info "raw" "$GREEN""personnalisation(s) installée(s) pour $persEnPlace$COLOR"
|
[ "$persEnPlace" ] && f__info "raw" "$GREEN""personnalisation(s) installée(s) pour $persEnPlace$COLOR"
|
||||||
if [ "$prodATraiter" ]; then
|
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
|
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
|
fi
|
||||||
else f__info "version personnalisation en ligne non accessible"; fi
|
else f__info "version personnalisation en ligne non accessible"; fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# recup user.js et chrome/userChrome.css, $1=produit à personnaliser ou mettre à jour
|
# recup user.js et chrome/userChrome.css, $1=produit à personnaliser ou mettre à jour
|
||||||
ffx_pers_install(){ # v30/08/2017
|
ffx_pers_install(){ # v01/09/2017
|
||||||
local produit="$1" urlPers versionPersOnline dirTemp
|
local produit="$1" urlPers verPersDL dirTemp
|
||||||
[ ! -d "$dirProfil/$produit" ] && return
|
[ ! -d "$dirProfil/$produit" ] && return
|
||||||
f__requis "wget"
|
|
||||||
# détermination url chargement fichiers personnalisation, std ou spécifique dans personnalisation.getFirefox
|
# détermination url chargement fichiers personnalisation, std ou spécifique dans personnalisation.getFirefox
|
||||||
if [ -e "$dirProfil/$produit/personnalisation.$script" ]; then
|
if [ -e "$dirProfil/$produit/personnalisation.$script" ]; then
|
||||||
urlPers="$(head -n1 "$dirProfil/$produit/personnalisation.$script")"
|
urlPers="$(head -n1 "$dirProfil/$produit/personnalisation.$script")"
|
||||||
|
@ -429,7 +614,7 @@ ffx_pers_install(){ # v30/08/2017
|
||||||
mkdir -p "$dirTemp"
|
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
|
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
|
wget -q --tries=1 --timeout=15 -O "$dirTemp"userChrome.css "$urlPers"userChrome.css
|
||||||
chown -R "$user_": "$dirTemp"
|
chown -R "$user_": "$dirTemp"
|
||||||
# installation
|
# installation
|
||||||
|
@ -438,10 +623,10 @@ ffx_pers_install(){ # v30/08/2017
|
||||||
cp "$dirTemp"user.js "$dirProfil/$produit/"
|
cp "$dirTemp"user.js "$dirProfil/$produit/"
|
||||||
[ -e "$dirTemp"userChrome.css ] && cp "$dirTemp"userChrome.css "$dirProfil/$produit/chrome"
|
[ -e "$dirTemp"userChrome.css ] && cp "$dirTemp"userChrome.css "$dirProfil/$produit/chrome"
|
||||||
echo "$urlPers" > "$dirProfil/$produit/personnalisation.$script"
|
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"
|
chown -R "$user_": "$dirProfil/$produit/personnalisation.$script"
|
||||||
rm -rf "$dirTemp"
|
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
|
# maj user.js et chrome/userChrome.css
|
||||||
|
@ -516,7 +701,7 @@ ffx_recup_url(){
|
||||||
}
|
}
|
||||||
|
|
||||||
# désinstallation de Firefox, on laisse le profil user
|
# 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"
|
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour désinstaller firefox"
|
||||||
killall "/opt/usr/share/firefox-$produit/firefox" &>/dev/null
|
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
|
# 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_usr_bin
|
||||||
ffx_update_alternatives
|
ffx_update_alternatives
|
||||||
f__info "log" "Firefox-$produit désinstallé, mais le profil est toujours en place" \
|
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
|
ffx_godzilla
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -604,8 +791,7 @@ fscript_cronAnacron_special(){ # v19/08/2017
|
||||||
}
|
}
|
||||||
|
|
||||||
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko
|
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko
|
||||||
fscript_get_version(){ # v27/08/2017
|
fscript_get_version(){ # v01/09/2017
|
||||||
f__requis "wget"
|
|
||||||
f__info "raw" "$GREEN""version script en cours: $version"
|
f__info "raw" "$GREEN""version script en cours: $version"
|
||||||
versionScript="$(wget -q --tries=2 --timeout=15 -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
|
versionScript="$(wget -q --tries=2 --timeout=15 -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
|
||||||
if [ "$versionScript" ]; then
|
if [ "$versionScript" ]; then
|
||||||
|
@ -707,7 +893,7 @@ export PATH TERM
|
||||||
f__affichage
|
f__affichage
|
||||||
f__architecture || f__error "Seules les architecture 32 et 64 bits sont supportée (i686 & amd64) par Firefox"
|
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__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"
|
fileLogs="/var/log/sdeb_$script.log"
|
||||||
fileDev="/opt/bin/fileDev"
|
fileDev="/opt/bin/fileDev"
|
||||||
|
@ -751,6 +937,7 @@ for i in $options; do
|
||||||
exit ;; # mise en place personnalisation
|
exit ;; # mise en place personnalisation
|
||||||
pu )
|
pu )
|
||||||
ffx_pers_upgrade
|
ffx_pers_upgrade
|
||||||
|
f_tb_pers_upgrade
|
||||||
exit ;; # mise à jour personnalisations
|
exit ;; # mise à jour personnalisations
|
||||||
r-latest | r-esr | r-dev | r-beta | r-nightly | -latest | -esr | -dev | -beta | -nightly )
|
r-latest | r-esr | r-dev | r-beta | r-nightly | -latest | -esr | -dev | -beta | -nightly )
|
||||||
produit="$(sed 's/r-//; s/-//' <<< "$1")"
|
produit="$(sed 's/r-//; s/-//' <<< "$1")"
|
||||||
|
@ -765,8 +952,21 @@ for i in $options; do
|
||||||
ffx_get_versionsFF
|
ffx_get_versionsFF
|
||||||
fscript_get_version
|
fscript_get_version
|
||||||
ffx_pers_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
|
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 )
|
-i )
|
||||||
fscript_install || f_help
|
fscript_install || f_help
|
||||||
exit ;; # installation du script dans le système
|
exit ;; # installation du script dans le système
|
||||||
|
|
|
@ -4,6 +4,31 @@
|
||||||
## todo
|
## todo
|
||||||
* install: copie du profil du canal inférieur?
|
* 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
|
## 2.9.1 30/08/2017
|
||||||
|
|
||||||
* révision f__requis, f__user, f__wget_test, fscript_cronAnacron
|
* révision f__requis, f__user, f__wget_test, fscript_cronAnacron
|
||||||
|
|
Loading…
Reference in New Issue