This commit is contained in:
kyodev 2017-09-01 19:34:11 +02:00
commit fbcf587c2f
6 changed files with 326 additions and 57 deletions

View File

@ -1,3 +1,28 @@
_ _____ _ __
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
| (_| | __/ |_| _| | | | | __/ _| (_) > <
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
version 3.0.0 - 31/08/2017
version Tor Browser installé(s): NA
version Tor Browser en ligne: 7.0.4
installation de Tor Browser
- téléchargement...
/tmp/getFirefox-13641/tor-browser-linux32 100%[===============================>] 68,35M 4,19MB/s in 16s
- décompression...
- installation...
Tor Browser installé 7.0.4
# getFirefox
> c'est un script bash qui télécharge les dernières versions officielles de Mozilla Firefox
@ -108,6 +133,9 @@ qu'un méta-paquet, cela ne désinstallera pas effectivement les paquets dépend
il faudra, avant de désinstaller le paquet _firefox*_, désinstaller:
`apt remove gnome-core`
**Attention** selon un retour d'expérience, cela ne semble pas en pratique fonctionner. Bien vérifier lors
de cette manipulation que d'autres paquets ne sont pas désinstallés eux aussi. Dans le doute, abandonner et
préférer l'installation d'un paquet non désiré comme _chromium_
## help
@ -439,9 +467,9 @@ vVVv vVVv ': |_| |_| |_|\___/___|_|_|_|\__,_| ''
## suppression d'un profil Firefox
**FERMER** toutes les instances ouvertes
**FERMER toutes les instances ouvertes**
en user, lancer en terminal, le profile manager de Firefox: `firefox -P` :
**en user**, lancer en terminal le profil manager de Firefox: `firefox -P` :
* sélectionner le profil souhaité
* cliquer sur _supprimer un profil_

View File

@ -1,7 +1,7 @@
#!/bin/bash
version=2.9.2
date="31/08/2017"
version=3.0.0
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"
}
@ -342,6 +528,7 @@ ffx_install(){ # v31/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
@ -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

View File

@ -3,6 +3,22 @@
## todo
* install: copie du profil du canal inférieur?
détecter /usr/bin/firefox pas à 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 $@
## 3.0.0 01/09/2017
* révision mineure f__wget_test
* tor-browser
## 2.9.2 31/08/2017

View File

@ -1,4 +1,4 @@
/*v0.3*/
/*v0.4*/
// ! https://developer.mozilla.org/fr/docs/Mozilla/Preferences/A_brief_guide_to_Mozilla_preferences
// http://kb.mozillazine.org/About:config_entries
@ -17,19 +17,17 @@ user_pref("datareporting.healthreport.uploadEnabled", true);
// rapport de plantages, par défaut: false
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit", true);
//pas de newtabpage (page blanche)
//pas de newtabpage (page blanche) mais toujours saloperie engrenage pour activer facilement :(
user_pref("browser.newtabpage.enabled", false);
// pas de sites suggérés
user_pref("browser.newtabpage.enhanced", false);
// sources des sites suggérés
//ini: user_pref("browser.newtabpage.directory.source", "https://tiles.services.mozilla.com/v3/links/fetch/%LOCALE%/%CHANNEL%");
user_pref("browser.newtabpage.directory.source", "");
//ctrl+tab "chronologique"
user_pref("browser.ctrlTab.previews", true);
user_pref("browser.newtab.preload", false);
//force punycode pour idn anti_phishing, non résolu depuis début 2017!
user_pref("network.IDN_show_punycode", true);
//ctrl+tab "chronologique"
user_pref("browser.ctrlTab.previews", true);
// dernière session
user_pref("browser.startup.page", 3);
@ -54,20 +52,17 @@ user_pref("network.cookie.lifetimePolicy", 2);
// nettoyage du cache du prédicteur de liens?
user_pref("network.predictor.cleaned-up", true);
// pas de check par défaut
user_pref("browser.shell.checkDefaultBrowser", false);
// ne prévient pas de la fermeture d'onglets
user_pref("browser.tabs.warnOnClose", false);
// pas d'avertissement sur ouverture plusieurs onglets
user_pref("browser.tabs.warnOnOpen", false);
// ?
user_pref("browser.rights.3.shown", true);
//personnalisation, +simple et pas de pocket
user_pref("browser.uiCustomization.state", "{\"placements\":{\"PanelUI-contents\":[\"edit-controls\",\"zoom-controls\",\"new-window-button\",\"privatebrowsing-button\",\"save-page-button\",\"print-button\",\"history-panelmenu\",\"fullscreen-button\",\"find-button\",\"preferences-button\",\"add-ons-button\",\"developer-button\",\"sync-button\"],\"addon-bar\":[\"addonbar-closebutton\",\"status-bar\"],\"PersonalToolbar\":[\"personal-bookmarks\"],\"nav-bar\":[\"urlbar-container\",\"search-container\",\"bookmarks-menu-button\",\"downloads-button\",\"home-button\",\"screenshots_mozilla_org-browser-action\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"toolbar-menubar\":[\"menubar-items\"]},\"seen\":[\"pocket-button\",\"developer-button\",\"screenshots_mozilla_org-browser-action\",\"webide-button\"],\"dirtyAreaCache\":[\"PersonalToolbar\",\"nav-bar\",\"TabsToolbar\",\"toolbar-menubar\",\"PanelUI-contents\",\"addon-bar\"],\"currentVersion\":6,\"newElementCount\":0}");
// personnalisation, +simple et pas de pocket, abandon, danger pour future évolution de plus en plus merdique?
// pour l'affichage des toolbars, menu ou personal (bookmarks), xulstore.json remplace localstore.rf mais ne
// être scripté facilement, avant premier démarrage par exemple.
// browser.uiCustomization.state remplace ou sera remplacé par xulstore.json
// user_pref("browser.uiCustomization.state", "{\"placements\":{\"PanelUI-contents\":[\"edit-controls\",\"zoom-controls\",\"new-window-button\",\"privatebrowsing-button\",\"save-page-button\",\"print-button\",\"history-panelmenu\",\"fullscreen-button\",\"find-button\",\"preferences-button\",\"add-ons-button\",\"developer-button\",\"sync-button\"],\"addon-bar\":[\"addonbar-closebutton\",\"status-bar\"],\"PersonalToolbar\":[\"personal-bookmarks\"],\"nav-bar\":[\"urlbar-container\",\"search-container\",\"bookmarks-menu-button\",\"downloads-button\",\"home-button\",\"screenshots_mozilla_org-browser-action\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"toolbar-menubar\":[\"menubar-items\"]},\"seen\":[\"pocket-button\",\"developer-button\",\"screenshots_mozilla_org-browser-action\",\"webide-button\"],\"dirtyAreaCache\":[\"PersonalToolbar\",\"nav-bar\",\"TabsToolbar\",\"toolbar-menubar\",\"PanelUI-contents\",\"addon-bar\"],\"currentVersion\":6,\"newElementCount\":0}");
// pas d'avertissement sur about:config
user_pref("general.warnOnAboutConfig", false);
@ -114,7 +109,8 @@ user_pref("privacy.popups.showBrowserMessage", true);
// fix windows, pas d'action pour backspace
user_pref("browser.backspace_action", 2);
//liens visités, https://bugzilla.mozilla.org/show_bug.cgi?id=385111, http://htmlcolorcodes.com/fr/
// liens visités, https://bugzilla.mozilla.org/show_bug.cgi?id=385111, http://htmlcolorcodes.com/fr/
// ne force pas sur les choix déplorables en terme de contraste de certains sites
// std: user_pref("browser.visited_color", "#551A8B"); bleu foncé
// clair: pref("browser.visited_color", "#CC33CC"); Medium Faded Magenta
// clair: pref("browser.visited_color", "#CC00CC"); Dark Hard Magenta
@ -122,6 +118,9 @@ user_pref("browser.backspace_action", 2);
// Dark Dull Magenta, plus clair:
user_pref("browser.visited_color", "#993399");
//force punycode pour idn anti_phishing, non résolu depuis début 2017!
user_pref("network.IDN_show_punycode", true);
// Override default layout.css.dpi value
// -1 Use the host system's logical resolution or 96, whichever is greater, for interpreting dimensions specified in absolute units. (Default)
// 0 Use the host system's logical resolution for interpreting dimensions specified in absolute units.
@ -162,15 +161,41 @@ user_pref("privacy.resistFingerprinting", true);
//désactiver getpocket saloperie commerciale rachetée par mozilla corp
user_pref("extensions.pocket.enabled", false);
// désactiver la manipulation du click droit par javascript
// désactiver la manipulation du click droit/menu contextuel par js
user_pref("dom.event.contextmenu.enabled", false);
// désactiver la manipulation du presse papier par js
user_pref("dom.event.clipboardevents.enabled", false);
// désactiver resize et move par js
user_pref("dom.disable_window_move_resize", true);
// désactiver mise en avant ou en background par js
user_pref("dom.disable_window_flip", true);
// désactiver voulez vous vraiment quitter la page par javascript
user_pref("dom.disable_beforeunload", true);
// désactiver la désactivation du bouton close sur une popup par javascript
user_pref("dom.disable_window_open_feature.close", true);
// désactiver la désactivation barre adresse sur une popup par javascript
user_pref("dom.disable_window_open_feature.location", true);
// désactiver la désactivation barre menu sur une popup par javascript
user_pref("dom.disable_window_open_feature.menubar", true);
// désactiver la désactivation minimisable sur une popup par javascript
user_pref("dom.disable_window_open_feature.minimizable", true);
// désactiver la désactivation de la barre personelle sur une popup par javascript
user_pref("dom.disable_window_open_feature.personalbar", true);
// désactiver la désactivation du redimensionnement sur une popup par javascript
user_pref("dom.disable_window_open_feature.resizable", true);
// désactiver la désactivation des ascenseurs sur une popup par javascript, encore valable?
user_pref("dom.disable_window_open_feature.scrollbars", true);
// désactiver la désactivation barre de statut sur une popup par javascript, encore valable?
user_pref("dom.disable_window_open_feature.status", true);
// désactiver la désactivation barre de titre sur une popup par javascript, encore valable?
user_pref("dom.disable_window_open_feature.titlebar", true);
// désactiver la désactivation barre d'outils sur une popup par javascript, encore valable?
user_pref("dom.disable_window_open_feature.toolbar", true);
// désactiver le changement de statut par javascript, encore valable?
user_pref("dom.disable_window_status_change", true);
// désactiver openh264, plugin for webRtc H264
//pref("media.gmp-gmpopenh264.enabled", false);
// send a referer header with the target URI as the source, défaut false, en test
user_pref("network.http.referer.spoofSource", false);

View File

@ -1,4 +1,4 @@
/*v0.3*/
/*v0.4*/
/* ordre toolbars */
#titlebar { -moz-box-ordinal-group: 0 !important; }

View File

@ -1,4 +1,4 @@
/*v0.1*/
/*v0.2*/
// par défaut:
user_pref("intl.accept_languages", "fr, fr-fr, en-us, en");
@ -54,7 +54,7 @@ user_pref("browser.urlbar.clickSelectsAll", true);
// désactiver la manipulation du click droit/menu contextuel par js
user_pref("dom.event.contextmenu.enabled", false);
// désactiver la manipulation du presse papier, true par défaut, mais possible pbs sécu/privacy? par js
user_pref("dom.event.clipboardevents.enabled", true);
user_pref("dom.event.clipboardevents.enabled", false);
// désactiver resize et move par js
user_pref("dom.disable_window_move_resize", true);
// désactiver mise en avant ou en background par js