This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

How can I install add-ons automatically ?

  • 2 cavab
  • 0 have this problem
  • 5 views
  • Last reply by cor-el

more options

Hi,

I am trying to setup firefox to my liking automatically To this end, I am using "firefox profile maker" and it works great but I'm having issues adding all the add-ons that I like.

Only the add-ons that are included in ffprofile make seem to install properly (but also, now I can't uninstall them ??)

Anyway here is my full process for installing firefox automatically and then configuring it automatically. Perhaps you can hep me figure it out.

First I install firefox automatically using the offline installer (my computers do not have access to internet by default, I must whitelist each computer, then individual software then individual websites first)

So, I obtain the offline installer from this URL https://download-installer.cdn.mozilla.net/pub/firefox/releases/111.0/win64/en-CA/Firefox%20Setup%20111.0.exe

Next I have used the website https://ffprofile.com/ to create a pre-made profile

This yields two files, and their contents profile.zip

profile\prefs.js profile\extensions\CanvasBlocker@kkapsner.de.xpi profile\extensions\uBlock0@raymondhill.net.xpi enterprise_policy.zip defaults\pref\autoconfig.js distribution\policies.json firefox.cfg

Next, I have pre-downloaded added all the add-on files I would like to install to the add-on folder However, when I perform the procedure, only canvas blocker and uBlock0 get installed

I'm not sure what I'm doing wrong. If I take all the add-on files, dump them all into firefox, it opens 16 tabs On each tab I can now click add and click okay, if I do it right and quick enough, they all install, unless I miss one.

That's over 50 clicks and very annoying !


Here is the list of add-ons I'm trying to add

extensions\umibo-2.4.2.xpi extensions\amp2html-2.1.0.xpi extensions\close_tabs_right-1.2.4.xpi extensions\cookie_autodelete-3.8.2.xpi extensions\copy_tabs-1.12.35.xpi extensions\darkreader-4.9.62.xpi extensions\facebook_container-2.3.9.xpi extensions\google_container-1.5.4.xpi extensions\istilldontcareaboutcookies-1.1.1.xpi extensions\merge_window-1.0.2.xpi extensions\old_reddit_redirect-1.6.1.xpi extensions\order_tabs_by_domain-0.2.3.xpi extensions\privacy_badger17-2023.1.31.xpi extensions\spoof_geolocation-0.1.1.xpi extensions\tab_manager_plus_for_firefox-5.2.0.xpi extensions\traduzir_paginas_web-9.6.1.xpi

I have created a script that I run after installing firefox using this command

"Firefox Setup 111.0.exe" /S

Then I run the following script to automatically install my pre-made profile

Firefox-deploy-ffprofile.bat


@echo off set z7EXE=%PROGRAMFILES%\7-Zip\7z.exe set EnterpriseConfig=firefox-profile\enterprise_policy.zip set ProfileConfig=firefox-profile\profile.zip set FirefoxProfile= set FirefoxInstallFolder=%PROGRAMFILES%\Mozilla Firefox\ set FirefoxProfilesFolder=%APPDATA%\Mozilla\Firefox\Profiles\

if not exist "%z7EXE%" ( echo could not find 7z.exe, cannot continue & goto end ) if not exist "%FirefoxInstallFolder%" ( echo firefox is not installed, cannot continue & goto end ) if not exist "%FirefoxProfilesFolder%"*.default-release ( echo Profile folder missing, starting and stopping firefox to create them "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" & timeout /t 10 )

for /D %%i in ("%FirefoxProfilesFolder%"*.default-release) do (

   if not defined FirefoxProfile ( 

set "FirefoxProfile=%%i" ) else ( set "FirefoxProfile=!FirefoxProfile!;%%i" ) )

echo Firefox profile is %FirefoxProfile% echo Is firefox running ? If yes, shutdown firefox tasklist /nh /fi "imagename eq firefox.exe" | find /i "firefox.exe" > nul if %errorlevel% equ 0 ( echo Shutting down firefox & taskkill /f /im firefox.exe & timeout /t 5 ) else ( echo Firefox was not running. )

tasklist /nh /fi "imagename eq firefox.exe" | find /i "firefox.exe" if %errorlevel% equ 0 (echo Firefox is still running & taskkill /f /im firefox.exe & timeout /t 5 )


echo Moving old profile out of the way, creating empty profile folder move "%FirefoxProfile%" "%FirefoxProfilesFolder%%date%.%TIME:~0,2%h%TIME:~3,2%s%TIME:~6,2%.old-release" md "%FirefoxProfile%" echo Decompress pre-made profiles "%z7EXE%" x "%ProfileConfig%" -y -o"%FirefoxProfile%" -bso0 -bsp2 "%z7EXE%" x "%EnterpriseConfig%" -y -o"%FirefoxInstallFolder%" -bso0 -bsp2

echo Starting firefox and waiting 20 seconds for addons to install timeout /t 1 & "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" & timeout /t 20

echo Is firefox running ? If yes, shutdown firefox tasklist /nh /fi "imagename eq firefox.exe" | find /i "firefox.exe" > nul if %errorlevel% equ 0 ( echo Shutting down firefox & taskkill /f /im firefox.exe & timeout /t 5 )

tasklist /nh /fi "imagename eq firefox.exe" | find /i "firefox.exe" > nul if %errorlevel% equ 0 (echo Firefox is still running & taskkill /f /im firefox.exe & timeout /t 5 )

end

echo firefox deployment finished

rem escalate script as needed rem pause at the end, unless unattend is a parameter


Here are all the settings which I have selected when I created the ffprofile


Disable firefox intro tabs on the first start Disable new tab page intro Disable Pocket Disable Sponsored Top Sites Disable about:config warning. Do not trim URLs in navigation bar Disable checking if Firefox is the default browser Disable reset prompt. Disable Heartbeat Userrating Content of the new tab page : empty Disable Firefox View Disable autoplay of

Disable Telemetry Disable health report Disable shield studies Disable experiments Disable Crash Reports Opt out metadata updates Disable google safebrowsing Disable malware scan Disable DNS over HTTPS Disable preloading of the new tab page. Disable about:addons' Get Add-ons panel Disable check for captive portal. Disables playback of DRM-controlled HTML5 content Disables the Widevine Content Decryption Module provided by Google Inc. Disable access to device sensor data Disable Firefox Suggest

Block Cookies : Block cookies, which are not from the site you're visiting Block Referer : spoof referer Disable DOM storage ** Disable IndexedDB (breaks things) ** Disable the Offline Cache. Sessionstore Privacy : never store extra session data Disable Link Prefetching Disable speculative website loading. Use a private container for new tab page thumbnails Disable WebGL Override graphics card vendor and model strings in the WebGL API Disable the clipboardevents.

Enable Do-not-Track (DNT) Enable resistFingerprinting Enable Mozilla Trackingprotection Enable firstparty isolation. ** Disable Browser Pings Disable TLS session identifiers Disable Beacons Disable the Battery API Disable media device queries Disable form autofill Disable webaudio API Disable video statistics Enable query parameter stripping

Disable automatic updates. Disable searching for updates.

Install CanvasBlocker extension. Install the Privacy Badger extension. Install uBlock Origin extension. Install Decentraleyes extension. Install ClearURLs extension. Install Temporary Containers extension. Install Firefox Multi-Account Containers extension Explicitly disable Greasemonkey user tracking

Disable Firefox accounts Show the bookmarks toolbar by default Disable system addon update


Here are the contents of the profile\prefs.js file


user_pref("app.normandy.api_url", ""); user_pref("app.normandy.enabled", false); user_pref("app.shield.optoutstudies.enabled", false); user_pref("app.update.auto", false); user_pref("beacon.enabled", false); user_pref("breakpad.reportURL", ""); user_pref("browser.aboutConfig.showWarning", false); user_pref("browser.cache.offline.enable", false); user_pref("browser.crashReports.unsubmittedCheck.autoSubmit", false); user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); user_pref("browser.crashReports.unsubmittedCheck.enabled", false); user_pref("browser.disableResetPrompt", true); user_pref("browser.newtab.preload", false); user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); user_pref("browser.newtabpage.enhanced", false); user_pref("browser.newtabpage.introShown", true); user_pref("browser.safebrowsing.appRepURL", ""); user_pref("browser.safebrowsing.blockedURIs.enabled", false); user_pref("browser.safebrowsing.downloads.enabled", false); user_pref("browser.safebrowsing.downloads.remote.enabled", false); user_pref("browser.safebrowsing.downloads.remote.url", ""); user_pref("browser.safebrowsing.enabled", false); user_pref("browser.safebrowsing.malware.enabled", false); user_pref("browser.safebrowsing.phishing.enabled", false); user_pref("browser.selfsupport.url", ""); user_pref("browser.send_pings", false); user_pref("browser.sessionstore.privacy_level", 0); user_pref("browser.shell.checkDefaultBrowser", false); user_pref("browser.startup.homepage_override.mstone", "ignore"); user_pref("browser.tabs.crashReporting.sendReport", false); user_pref("browser.tabs.firefox-view", false); user_pref("browser.urlbar.groupLabels.enabled", false); user_pref("browser.urlbar.quicksuggest.enabled", false); user_pref("browser.urlbar.speculativeConnect.enabled", false); user_pref("browser.urlbar.trimURLs", false); user_pref("datareporting.healthreport.service.enabled", false); user_pref("datareporting.healthreport.uploadEnabled", false); user_pref("datareporting.policy.dataSubmissionEnabled", false); user_pref("device.sensors.ambientLight.enabled", false); user_pref("device.sensors.enabled", false); user_pref("device.sensors.motion.enabled", false); user_pref("device.sensors.orientation.enabled", false); user_pref("device.sensors.proximity.enabled", false); user_pref("dom.battery.enabled", false); user_pref("dom.event.clipboardevents.enabled", false); user_pref("dom.webaudio.enabled", false); user_pref("experiments.activeExperiment", false); user_pref("experiments.enabled", false); user_pref("experiments.manifest.uri", ""); user_pref("experiments.supported", false); user_pref("extensions.CanvasBlocker@kkapsner.de.whiteList", ""); user_pref("extensions.autoDisableScopes", 14); user_pref("extensions.getAddons.cache.enabled", false); user_pref("extensions.getAddons.showPane", false); user_pref("extensions.greasemonkey.stats.optedin", false); user_pref("extensions.greasemonkey.stats.url", ""); user_pref("extensions.pocket.enabled", false); user_pref("extensions.shield-recipe-client.api_url", ""); user_pref("extensions.shield-recipe-client.enabled", false); user_pref("extensions.webservice.discoverURL", ""); user_pref("media.autoplay.default", 0); user_pref("media.autoplay.enabled", true); user_pref("media.eme.enabled", false); user_pref("media.gmp-widevinecdm.enabled", false); user_pref("media.navigator.enabled", false); user_pref("media.video_stats.enabled", false); user_pref("network.allow-experiments", false); user_pref("network.captive-portal-service.enabled", false); user_pref("network.cookie.cookieBehavior", 1); user_pref("network.dns.disablePrefetch", true); user_pref("network.dns.disablePrefetchFromHTTPS", true); user_pref("network.http.referer.spoofSource", true); user_pref("network.http.speculative-parallel-limit", 0); user_pref("network.predictor.enable-prefetch", false); user_pref("network.predictor.enabled", false); user_pref("network.prefetch-next", false); user_pref("network.trr.mode", 5); user_pref("privacy.donottrackheader.enabled", true); user_pref("privacy.donottrackheader.value", 1); user_pref("privacy.firstparty.isolate", true); user_pref("privacy.query_stripping", true); user_pref("privacy.trackingprotection.cryptomining.enabled", true); user_pref("privacy.trackingprotection.enabled", true); user_pref("privacy.trackingprotection.fingerprinting.enabled", true); user_pref("privacy.trackingprotection.pbmode.enabled", true); user_pref("privacy.usercontext.about_newtab_segregation.enabled", true); user_pref("security.ssl.disable_session_identifiers", true); user_pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSite", false); user_pref("signon.autofillForms", false); user_pref("toolkit.telemetry.archive.enabled", false); user_pref("toolkit.telemetry.bhrPing.enabled", false); user_pref("toolkit.telemetry.cachedClientID", ""); user_pref("toolkit.telemetry.enabled", false); user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); user_pref("toolkit.telemetry.hybridContent.enabled", false); user_pref("toolkit.telemetry.newProfilePing.enabled", false); user_pref("toolkit.telemetry.prompted", 2); user_pref("toolkit.telemetry.rejected", true); user_pref("toolkit.telemetry.reportingpolicy.firstRun", false); user_pref("toolkit.telemetry.server", ""); user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); user_pref("toolkit.telemetry.unified", false); user_pref("toolkit.telemetry.unifiedIsOptIn", false); user_pref("toolkit.telemetry.updatePing.enabled", false); user_pref("webgl.renderer-string-override", " "); user_pref("webgl.vendor-string-override", " ");


