Outils pour utilisateurs

Outils du site


doc:firefox:scripter_firefox

Scripter firefox

Automatiser des changement des profil firefox via script.

Testé sur 78.15-esr

Piste alternative pour faire mieux que mes hacks : https://github.com/mozilla/policy-templates (merci @smortex)

Changers about:config

reconf(){
	find "$HOME/.mozilla/firefox/" -name "prefs.js" | while read f
	do
		if ! grep -q "$1" "$f"
		then
			echo "user_pref(\"$1\", $2);" >> "$f"
		else
			#dumbest workaround for browser.uiCustomization.state antislashes
			a=$(echo $2 | sed "s|\\\|\\\\\\\\\\\|g")
			sed -i 's|^user_pref("'$1'",.*);|user_pref("'$1'", '$a');|' "$f"
		fi
	done
}

Exemple :

#firefox : activer les extensions ajoutées via script
reconf "extensions.autoDisableScopes" "0"
#firefox : désactiver les brèves/+visité/+highlight
reconf "browser.newtabpage.activity-stream.feeds.snippets" "false"
reconf "browser.newtabpage.activity-stream.feeds.section.highlights" "false"
reconf "browser.newtabpage.activity-stream.feeds.topsites" "false"
#firefox : cacher le moteur de recherche ebay
reconf "browser.search.hiddenOneOffs" '"eBay"'
#firefox : Pocket à désactiver
reconf "extensions.pocket.enabled" "false"
#firefox : pouvoir cycler entre les onglets avec ctrl+tab/ctrl+maj+tab
reconf "browser.ctrlTab.recentlyUsedOrder" "false"
#firefox : ne pas avoir les menus qui clignotent dès qu'on utilise tab
reconf "ui.key.menuAccessKeyFocuses" "false"
#firefox : pas de pub, merci
reconf "browser.newtabpage.activity-stream.showSponsored" "false"
#firefox : correction fr
reconf "spellchecker.dictionary" '"fr"'

#firefox : je désactiverai aussi le bouton "profil" de ff & accès zarbos aux marque-page (ça définit tous les placements du coup)
reconf "browser.uiCustomization.state" '"{\"placements\":{\"widget-overflow-fixed-list\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"urlbar-container\",\"downloads-button\",\"ublock0_raymondhill_net-browser-action\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"personal-bookmarks\"]},\"seen\":[\"https-everywhere-eff_eff_org-browser-action\",\"ublock0_raymondhill_net-browser-action\",\"jid1-kkzogwgsw3ao4q_jetpack-browser-action\",\"developer-button\"],\"dirtyAreaCache\":[\"nav-bar\",\"widget-overflow-fixed-list\"],\"currentVersion\":16,\"newElementCount\":2}"'

Changer les marque pages

sudo apt install -y sqlite3
addBookmark(){
	fk=$(echo "INSERT INTO moz_places (url, title) VALUES('$1', '$2'); select last_insert_rowid();" | sqlite3 "$f")
	guid=$(uuidgen | cut -d"-" -f5)
	echo "INSERT INTO moz_bookmarks (type, fk, parent, position, title, guid) VALUES(1,$fk,3,0,'$2','$guid');" | sqlite3 "$f"
}
delBookmark(){
	echo "DELETE FROM moz_bookmarks WHERE title='$1';" | sqlite3 "$f"
}

Exemple :

find "$HOME/.mozilla/firefox/" -name "places.sqlite" -type f | while read f
do
	delBookmark "Debian"
	delBookmark "Débuter avec Firefox"
	addBookmark "https://www.agendadulibre.org/pages/filter" "Agenda du Libre"
done

Ajouter une extension

Pour que les extensions soient activées automatique, vérifiez que “extensions.autoDisableScopes” “0” dans about:config ! Sinon ça devra être activé manuellement dans ff.
iAddon() {
	xpi=$(curl "$1" | grep -o "https://[a-z./0-9_+-]*.xpi") || exit 1
	temp=$(mktemp)
	wget "$xpi" --output-document="$temp"
	id=$(unzip -p "$temp" "manifest.json" | grep '"id": "' | sed -r 's|.*"(.*)".*|\1|')
	find "$HOME/.mozilla/firefox/" -name "extensions" -type d | while read f
	do
		if ! test -f "$f/$id.xpi"
		then
			ln "$temp" "$f/$id.xpi"
		fi
	done
	rm "$temp"
}

Exemple :

#I don't care about cookies
iAddon "https://addons.mozilla.org/en-US/firefox/addon/i-dont-care-about-cookies/"
#RSS preview
iAddon "https://addons.mozilla.org/en-US/firefox/addon/rsspreview/"
doc/firefox/scripter_firefox.txt · Dernière modification : 2021/10/28 22:02 de 127.0.0.1