getFirefox 4.13.0

This commit is contained in:
kyodev 2018-01-24 17:29:41 +01:00
parent 149768c78b
commit 99aabc111b
2 changed files with 98 additions and 82 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
version=4.12.0 version=4.13.0
date="16/01/2018" date="24/01/2018"
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"
@ -260,59 +260,53 @@ f__wget_test(){ # 16/01/2018
exit 0 exit 0
} }
f_affichage(){ # 22/12/2017 f_affichage(){ # 24/01/2018
local affichage_text=" _ _____ _ __
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
| (_| | __/ |_| _| | | | | __/ _| (_) > <
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/"
clear clear
echo -n "$BLUE" echo -e "$BLUE$affichage_text$YELLOW version $version - $date$STD\n"
cat << 'EOF'
_ _____ _ __
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
| (_| | __/ |_| _| | | | | __/ _| (_) > <
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
EOF
echo -e "$YELLOW version $version - $date$STD\n"
} }
# affichage help # affichage help
f_help(){ # 15/01/2018 f_help(){ # 24/01/2018
local ih help=( local ligne help=(
" ----------------------------------------------------------------------" "----------------------------------------------------------------------"
" canaux possibles:$GREEN latest, beta, nightly, dev, esr$STD" " canaux possibles:$GREEN latest, beta, nightly, dev, esr$STD"
" <all> = tous les canaux" " <all> = tous les canaux"
" " "exemple, installation version Release (latest): $BLUE$script i-latest$STD"
" exemple, installation version Release (latest): $BLUE$script i-latest$STD" ""
" " "$BLUE$script i-$STD$GREEN""canal$STD : $RED""i$STD""nstallation de $appli <canal> $RED(root)$STD"
" $BLUE$script i-$STD$GREEN""canal$STD : $RED""i$STD""nstallation de $appli <canal> $RED(root)$STD" " avec option $GREEN--sauve$STD l'archive téléchargée est sauvegardée dans le répertoire courant"
" avec option $GREEN--sauve$STD l'archive téléchargée est sauvegardée dans le répertoire courant" ""
" " "$BLUE$script d-$STD$GREEN""canal$STD : copier un profil $RED"".d$STD""efault existant sur <canal>"
" $BLUE$script d-$STD$GREEN""canal$STD : copier un profil $RED"".d$STD""efault existant sur <canal>" "$BLUE$script m-$STD$GREEN""canal$STD : installation sur le <canal> d'une archive téléchargée $RED""m$STD""anuellement $RED(root)$STD"
" $BLUE$script m-$STD$GREEN""canal$STD : installation sur le <canal> d'une archive téléchargée $RED""m$STD""anuellement $RED(root)$STD" "$BLUE$script r-$STD$GREEN""canal$STD : désinstallation ($RED""r$STD""emove) du <canal> $RED(root)$STD"
" $BLUE$script r-$STD$GREEN""canal$STD : désinstallation ($RED""r$STD""emove) du <canal> $RED(root)$STD" "$BLUE$script ri$STD : $RED""r$STD""éparation$RED i$STD""cône(s) dans le menu"
" $BLUE$script ri$STD : $RED""r$STD""éparation$RED i$STD""cône(s) dans le menu" "$BLUE$script u-$STD$GREEN""canal$STD : profil pour l'$RED""u$STD""tilisateur en cours et comme défaut système $RED(root)$STD"
" $BLUE$script u-$STD$GREEN""canal$STD : profil pour l'$RED""u$STD""tilisateur en cours et comme défaut système $RED(root)$STD" ""
" " "$BLUE$script p-$STD$GREEN""canal$STD : $RED""p$STD""ersonnalisation sur le <canal> de user.js & userChrome.css"
" $BLUE$script p-$STD$GREEN""canal$STD : $RED""p$STD""ersonnalisation sur le <canal> de user.js & userChrome.css" "$BLUE$script pr-$STD$GREEN""canal$STD : suppression des $RED""p$STD""ersonnalisations ($RED""r$STD""emove) sur le <canal>"
" $BLUE$script pr-$STD$GREEN""canal$STD : suppression des $RED""p$STD""ersonnalisations ($RED""r$STD""emove) sur le <canal>" "$BLUE$script pu$STD : mise à jour des $RED""p$STD""ersonnalisations ($RED""u$STD""pdate) installées"
" $BLUE$script pu$STD : mise à jour des $RED""p$STD""ersonnalisations ($RED""u$STD""pdate) installées" ""
" " "$BLUE$script version$STD : versions installées et en ligne"
" $BLUE$script version$STD : versions installées et en ligne" "----------------------------------------------------------------------"
" ----------------------------------------------------------------------" "$BLUE./$script$STD (ou $BLUE./$script -i$STD) : installation du script dans le système $RED(root)$STD"
" " "$BLUE$script -h$STD, --help : affichage aide"
" $BLUE./$script$STD (ou $BLUE./$script -i$STD) : installation du script dans le système $RED(root)$STD" "$BLUE$script -r$STD, --remove : désinstallation du script $RED(root)$STD"
" $BLUE$script -h$STD, --help : affichage aide" "$BLUE$script -u$STD, --upgrade : mise à jour du script"
" $BLUE$script -r$STD, --remove : désinstallation du script du système $RED(root)$STD" "$BLUE$script -v$STD, --version : version du script"
" $BLUE$script -u$STD, --upgrade : mise à jour du script"
" $BLUE$script -v$STD, --version : versions du script"
) )
IFS=$'\n' tput cuu1 # une ligne plus haut
for ih in ${help[@]}; do for ligne in "${help[@]}"; do
echo -e "$ih" echo -e " $ligne"
done done
IFS="$IFS_INI" echo -e "\n$STD plus d'infos: $GREEN$url_notice$STD"
echo -e "\n$STD plus d'infos: $YELLOW$url_notice$STD"
echo -e "$STD Tor Browser, voir getXfox:$YELLOW https://kyodev.frama.io/kyopages/scripts/getXfox/\n$STD" echo -e "$STD Tor Browser, voir getXfox:$YELLOW https://kyodev.frama.io/kyopages/scripts/getXfox/\n$STD"
} }
@ -431,7 +425,7 @@ ffx_get_canalBas(){ # 18/12/2017
} }
# version en ligne et installée, affichage # version en ligne et installée, affichage
ffx_get_version(){ # 14/01/2018 ffx_get_version(){ # 24/01/2018
local recup_url ver_latest ver_esr ver_beta ver_nightly ii local recup_url ver_latest ver_esr ver_beta ver_nightly ii
local verFfxInstall='' verFfxOnline='' pointeur fileTmp="/tmp/$script-getVersion_ffx" local verFfxInstall='' verFfxOnline='' pointeur fileTmp="/tmp/$script-getVersion_ffx"
@ -439,7 +433,7 @@ ffx_get_version(){ # 14/01/2018
#recup url #recup url
# version latest & esr # version latest & esr
recup_url="https://www.mozilla.org/en-US/firefox/notes/" recup_url="https://www.mozilla.org/en-US/firefox/notes/"
wget -q --tries=2 --timeout=15 --user-agent="$user_agent" -o "$wget_log" -O - "$recup_url" &>"$fileTmp" wget -q --tries=2 --timeout=15 --user-agent="$user_agent" -o /dev/null -O - "$recup_url" &>"$fileTmp"
[ "$?" -ne 0 ] && f__wget_test "$recup_url" [ "$?" -ne 0 ] && f__wget_test "$recup_url"
ver_latest=$( grep -Eos 'data-latest-firefox="[0-9\.]+"' $fileTmp | grep -Eo '[0-9\.]+' ) ver_latest=$( grep -Eos 'data-latest-firefox="[0-9\.]+"' $fileTmp | grep -Eo '[0-9\.]+' )
echo -n "." echo -n "."
@ -512,7 +506,7 @@ EOF
} }
# installation, $1 canal [$2='manuel', $3 archive] # installation, $1 canal [$2='manuel', $3 archive]
ffx_install(){ # 15/01/2017 ffx_install(){ # 24/01/2017
local fileTemp canal="$1" verArchive dirTemp="/tmp/$script-install_ffx" local fileTemp canal="$1" verArchive dirTemp="/tmp/$script-install_ffx"
fileTemp="$dirTemp/flash_player_npapi-linux$(getconf LONG_BIT).tar.gz" fileTemp="$dirTemp/flash_player_npapi-linux$(getconf LONG_BIT).tar.gz"
@ -537,7 +531,7 @@ ffx_install(){ # 15/01/2017
recup_url="https://download.mozilla.org/?product=firefox-$canal-latest-l10n-ssl&os=$fu_archi&lang=fr" recup_url="https://download.mozilla.org/?product=firefox-$canal-latest-l10n-ssl&os=$fu_archi&lang=fr"
fi fi
mkdir -p "$dirTemp" mkdir -p "$dirTemp"
wget -q -c --show-progress --tries=2 --timeout=15 --user-agent="$user_agent" -o "$wget_log" -O "$fileTemp" "$recup_url" wget -q -c --show-progress --tries=2 --timeout=15 --user-agent="$user_agent" -o /dev/null -O "$fileTemp" "$recup_url"
[ "$?" -ne 0 ] && f__wget_test "$recup_url" [ "$?" -ne 0 ] && f__wget_test "$recup_url"
fi fi
f__archive_test "$fileTemp" || f__error "Le fichier $fileTemp n'est pas une archive tar.gz valide" f__archive_test "$fileTemp" || f__error "Le fichier $fileTemp n'est pas une archive tar.gz valide"
@ -555,7 +549,7 @@ ffx_install(){ # 15/01/2017
chown -R "$fu_user:" "$dirInstallFfx$canal/" chown -R "$fu_user:" "$dirInstallFfx$canal/"
chmod -R g+wrs,a+r "$dirInstallFfx$canal/" chmod -R g+wrs,a+r "$dirInstallFfx$canal/"
if [ "$dl_to_svg" == "ok" ]; then if [ "$dl_to_svg" == "ok" ]; then
chown -R "$fu_user:" "$fileTemp" chown "$fu_user:" "$fileTemp"
mv "$fileTemp" ./ mv "$fileTemp" ./
fi fi
rm -rf "$dirTemp/" rm -rf "$dirTemp/"
@ -626,7 +620,7 @@ ffx_lanceur_desktop(){ # 16/01/2018
} }
# version personnalisation en ligne, [$1=quiet], assigne $perso_ffx_afaire # version personnalisation en ligne, [$1=quiet], assigne $perso_ffx_afaire
ffx_pers_get_version(){ # 14/01/2018 ffx_pers_get_version(){ # 24/01/2018
local ii verEnPlace persEnPlace verPersOnline local ii verEnPlace persEnPlace verPersOnline
x_ffx_pers_get_version=1 x_ffx_pers_get_version=1
@ -635,7 +629,7 @@ ffx_pers_get_version(){ # 14/01/2018
verEnPlace=$( sed -n '2p' $dirProfilFfx/$ii/personnalisation ) verEnPlace=$( sed -n '2p' $dirProfilFfx/$ii/personnalisation )
persEnPlace+="$ii: $verEnPlace " persEnPlace+="$ii: $verEnPlace "
fi fi
verPersOnline=$( wget -q --tries=2 --timeout=15 -o "$wget_log" -O - "$urlPersFfx/$userFfx" | sed -En 's/\/\*v(.*)\*\//\1/p' ) verPersOnline=$( wget -q --tries=2 --timeout=15 -o /dev/null -O - "$urlPersFfx/$userFfx" | sed -En 's/\/\*v(.*)\*\//\1/p' )
[ "$?" -ne 0 ] && f__wget_test "$urlPersFfx/$userFfx" [ "$?" -ne 0 ] && f__wget_test "$urlPersFfx/$userFfx"
if [ -z "$verPersOnline" ]; then if [ -z "$verPersOnline" ]; then
verPersOnline="$RED""non accessible" verPersOnline="$RED""non accessible"
@ -654,7 +648,7 @@ ffx_pers_get_version(){ # 14/01/2018
} }
# recup user.js et chrome/userChrome.css, $1=canal à personnaliser ou mettre à jour # recup user.js et chrome/userChrome.css, $1=canal à personnaliser ou mettre à jour
ffx_pers_install(){ # 14/01/2018 ffx_pers_install(){ # 24/01/2018
local verPersDL canal="$1" dirTemp="/tmp/$script-persInstall_ffx" local verPersDL canal="$1" dirTemp="/tmp/$script-persInstall_ffx"
if [ ! -d "$dirProfilFfx/$canal" ]; then if [ ! -d "$dirProfilFfx/$canal" ]; then
@ -663,10 +657,10 @@ ffx_pers_install(){ # 14/01/2018
fi fi
# chargement fichiers personnalisation # chargement fichiers personnalisation
mkdir -p "$dirTemp" mkdir -p "$dirTemp"
wget -q --tries=2 --timeout=15 -o "$wget_log" -O "$dirTemp/user.js" "$urlPersFfx/$userFfx" wget -q --tries=2 --timeout=15 -o /dev/null -O "$dirTemp/user.js" "$urlPersFfx/$userFfx"
[ "$?" -ne 0 ] && f__wget_test "$urlPersFfx/$userFfx" [ "$?" -ne 0 ] && f__wget_test "$urlPersFfx/$userFfx"
verPersDL=$( sed -En 's/\/\*v(.*)\*\//\1/p' $dirTemp/user.js ) # version uniquement sur user.js verPersDL=$( sed -En 's/\/\*v(.*)\*\//\1/p' $dirTemp/user.js ) # version uniquement sur user.js
wget -q --tries=1 --timeout=15 -o "$wget_log" -O "$dirTemp/userChrome.css" "$urlPersFfx/$chromeFfx" wget -q --tries=1 --timeout=15 -o /dev/null -O "$dirTemp/userChrome.css" "$urlPersFfx/$chromeFfx"
[ "$?" -ne 0 ] && f__wget_test "$urlPersFfx/$chromeFfx" [ "$?" -ne 0 ] && f__wget_test "$urlPersFfx/$chromeFfx"
# installation # installation
mkdir -p "$dirProfilFfx/$canal/chrome" # répertoire pour userChrome.css mkdir -p "$dirProfilFfx/$canal/chrome" # répertoire pour userChrome.css
@ -782,16 +776,12 @@ fscript_cronAnacron(){ # 29/12/2017
} }
# version script, [$1=quiet], assigne $ver_script_install, $ver_script_online, $script_a_jour=ok|KO # version script, [$1=quiet], assigne $ver_script_install, $ver_script_online, $script_a_jour=ok|KO
fscript_get_version(){ # 03/01/2018 fscript_get_version(){ # 24/01/2018
local wget_log="/tmp/wget_$RANDOM.log"
x_script_get_version=1 x_script_get_version=1
# version online # version online
ver_script_online=$( wget -q --timeout=15 -o "$wget_log" -O - "$url_script" | grep -m1 '^version=' | cut -d'=' -f2 ) ver_script_online=$( wget -q --timeout=15 -o /dev/null -O - "$url_script" | grep -m1 '^version=' | cut -d'=' -f2 )
if [ "$?" -ne 0 ]; then [ "$?" -ne 0 ] && f__wget_test "$url_script"
rm "$wget_log"
f__wget_test "$url_script"
fi
# version installée # version installée
if [ -e "$script_install" ]; then if [ -e "$script_install" ]; then
ver_script_install=$( grep -m1 '^version=' $script_install | cut -d'=' -f2 ) ver_script_install=$( grep -m1 '^version=' $script_install | cut -d'=' -f2 )
@ -802,7 +792,6 @@ fscript_get_version(){ # 03/01/2018
fi fi
[ "$ver_script_online" ] || ver_script_online="$RED""n/a" [ "$ver_script_online" ] || ver_script_online="$RED""n/a"
[ "$ver_script_install" ] || ver_script_install="Non installé" [ "$ver_script_install" ] || ver_script_install="Non installé"
rm "$wget_log"
[ "$1" == "quiet" ] && return 0 [ "$1" == "quiet" ] && return 0
f__info "raw" "script en place: $GREEN$ver_script_install" f__info "raw" "script en place: $GREEN$ver_script_install"
@ -858,8 +847,8 @@ fscript_remove(){ # 15/01/2018
} }
# mise à jour script, [$1 != "" si upgrade en place, $1 dans message info] # mise à jour script, [$1 != "" si upgrade en place, $1 dans message info]
fscript_update(){ # 27/12/2017 fscript_update(){ # 24/01/2018
local dirTemp="/tmp/$script-maj" wget_log="/tmp/wget_$RANDOM.log" upgradeEnPlace="$1" local dirTemp="/tmp/$script-maj" upgradeEnPlace="$1"
[ "$(type -t fscript_update_special)" ] && fscript_update_special # test, si fonction spécifique, appel [ "$(type -t fscript_update_special)" ] && fscript_update_special # test, si fonction spécifique, appel
if [ -z "$upgradeEnPlace" ] && ! grep -q 'bin' <<< "$( dirname $0 )" ; then if [ -z "$upgradeEnPlace" ] && ! grep -q 'bin' <<< "$( dirname $0 )" ; then
@ -874,10 +863,9 @@ fscript_update(){ # 27/12/2017
f__info "mise à jour en cours" f__info "mise à jour en cours"
fi fi
mkdir -p "$dirTemp" mkdir -p "$dirTemp"
wget -q --tries=2 --timeout=15 -o "$wget_log" -O "$dirTemp/$script" "$url_script" wget -q --tries=2 --timeout=15 -o /dev/null -O "$dirTemp/$script" "$url_script"
if [ "$?" -ne 0 ]; then if [ "$?" -ne 0 ]; then
rm -rf "$dirTemp/" rm -rf "$dirTemp"
rm -f "$wget_log"
f__wget_test "$url_script" f__wget_test "$url_script"
fi fi
if grep -q '#!/bin/bash' "$dirTemp/$script" && grep -q '^### END CONTROL' "$dirTemp/$script"; then if grep -q '#!/bin/bash' "$dirTemp/$script" && grep -q '^### END CONTROL' "$dirTemp/$script"; then
@ -890,7 +878,6 @@ fscript_update(){ # 27/12/2017
f_info "log" "$script: échec update" "mauvais téléchargement, réessayer plus tard" f_info "log" "$script: échec update" "mauvais téléchargement, réessayer plus tard"
fi fi
rm -rf "$dirTemp/" rm -rf "$dirTemp/"
rm -f "$wget_log"
} }
prg_init(){ # 22/12/2017 prg_init(){ # 22/12/2017
@ -927,10 +914,6 @@ prg_init(){ # 22/12/2017
# définition couleurs # définition couleurs
f__color f__color
# fichier log pour wget, évite bug wget? sur testing
touch "/tmp/wget.log" && wget_log="/tmp/wget.log" || wget_log="/tmp/wget-$RANDOM.log" # accessible?: wget.log sinon avec un random
chmod 666 "$wget_log" 2>/dev/null # rw pour tous, écrasable et effaçable par tous
} }
######## début script / initialisation ######## début script / initialisation
@ -952,13 +935,10 @@ url_notice="https://kyodev.frama.io/kyopages/scripts/$script/"
# paramètres firefox # paramètres firefox
appli="Firefox" appli="Firefox"
dirInstallFfx="/opt/usr/share/firefox-" dirInstallFfx="/opt/usr/share/firefox-"
dirProfilFfx="/home/$fu_user/.mozilla/firefox" # emplacement profiles.ini dirProfilFfx="/home/$fu_user/.mozilla/firefox" # emplacement profiles.ini
produit_all="esr latest beta nightly" # tous les canaux sauf dev (=beta) produit_all="esr latest beta nightly" # tous les canaux sauf dev (=beta)
produit_all_inverse="nightly beta latest esr" # tous les canaux sauf dev (=beta) produit_all_inverse="nightly beta latest esr" # tous les canaux sauf dev (=beta)
# url chargement fichiers personnalisation, std ou spécifique, une seule url possible, arrêt à la première trouvée # url chargement fichiers personnalisation, std ou spécifique, une seule url possible, arrêt à la première trouvée
for ii in $produit_all dev; do # renommage anciens fichiers personnalisation
[ -e "$dirProfilFfx/$ii/personnalisation.getFirefox" ] && mv "$dirProfilFfx/$ii/personnalisation.getFirefox" "$dirProfilFfx/$ii/personnalisation" # ancien nom
done
for ii in $produit_all dev; do for ii in $produit_all dev; do
if [ -e "$dirProfilFfx/$ii/personnalisation" ]; then if [ -e "$dirProfilFfx/$ii/personnalisation" ]; then
urlPersFfx=$( sed -n '1p' $dirProfilFfx/$ii/personnalisation ) urlPersFfx=$( sed -n '1p' $dirProfilFfx/$ii/personnalisation )
@ -970,6 +950,11 @@ done
userFfx="user.js" # nom du fichier user.js sur un dépôt distant userFfx="user.js" # nom du fichier user.js sur un dépôt distant
chromeFfx="userChrome.css" # nom du fichier userChrome.css sur un dépôt distant chromeFfx="userChrome.css" # nom du fichier userChrome.css sur un dépôt distant
# renommage anciens fichiers personnalisation
for ii in $produit_all dev; do
[ -e "$dirProfilFfx/$ii/personnalisation.getFirefox" ] && mv "$dirProfilFfx/$ii/personnalisation.getFirefox" "$dirProfilFfx/$ii/personnalisation" # ancien nom
done
options=$@ options=$@
# auto-installation script éventuel, si pas de marqueur $fileDev # auto-installation script éventuel, si pas de marqueur $fileDev
@ -1014,7 +999,7 @@ for j in $options; do # deuxième passe options, actions
m-latest | m-esr | m-dev | m-beta | m-nightly ) m-latest | m-esr | m-dev | m-beta | m-nightly )
produit=${j#*-} produit=${j#*-}
ffx_install_manuel "$produit" "$2" # installation manuelle d'une archive, $2=archive ffx_install_manuel "$produit" "$2" # installation manuelle d'une archive, $2=archive
;; exit ;;
p-latest | p-esr | p-dev | p-beta | p-nightly | p-all ) p-latest | p-esr | p-dev | p-beta | p-nightly | p-all )
produit=${j#*-} produit=${j#*-}
[ "$produit" == "all" ] && produit="$produit_all" [ "$produit" == "all" ] && produit="$produit_all"
@ -1081,8 +1066,6 @@ for j in $options; do # deuxième passe options, actions
esac esac
done done
rm -f wget_log
exit exit
### END CONTROL (contrôle chargement) ### END CONTROL (contrôle chargement)

View File

@ -3,11 +3,44 @@
todo todo
* protéger aussi x-www-browser * protéger aussi x-www-browser
* numérotation archive sauvée
* révision extraction n° version
* pocket toujours pas libéré, toujours imposé, de plus présent, maintenant dans reader: * pocket toujours pas libéré, toujours imposé, de plus présent, maintenant dans reader:
* voire à désactivation propre et effacement dans emplacement de merde extensions forcées * voire à désactivation propre et effacement dans emplacement de merde extensions forcées
* extensions.pocket.enabled;true * extensions.pocket.enabled;true
* debian en janvier 2018 répercute civilement cette escroquerie, pocket est livrée et activée par défaut dans esr et fermé un bug rapportant cet état de fait sur des promesses non tenues pas mozilla * debian en janvier 2018 répercute civilement cette escroquerie, pocket est livrée et activée par défaut dans esr et fermé un bug rapportant cet état de fait sur des promesses non tenues pas mozilla
* effacer? /usr/lib/firefox-esr/browser/features/firefox@getpocket.com.xpi
* effacer /opt/usr/share/firefox-canal/browser/features/firefox@getpocket.com.xpi (1Mo!)
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=882073
! houlà, IMPOSSIBLE de désactiver télémétrie: Autoriser Firefox à envoyer des données techniques et des données
dinteraction à Mozilla
RÉACTIVÉ à chaque démarrage! BUG ou lié surveillance activité/newtab/pub?
à investiguer
! houlà
The Snippets Service and the code that it embeds onto about:home collect data about user interaction with snippets
in order to help us determine the effectiveness of certain types of snippets and measure ...
https://abouthome-snippets-service.readthedocs.io/en/latest/data_collection.html
3 mois après, support toujours pas à jour sur quantum ;;; ! :/
??? nouveau?: impossible de désactiver notifications (et cam/microphone/localisations)
investiguer sur /opt/usr/share/firefox-latest/browser/features/activity-stream@mozilla.org.xpi (1.4Mo)
about:config activity-stream :/ beaucoup de merdes, liaison pockets
https://support.mozilla.org/en-US/questions/1181551
## getFirefox 4.13.0 24/01/2018
* révision: f_help, f_affichage
* révision: ffx_install
* révision: général wget_log: fscript_get_version, fscript_update
## getFirefox 4.12.0 16/01/2018 ## getFirefox 4.12.0 16/01/2018