Here are the contents of the profile\prefs.js file


// IMPORTANT: Start your code on the 2nd line pref("app.normandy.api_url", ""); pref("app.normandy.enabled", false); pref("app.shield.optoutstudies.enabled", false); pref("app.update.auto", false); pref("beacon.enabled", false); pref("breakpad.reportURL", ""); pref("browser.aboutConfig.showWarning", false); pref("browser.cache.offline.enable", false); pref("browser.crashReports.unsubmittedCheck.autoSubmit", false); pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); pref("browser.crashReports.unsubmittedCheck.enabled", false); pref("browser.disableResetPrompt", true); pref("browser.newtab.preload", false); pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); pref("browser.newtabpage.enhanced", false); pref("browser.newtabpage.introShown", true); pref("browser.safebrowsing.appRepURL", ""); pref("browser.safebrowsing.blockedURIs.enabled", false); pref("browser.safebrowsing.downloads.enabled", false); pref("browser.safebrowsing.downloads.remote.enabled", false); pref("browser.safebrowsing.downloads.remote.url", ""); pref("browser.safebrowsing.enabled", false); pref("browser.safebrowsing.malware.enabled", false); pref("browser.safebrowsing.phishing.enabled", false); pref("browser.selfsupport.url", ""); pref("browser.send_pings", false); pref("browser.sessionstore.privacy_level", 0); pref("browser.shell.checkDefaultBrowser", false); pref("browser.startup.homepage_override.mstone", "ignore"); pref("browser.tabs.crashReporting.sendReport", false); pref("browser.tabs.firefox-view", false); pref("browser.urlbar.groupLabels.enabled", false); pref("browser.urlbar.quicksuggest.enabled", false); pref("browser.urlbar.speculativeConnect.enabled", false); pref("browser.urlbar.trimURLs", false); pref("datareporting.healthreport.service.enabled", false); pref("datareporting.healthreport.uploadEnabled", false); pref("datareporting.policy.dataSubmissionEnabled", false); pref("device.sensors.ambientLight.enabled", false); pref("device.sensors.enabled", false); pref("device.sensors.motion.enabled", false); pref("device.sensors.orientation.enabled", false); pref("device.sensors.proximity.enabled", false); pref("dom.battery.enabled", false); pref("dom.event.clipboardevents.enabled", false); pref("dom.webaudio.enabled", false); pref("experiments.activeExperiment", false); pref("experiments.enabled", false); pref("experiments.manifest.uri", ""); pref("experiments.supported", false); pref("extensions.CanvasBlocker@kkapsner.de.whiteList", ""); pref("extensions.autoDisableScopes", 14); pref("extensions.getAddons.cache.enabled", false); pref("extensions.getAddons.showPane", false); pref("extensions.greasemonkey.stats.optedin", false); pref("extensions.greasemonkey.stats.url", ""); pref("extensions.pocket.enabled", false); pref("extensions.shield-recipe-client.api_url", ""); pref("extensions.shield-recipe-client.enabled", false); pref("extensions.webservice.discoverURL", ""); pref("media.autoplay.default", 0); pref("media.autoplay.enabled", true); pref("media.eme.enabled", false); pref("media.gmp-widevinecdm.enabled", false); pref("media.navigator.enabled", false); pref("media.video_stats.enabled", false); pref("network.allow-experiments", false); pref("network.captive-portal-service.enabled", false); pref("network.cookie.cookieBehavior", 1); pref("network.dns.disablePrefetch", true); pref("network.dns.disablePrefetchFromHTTPS", true); pref("network.http.referer.spoofSource", true); pref("network.http.speculative-parallel-limit", 0); pref("network.predictor.enable-prefetch", false); pref("network.predictor.enabled", false); pref("network.prefetch-next", false); pref("network.trr.mode", 5); pref("privacy.donottrackheader.enabled", true); pref("privacy.donottrackheader.value", 1); pref("privacy.firstparty.isolate", true); pref("privacy.query_stripping", true); pref("privacy.trackingprotection.cryptomining.enabled", true); pref("privacy.trackingprotection.enabled", true); pref("privacy.trackingprotection.fingerprinting.enabled", true); pref("privacy.trackingprotection.pbmode.enabled", true); pref("privacy.usercontext.about_newtab_segregation.enabled", true); pref("security.ssl.disable_session_identifiers", true); pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSite", false); pref("signon.autofillForms", false); pref("toolkit.telemetry.archive.enabled", false); pref("toolkit.telemetry.bhrPing.enabled", false); pref("toolkit.telemetry.cachedClientID", ""); pref("toolkit.telemetry.enabled", false); pref("toolkit.telemetry.firstShutdownPing.enabled", false); pref("toolkit.telemetry.hybridContent.enabled", false); pref("toolkit.telemetry.newProfilePing.enabled", false); pref("toolkit.telemetry.prompted", 2); pref("toolkit.telemetry.rejected", true); pref("toolkit.telemetry.reportingpolicy.firstRun", false); pref("toolkit.telemetry.server", ""); pref("toolkit.telemetry.shutdownPingSender.enabled", false); pref("toolkit.telemetry.unified", false); pref("toolkit.telemetry.unifiedIsOptIn", false); pref("toolkit.telemetry.updatePing.enabled", false); pref("webgl.renderer-string-override", " "); pref("webgl.vendor-string-override", " ");


