mirror of https://framagit.org/kyodev/kyopages.git
0.2
This commit is contained in:
commit
fbcf587c2f
|
@ -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_
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/*v0.3*/
|
||||
/*v0.4*/
|
||||
|
||||
/* ordre toolbars */
|
||||
#titlebar { -moz-box-ordinal-group: 0 !important; }
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue