Outils pour utilisateurs

Outils du site


doc:firefox:scripter_firefox
no way to compare when less than two revisions

Différences

Ci-dessous, les différences entre deux révisions de la page.


doc:firefox:scripter_firefox [2021/10/28 22:02] (Version actuelle) – créée - modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== Scripter firefox ======
 +Automatiser des changement des profil firefox via script.
  
 +Testé sur 78.15-esr 
 +
 +<note important>Piste alternative pour faire mieux que mes hacks : https://github.com/mozilla/policy-templates (merci @smortex)</note>
 +
 +
 +===== Changers about:config =====
 +<code>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
 +}</code>
 +Exemple :
 +<code>#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}"'
 +</code>
 +
 +===== Changer les marque pages =====
 +<code>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"
 +}</code>
 +
 +Exemple :
 +<code>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
 +</code>
 +
 +===== Ajouter une extension =====
 +<note tip>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.</note>
 +
 +<code>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"
 +}
 +</code>
 +Exemple :
 +<code>#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/"
 +</code>
doc/firefox/scripter_firefox.txt · Dernière modification : 2021/10/28 22:02 de 127.0.0.1