Here are the contents of the defaults\pref\autoconfig.js file


pref("general.config.filename", "firefox.cfg"); pref("general.config.obscure_value", 0);


Here are the contents of the distribution\policies.json file


{

 "policies": {
   "NewTabPage": false,
   "ExtensionSettings": {
     "uBlock0@raymondhill.net": {
       "install_url": "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi",
       "installation_mode": "normal_installed"
     },
     "CanvasBlocker@kkapsner.net": {
       "install_url": "https://addons.mozilla.org/firefox/downloads/latest/canvasblocker/latest.xpi",
       "installation_mode": "normal_installed"
     }
   },
   "NetworkPrediction": false,
   "CaptivePortal": false,
   "DNSOverHTTPS": {
     "Enabled": false
   },
   "DisableFirefoxStudies": true,
   "DisableTelemetry": true,
   "DisablePocket": true
 }

}


I wish this process was not so onerous as it has consumed my entire monday :( Thanks

Hi, I am trying to setup firefox to my liking automatically To this end, I am using "firefox profile maker" and it works great but I'm having issues adding all the add-ons that I like. Only the add-ons that are included in ffprofile make seem to install properly (but also, now I can't uninstall them ??) Anyway here is my full process for installing firefox automatically and then configuring it automatically. Perhaps you can hep me figure it out. First I install firefox automatically using the offline installer (my computers do not have access to internet by default, I must whitelist each computer, then individual software then individual websites first) So, I obtain the offline installer from this URL https://download-installer.cdn.mozilla.net/pub/firefox/releases/111.0/win64/en-CA/Firefox%20Setup%20111.0.exe Next I have used the website https://ffprofile.com/ to create a pre-made profile This yields two files, and their contents profile.zip profile\prefs.js profile\extensions\CanvasBlocker@kkapsner.de.xpi profile\extensions\uBlock0@raymondhill.net.xpi enterprise_policy.zip defaults\pref\autoconfig.js distribution\policies.json firefox.cfg Next, I have pre-downloaded added all the add-on files I would like to install to the add-on folder However, when I perform the procedure, only canvas blocker and uBlock0 get installed I'm not sure what I'm doing wrong. If I take all the add-on files, dump them all into firefox, it opens 16 tabs On each tab I can now click add and click okay, if I do it right and quick enough, they all install, unless I miss one. That's over 50 clicks and very annoying ! Here is the list of add-ons I'm trying to add extensions\umibo-2.4.2.xpi extensions\amp2html-2.1.0.xpi extensions\close_tabs_right-1.2.4.xpi extensions\cookie_autodelete-3.8.2.xpi extensions\copy_tabs-1.12.35.xpi extensions\darkreader-4.9.62.xpi extensions\facebook_container-2.3.9.xpi extensions\google_container-1.5.4.xpi extensions\istilldontcareaboutcookies-1.1.1.xpi extensions\merge_window-1.0.2.xpi extensions\old_reddit_redirect-1.6.1.xpi extensions\order_tabs_by_domain-0.2.3.xpi extensions\privacy_badger17-2023.1.31.xpi extensions\spoof_geolocation-0.1.1.xpi extensions\tab_manager_plus_for_firefox-5.2.0.xpi extensions\traduzir_paginas_web-9.6.1.xpi I have created a script that I run after installing firefox using this command "Firefox Setup 111.0.exe" /S Then I run the following script to automatically install my pre-made profile Firefox-deploy-ffprofile.bat --------------------------------------------------------------- @echo off set z7EXE=%PROGRAMFILES%\7-Zip\7z.exe set EnterpriseConfig=firefox-profile\enterprise_policy.zip set ProfileConfig=firefox-profile\profile.zip set FirefoxProfile= set FirefoxInstallFolder=%PROGRAMFILES%\Mozilla Firefox\ set FirefoxProfilesFolder=%APPDATA%\Mozilla\Firefox\Profiles\ if not exist "%z7EXE%" ( echo could not find 7z.exe, cannot continue & goto end ) if not exist "%FirefoxInstallFolder%" ( echo firefox is not installed, cannot continue & goto end ) if not exist "%FirefoxProfilesFolder%"*.default-release ( echo Profile folder missing, starting and stopping firefox to create them "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" & timeout /t 10 ) for /D %%i in ("%FirefoxProfilesFolder%"*.default-release) do ( if not defined FirefoxProfile ( set "FirefoxProfile=%%i" ) else ( set "FirefoxProfile=!FirefoxProfile!;%%i" ) ) echo Firefox profile is %FirefoxProfile% echo Is firefox running ? If yes, shutdown firefox tasklist /nh /fi "imagename eq firefox.exe" | find /i "firefox.exe" > nul if %errorlevel% equ 0 ( echo Shutting down firefox & taskkill /f /im firefox.exe & timeout /t 5 ) else ( echo Firefox was not running. ) tasklist /nh /fi "imagename eq firefox.exe" | find /i "firefox.exe" if %errorlevel% equ 0 (echo Firefox is still running & taskkill /f /im firefox.exe & timeout /t 5 ) echo Moving old profile out of the way, creating empty profile folder move "%FirefoxProfile%" "%FirefoxProfilesFolder%%date%.%TIME:~0,2%h%TIME:~3,2%s%TIME:~6,2%.old-release" md "%FirefoxProfile%" echo Decompress pre-made profiles "%z7EXE%" x "%ProfileConfig%" -y -o"%FirefoxProfile%" -bso0 -bsp2 "%z7EXE%" x "%EnterpriseConfig%" -y -o"%FirefoxInstallFolder%" -bso0 -bsp2 echo Starting firefox and waiting 20 seconds for addons to install timeout /t 1 & "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" & timeout /t 20 echo Is firefox running ? If yes, shutdown firefox tasklist /nh /fi "imagename eq firefox.exe" | find /i "firefox.exe" > nul if %errorlevel% equ 0 ( echo Shutting down firefox & taskkill /f /im firefox.exe & timeout /t 5 ) tasklist /nh /fi "imagename eq firefox.exe" | find /i "firefox.exe" > nul if %errorlevel% equ 0 (echo Firefox is still running & taskkill /f /im firefox.exe & timeout /t 5 ) :end echo firefox deployment finished rem escalate script as needed rem pause at the end, unless unattend is a parameter --------------------------------------------------------------- Here are all the settings which I have selected when I created the ffprofile --------------------------------------------------------------- Disable firefox intro tabs on the first start Disable new tab page intro Disable Pocket Disable Sponsored Top Sites Disable about:config warning. Do not trim URLs in navigation bar Disable checking if Firefox is the default browser Disable reset prompt. Disable Heartbeat Userrating Content of the new tab page : empty Disable Firefox View Disable autoplay of <video> tags. : Allow autoplay Disable Telemetry Disable health report Disable shield studies Disable experiments Disable Crash Reports Opt out metadata updates Disable google safebrowsing Disable malware scan Disable DNS over HTTPS Disable preloading of the new tab page. Disable about:addons' Get Add-ons panel Disable check for captive portal. Disables playback of DRM-controlled HTML5 content Disables the Widevine Content Decryption Module provided by Google Inc. Disable access to device sensor data Disable Firefox Suggest Block Cookies : Block cookies, which are not from the site you're visiting Block Referer : spoof referer Disable DOM storage ** Disable IndexedDB (breaks things) ** Disable the Offline Cache. Sessionstore Privacy : never store extra session data Disable Link Prefetching Disable speculative website loading. Use a private container for new tab page thumbnails Disable WebGL Override graphics card vendor and model strings in the WebGL API Disable the clipboardevents. Enable Do-not-Track (DNT) Enable resistFingerprinting Enable Mozilla Trackingprotection Enable firstparty isolation. ** Disable Browser Pings Disable TLS session identifiers Disable Beacons Disable the Battery API Disable media device queries Disable form autofill Disable webaudio API Disable video statistics Enable query parameter stripping Disable automatic updates. Disable searching for updates. Install CanvasBlocker extension. Install the Privacy Badger extension. Install uBlock Origin extension. Install Decentraleyes extension. Install ClearURLs extension. Install Temporary Containers extension. Install Firefox Multi-Account Containers extension Explicitly disable Greasemonkey user tracking Disable Firefox accounts Show the bookmarks toolbar by default Disable system addon update --------------------------------------------------------------- Here are the contents of the profile\prefs.js file --------------------------------------------------------------- user_pref("app.normandy.api_url", ""); user_pref("app.normandy.enabled", false); user_pref("app.shield.optoutstudies.enabled", false); user_pref("app.update.auto", false); user_pref("beacon.enabled", false); user_pref("breakpad.reportURL", ""); user_pref("browser.aboutConfig.showWarning", false); user_pref("browser.cache.offline.enable", false); user_pref("browser.crashReports.unsubmittedCheck.autoSubmit", false); user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); user_pref("browser.crashReports.unsubmittedCheck.enabled", false); user_pref("browser.disableResetPrompt", true); user_pref("browser.newtab.preload", false); user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); user_pref("browser.newtabpage.enhanced", false); user_pref("browser.newtabpage.introShown", true); user_pref("browser.safebrowsing.appRepURL", ""); user_pref("browser.safebrowsing.blockedURIs.enabled", false); user_pref("browser.safebrowsing.downloads.enabled", false); user_pref("browser.safebrowsing.downloads.remote.enabled", false); user_pref("browser.safebrowsing.downloads.remote.url", ""); user_pref("browser.safebrowsing.enabled", false); user_pref("browser.safebrowsing.malware.enabled", false); user_pref("browser.safebrowsing.phishing.enabled", false); user_pref("browser.selfsupport.url", ""); user_pref("browser.send_pings", false); user_pref("browser.sessionstore.privacy_level", 0); user_pref("browser.shell.checkDefaultBrowser", false); user_pref("browser.startup.homepage_override.mstone", "ignore"); user_pref("browser.tabs.crashReporting.sendReport", false); user_pref("browser.tabs.firefox-view", false); user_pref("browser.urlbar.groupLabels.enabled", false); user_pref("browser.urlbar.quicksuggest.enabled", false); user_pref("browser.urlbar.speculativeConnect.enabled", false); user_pref("browser.urlbar.trimURLs", false); user_pref("datareporting.healthreport.service.enabled", false); user_pref("datareporting.healthreport.uploadEnabled", false); user_pref("datareporting.policy.dataSubmissionEnabled", false); user_pref("device.sensors.ambientLight.enabled", false); user_pref("device.sensors.enabled", false); user_pref("device.sensors.motion.enabled", false); user_pref("device.sensors.orientation.enabled", false); user_pref("device.sensors.proximity.enabled", false); user_pref("dom.battery.enabled", false); user_pref("dom.event.clipboardevents.enabled", false); user_pref("dom.webaudio.enabled", false); user_pref("experiments.activeExperiment", false); user_pref("experiments.enabled", false); user_pref("experiments.manifest.uri", ""); user_pref("experiments.supported", false); user_pref("extensions.CanvasBlocker@kkapsner.de.whiteList", ""); user_pref("extensions.autoDisableScopes", 14); user_pref("extensions.getAddons.cache.enabled", false); user_pref("extensions.getAddons.showPane", false); user_pref("extensions.greasemonkey.stats.optedin", false); user_pref("extensions.greasemonkey.stats.url", ""); user_pref("extensions.pocket.enabled", false); user_pref("extensions.shield-recipe-client.api_url", ""); user_pref("extensions.shield-recipe-client.enabled", false); user_pref("extensions.webservice.discoverURL", ""); user_pref("media.autoplay.default", 0); user_pref("media.autoplay.enabled", true); user_pref("media.eme.enabled", false); user_pref("media.gmp-widevinecdm.enabled", false); user_pref("media.navigator.enabled", false); user_pref("media.video_stats.enabled", false); user_pref("network.allow-experiments", false); user_pref("network.captive-portal-service.enabled", false); user_pref("network.cookie.cookieBehavior", 1); user_pref("network.dns.disablePrefetch", true); user_pref("network.dns.disablePrefetchFromHTTPS", true); user_pref("network.http.referer.spoofSource", true); user_pref("network.http.speculative-parallel-limit", 0); user_pref("network.predictor.enable-prefetch", false); user_pref("network.predictor.enabled", false); user_pref("network.prefetch-next", false); user_pref("network.trr.mode", 5); user_pref("privacy.donottrackheader.enabled", true); user_pref("privacy.donottrackheader.value", 1); user_pref("privacy.firstparty.isolate", true); user_pref("privacy.query_stripping", true); user_pref("privacy.trackingprotection.cryptomining.enabled", true); user_pref("privacy.trackingprotection.enabled", true); user_pref("privacy.trackingprotection.fingerprinting.enabled", true); user_pref("privacy.trackingprotection.pbmode.enabled", true); user_pref("privacy.usercontext.about_newtab_segregation.enabled", true); user_pref("security.ssl.disable_session_identifiers", true); user_pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSite", false); user_pref("signon.autofillForms", false); user_pref("toolkit.telemetry.archive.enabled", false); user_pref("toolkit.telemetry.bhrPing.enabled", false); user_pref("toolkit.telemetry.cachedClientID", ""); user_pref("toolkit.telemetry.enabled", false); user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); user_pref("toolkit.telemetry.hybridContent.enabled", false); user_pref("toolkit.telemetry.newProfilePing.enabled", false); user_pref("toolkit.telemetry.prompted", 2); user_pref("toolkit.telemetry.rejected", true); user_pref("toolkit.telemetry.reportingpolicy.firstRun", false); user_pref("toolkit.telemetry.server", ""); user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); user_pref("toolkit.telemetry.unified", false); user_pref("toolkit.telemetry.unifiedIsOptIn", false); user_pref("toolkit.telemetry.updatePing.enabled", false); user_pref("webgl.renderer-string-override", " "); user_pref("webgl.vendor-string-override", " "); --------------------------------------------------------------- Here are the contents of the profile\prefs.js file --------------------------------------------------------------- // IMPORTANT: Start your code on the 2nd line pref("app.normandy.api_url", ""); pref("app.normandy.enabled", false); pref("app.shield.optoutstudies.enabled", false); pref("app.update.auto", false); pref("beacon.enabled", false); pref("breakpad.reportURL", ""); pref("browser.aboutConfig.showWarning", false); pref("browser.cache.offline.enable", false); pref("browser.crashReports.unsubmittedCheck.autoSubmit", false); pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); pref("browser.crashReports.unsubmittedCheck.enabled", false); pref("browser.disableResetPrompt", true); pref("browser.newtab.preload", false); pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); pref("browser.newtabpage.enhanced", false); pref("browser.newtabpage.introShown", true); pref("browser.safebrowsing.appRepURL", ""); pref("browser.safebrowsing.blockedURIs.enabled", false); pref("browser.safebrowsing.downloads.enabled", false); pref("browser.safebrowsing.downloads.remote.enabled", false); pref("browser.safebrowsing.downloads.remote.url", ""); pref("browser.safebrowsing.enabled", false); pref("browser.safebrowsing.malware.enabled", false); pref("browser.safebrowsing.phishing.enabled", false); pref("browser.selfsupport.url", ""); pref("browser.send_pings", false); pref("browser.sessionstore.privacy_level", 0); pref("browser.shell.checkDefaultBrowser", false); pref("browser.startup.homepage_override.mstone", "ignore"); pref("browser.tabs.crashReporting.sendReport", false); pref("browser.tabs.firefox-view", false); pref("browser.urlbar.groupLabels.enabled", false); pref("browser.urlbar.quicksuggest.enabled", false); pref("browser.urlbar.speculativeConnect.enabled", false); pref("browser.urlbar.trimURLs", false); pref("datareporting.healthreport.service.enabled", false); pref("datareporting.healthreport.uploadEnabled", false); pref("datareporting.policy.dataSubmissionEnabled", false); pref("device.sensors.ambientLight.enabled", false); pref("device.sensors.enabled", false); pref("device.sensors.motion.enabled", false); pref("device.sensors.orientation.enabled", false); pref("device.sensors.proximity.enabled", false); pref("dom.battery.enabled", false); pref("dom.event.clipboardevents.enabled", false); pref("dom.webaudio.enabled", false); pref("experiments.activeExperiment", false); pref("experiments.enabled", false); pref("experiments.manifest.uri", ""); pref("experiments.supported", false); pref("extensions.CanvasBlocker@kkapsner.de.whiteList", ""); pref("extensions.autoDisableScopes", 14); pref("extensions.getAddons.cache.enabled", false); pref("extensions.getAddons.showPane", false); pref("extensions.greasemonkey.stats.optedin", false); pref("extensions.greasemonkey.stats.url", ""); pref("extensions.pocket.enabled", false); pref("extensions.shield-recipe-client.api_url", ""); pref("extensions.shield-recipe-client.enabled", false); pref("extensions.webservice.discoverURL", ""); pref("media.autoplay.default", 0); pref("media.autoplay.enabled", true); pref("media.eme.enabled", false); pref("media.gmp-widevinecdm.enabled", false); pref("media.navigator.enabled", false); pref("media.video_stats.enabled", false); pref("network.allow-experiments", false); pref("network.captive-portal-service.enabled", false); pref("network.cookie.cookieBehavior", 1); pref("network.dns.disablePrefetch", true); pref("network.dns.disablePrefetchFromHTTPS", true); pref("network.http.referer.spoofSource", true); pref("network.http.speculative-parallel-limit", 0); pref("network.predictor.enable-prefetch", false); pref("network.predictor.enabled", false); pref("network.prefetch-next", false); pref("network.trr.mode", 5); pref("privacy.donottrackheader.enabled", true); pref("privacy.donottrackheader.value", 1); pref("privacy.firstparty.isolate", true); pref("privacy.query_stripping", true); pref("privacy.trackingprotection.cryptomining.enabled", true); pref("privacy.trackingprotection.enabled", true); pref("privacy.trackingprotection.fingerprinting.enabled", true); pref("privacy.trackingprotection.pbmode.enabled", true); pref("privacy.usercontext.about_newtab_segregation.enabled", true); pref("security.ssl.disable_session_identifiers", true); pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSite", false); pref("signon.autofillForms", false); pref("toolkit.telemetry.archive.enabled", false); pref("toolkit.telemetry.bhrPing.enabled", false); pref("toolkit.telemetry.cachedClientID", ""); pref("toolkit.telemetry.enabled", false); pref("toolkit.telemetry.firstShutdownPing.enabled", false); pref("toolkit.telemetry.hybridContent.enabled", false); pref("toolkit.telemetry.newProfilePing.enabled", false); pref("toolkit.telemetry.prompted", 2); pref("toolkit.telemetry.rejected", true); pref("toolkit.telemetry.reportingpolicy.firstRun", false); pref("toolkit.telemetry.server", ""); pref("toolkit.telemetry.shutdownPingSender.enabled", false); pref("toolkit.telemetry.unified", false); pref("toolkit.telemetry.unifiedIsOptIn", false); pref("toolkit.telemetry.updatePing.enabled", false); pref("webgl.renderer-string-override", " "); pref("webgl.vendor-string-override", " "); --------------------------------------------------------------- Here are the contents of the defaults\pref\autoconfig.js file --------------------------------------------------------------- pref("general.config.filename", "firefox.cfg"); pref("general.config.obscure_value", 0); --------------------------------------------------------------- Here are the contents of the distribution\policies.json file --------------------------------------------------------------- { "policies": { "NewTabPage": false, "ExtensionSettings": { "uBlock0@raymondhill.net": { "install_url": "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi", "installation_mode": "normal_installed" }, "CanvasBlocker@kkapsner.net": { "install_url": "https://addons.mozilla.org/firefox/downloads/latest/canvasblocker/latest.xpi", "installation_mode": "normal_installed" } }, "NetworkPrediction": false, "CaptivePortal": false, "DNSOverHTTPS": { "Enabled": false }, "DisableFirefoxStudies": true, "DisableTelemetry": true, "DisablePocket": true } } --------------------------------------------------------------- I wish this process was not so onerous as it has consumed my entire monday :( Thanks

