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-o… (emoñe’ẽve)
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