All Replies (2)

more options

It seems the solution to my problem is maybe inside the distribution\policies.json file ?

But that file does point to mozilla.org, and yet currently those add-ons to install from the local provided files even though the internet is not connected !

I think the filename format is the cause, like uBlock0@raymondhill.net and CanvasBlocker@kkapsner.net CanvasBlocker@kkapsner.de.xpi / uBlock0@raymondhill.net.xpi

I just found this page

https://extensionworkshop.com/documentation/publish/distribute-sideloading/


Ensure the add-on includes an ID, by adding the following to its manifest.json file, replacing your-add-on-name@your-domain.com with a suitable ID for your add-on:


Rename your XPI file To use this method, your XPI file must be named using the add-on or application ID, as set in Preparing your add-on. The signed add-on file you downloaded from AMO will be named something like borderify-1.0-an+fx.xpi (see Signing and distributing your add-on for more details), change this to, for example, borderify@example.com.xpi.


opening traduzir_paginas_web-9.6.1.xpi 's manifest.json file, I see the following

 "browser_specific_settings": {
   "gecko": {
     "id": "{036a55b4-5e72-4d05-a06c-cba2dfcc134a}",
     "strict_min_version": "63.0"

So perhaps changing the id to "id": "traduzir@paginas.web" and renaming the file to "traduzir@paginas.web.xpi"

Would be sufficient ?

It is unclear if I also need to add these to the distribution\policies.json file

perhaps

    "traduzir@paginas.web": {
      "install_url": "https://addons.mozilla.org/firefox/downloads/latest/traduzir-paginas-web/latest.xpi",
      "installation_mode": "normal_installed"
    },

?

more options

See:

You can check the mozilla.rsa file in the META-INF folder for the correct ID if there is no ID present in the manifest.json file.