How can i disable the AUTO UPDATE process/function automatically used/applied by the (Mozilla) Thunderbird=TB (email-client) app ? for-example in v68 series: v68.12.0 or v68.12.1, etc ?
What settings/preferences change are needed ?
please show different options to disable auto-update.
Currently (at the time of writing this post) TB's last version is v78 series, it is using builtin RNP based OpenPGP features, instead of GPG.
TB version v68 series uses GPG based external-tools instead of builtin OpenPGP features, ofcourse GPG follows OpenPGP standards.
I need to use GPG based tools, for now.
And, if TB automatically updates from v68 series (v68.12.0 or v68.12.1, etc) version into v78 series or later version (v78.4.0, etc), etc,
then downgrading (from v78 series back into v68 series) sometime is very complicated (or sometime not-possible without data-loss), if sufficient backup not-made, etc.
info from TB v78 release-note1:
Address books are now stored as SQLite databases to prepare for future addressbook improvements. Existing address books in MAB format (using a Mork database) will be converted.
TLS 1.0 and 1.1 disabled
So, i want to avoid that "auto update" process, for now.
If i need-to, or when i will need-to, then i myself can manually select button in TB's GUI to check for updates, and then i can click on "Update" to force an update process,
but otherwise, it(TB) must not AUTO UPDATE.
And, during installation of (mozilla) Thunderbird = TB , it did not obtain my consent to do auto-update of TB in my computer.
It can check for update & can also SHOW me NEW VERSION NUMBER, and can also WARN me to update.
BUT IT MUST ASK ME FIRST, before running ANY update.
TB/FF, etc apps MUST-NOT act like they are the owner of the computer where the app is used/running, TB/FF,etc app must follow+respect my/user's choice/preferences in my/user's computer.
Disable the auto-update (or app update) process used by (mozilla) Thunderbird = TB, email-client software, and Firefox = FF, web-browser software.
TB = Thunderbird . FF = Firefox.
in below,
if you'll configure TB only, then avoid following config/setting that are for FF.
if you'll configure FF only, then avoid following config/setting that are for TB.
DISABLE AUTO-UPDATE VIA CONFIG SETTINGS IN THUNDERBIRD/FIREFOX GUI:
Disable auto update via Thunderbird's (or Firefox's) GUI (graphical user interfacce):
"about:preferences" - goto TB/FF's main menu > Preferences (in macOS) , or goto TB/FF main menu > Options (in Windows) , or goto TB/FF main menu > Tools > Options (in Windows), or goto TB main menu > Options (in Linux/Unix).
in macOS goto "Update" tab: in left-pane/rows, select "Advanced" > then in right-side select "Update" tab
in Windows, Linux/Unix goto "Update" tab or section: select "General" in left-pane/rows > then in right-side select "Update" tab or scroll-down to the "Update" section.
select this specific option:◉"check for updates, but let me choose whether to install them".
if you see such option:☐“Use a background service to install updates” existsor has-appeared, under this below option◉"Check for updates, but let you choose to install them",then keep the "background-service" option also unchecked/unselected (☐).
if this "background-service" option is disabled, and when you will want to do update manually, then TB/FF will show you update pop-ups meesage, and ask you to decide if you want to install or cancel.
if you goto "Update" tab or section, you should see info like below(shown version number will be different at different time)
Here is DISABLE-UPDATE Recommended By Thunderbird:
README.md#disableappupdate.
DISABLE AUTO UPDATE VIA "ABOUT:CONFIG" = "CONFIG-EDITOR" IN THUNDERBIRD/FIREFOX:
Change below preference/options/settings, to disable update or auto-update:
type “about:config” (without previous double-quote symbols) in a browser-tab address bar inside Thunderbird/Firefox , then press “Enter“,
or goto TB main-menu > Tools > Options , or goto TB's Preferences/settings , then goto Advanced > General > at bottom side you should see "Config Editor".
Config-Editor is shown above in bottom-right corner.
you have to agree "I accept the risk!" button shown in below, to proceed into editing stage of preference/setting
in search box, type to search for this setting: “app.update.auto”
double-click on the “app.update.auto” option to toggle/switch the setting in-between "true" or "false" . If it is set to “true“, then automatic updates are enabled . If set to “false“, automatic updates are disabled.
search for "app.update.enabled" setting, if exists and if it is not showing false, then change true by double-clicking on it into false, then any update will be disabled.
You may also create this setting if it does not exist, and then set it to false anyway.
when "app.update.enabled" is false (any update is disabled), then TB/FF will also ignore the “app.update.auto” setting/option even if its true.
search for "app.update.silent" setting: if it exists and if you set it to true, then TB/FF will not show you reminder message when new update is available. If it is fasle, then TB will show you update notification, and you have to choose if you want to update or not.
this setting should be set to true, so that TB/FF can atleast notify you when a newer update is available, as some updates are really helpful.
I like this option, as it informs me when a new update available & (new) version number of that. Then i like to Cancel this update notification myself, so i keep at false. My Mac/PC is not used by anyone else, so there is (almost) no-chance that someone in my side can select such an option to update it. I'm always careful about updating anything.
search for "app.update.doorhanger" setting: if it exists and if you set it to false, then TB/FF will not show you notifying icon or reminder message, even when a new update is available.
if your PC/Mac is used also by someone else, or if there is a chance that you may mistakenly choose "Update" (or you forget to NOT-update), then it is better that you disable all update & notification by doing these: keep “app.update.auto” at false, "app.update.silent" at true, "app.update.enabled" at fasle, "app.update.doorhanger" at false.
WHEN A SETTING DOES NOT PRE-EXIST, THEN HOW DO I ADD IT MANUALLY ? create it manually this way : type any word, for-example "doorhanger" in "Search" box, then right-click on empty area below "Preference Name" column, or right click on the column header "Preference Name" > popup window will appear, select "New" . As the "app.update.doorhanger" setting can only have value false or true, so it is a "Boolean" type setting, so select "New" > "Boolean" , then enter preference name "app.update.doorhanger" > then select "false" or "true" value, based on what YOU want it to perform.
More info:http://kb.mozillazine.org/About:config_Entries#Update._and_Update_notificationshttp://kb.mozillazine.org/Security_Policies
DISABLE AUTO UPDATE VIA "REGEDIT" IN WINDOWS:
In windows, if you want to make sure, Thunderbird app update is completely disabled, then for both 64bit & 32bit Windows or TB, follow below steps:
run regedit.exe, ( reg =registry ) , accept the RISK related warnings, and find/browse to below reg key location:
• HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Thunderbird (for Thunderbird=TB).
or HKEY_LOCAL_MACHINE\Software\Policies\Thunderbird (for Thunderbird=TB).
• HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox (for Firefox=FF).
If any one of the above/below (Thunderbird related) reg keys does not exist in Windows Registry, then Create them with a right-click on the previous key (for example: "Mozilla"), and then select New > Key > specify key name (for example: "Thunderbird" or "Firefox"), then right-click on the key Thunderbird to configure TB, or, right-click on key Firefox to configure FF , and again select New > Dword (32-bit) Value > name it DisableAppUpdate > set its value to 1 to disable TB/FF app update & auto-update.
( If later you want-to/need-to enable app update, then you may set DisableAppUpdate key value to 0. )
After above setting is done, user will see a line"Updates disabled by your system administrator"has appeared under the version number, in Thunderbird, and such line will also appear in TB main-menu > "About" popup info page, and inside "Update" tab or under "Update" section, etc.
if you want to disable only AUTO UPDATE (not TB/FF app update/upgrade), then create/goto below reg entry & set your preferred value:• goto/create HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Thunderbird\AppAutoUpdate for TB, and set value to 0 . To enable auto-update use value 1.• goto/create HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\AppAutoUpdate for FF, and set value to 0 . To enable auto-update, use value 1.
if you prefer to NOT update extensions/addons, then create this reg entry:• goto/create HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Thunderbird\ExtensionUpdate for TB, and set it's value to 0 . To allow extnsn/addon update set value to 1.• goto/create HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\ExtensionUpdate for FF, and set it's value to 0 . To allow extsn/addon update set value to 1.
In newer TB versions, above settings may be ignored, and OS other-than Windows-OS does not use Windows-REGISTRY, so, to make sure that update or auto-update is completely disabled in Linux/Unix/macOS, you have to apply POLICY RULE based solution.
TB = Thunderbird . FF = Firefox.
OS = Operating System (for example: Windows, macOS, Linux, Unix, Android, iOS, etc).
UNHIDE THE HIDDEN FILES/FOLDERS:
Users who can't view/see the files/folders mentioned in below, those users can use below commands to UNHIDE the HIDDEN files/folders:
• in macOS > start "Finder" app , "Finder" is very similar to Windows-"Explorer" > in Finder, in left side/pane, select "Applications" > then scroll down & go into "Utilities" subfolder > then click on "Terminal" or "Terminal.app" to start it.
• type below command inside "Terminal" ( macOS "Terminal" is like Windows "Command-Prompt"):
defaults write com.apple.Finder AppleShowAllFiles true
• then you must reboot Mac-computer OR run below command:
/usr/bin/sudo /usr/bin/killall Finder /System/Library/CoreServices/Finder.app
or, run just this: /usr/bin/sudo /usr/bin/killall Finder
or, just this: sudo killall Finder
then all hidden files+folders will by-default be shown to user in macOS Finder. )
• in Windows, start/open windows "File Explorer" (aka "Explorer", aka "Windows Explorer") from the taskbar , select "View" > "Options" > change folder and search options : select the "View" tab and, in "Advanced" settings, select "Show hidden files, folders, and drives" > and also select "Show File name extensions" > then "OK".
in macOS, inside any file browsing window, user can also press below THREE buttons altogether ONCE, to show HIDDEN files/folders:
[Command⌘] + [Shift⇧] + [.>]
if user press-es above three buttons again, file-browsing-window will HIDE the HIDDEN files/folders.
By default in macOS, "Finder" will keep most of the file's extension hidden . But we need to see all File's extension, so we can be sure & not make mistake . To view all file's extension, do below steps:
in macOS > start "Finder" app > goto main menu > Finder > Preferences > Advanced > select "Show All Filename Extensions" option.
DISABLE AUTO UPDATE VIA CHANGING THUNDERBIRD UPDATE POLICIES:
For TB/FF version v62 & later, and TB/FF ESR v60 & later, please read essential instruction on policies that any OS user first need-to understand, here.
Windows - locate the sub-folder where your "thunderbird.exe" (or "firefox.exe") file is, then create a sub-folder called "distribution" next to the EXE file, then create a file "policies.json" inside the "distribution\" sub-folder.
"thunderbird.exe" file/app is usually located here:
"C:\Program Files\Mozilla Thunderbird\" (if you're using 64bit edition)
"C:\Program Files (x86)\Mozilla Thunderbird\" (if you're using 32bit edition)
"firefox.exe" file/app is usually located here:
"C:\Program Files\Mozilla Firefox\" (if you're using 64bit edition)
"C:\Program Files (x86)\Mozilla Firefox\" (if you're using 32bit edition)
macOS - go inside "Thunderbird.app", (for which you want to disable update or disable auto-update), by right-clicking on "Thunderbird.app" icon/file, & then select "Show Package Contents" option, create a sub-folder "distribution/" inside the "Resources/" sub-folder, like this: "Thunderbird.app/Contents/Resources/distribution/", then create a file called "policies.json" inside "distribution/" sub-folder.
go inside "Firefox.app" (for which you want to disable update or auto-update), by right-clicking on "Firefox.app" icon/file, & then select "Show Package Contents" option, create a sub-folder "distribution/" inside the "Resources/" sub-folder, like this: "Firefox.app/Contents/Resources/distribution/", then create a file called "policies.json" inside "distribution" sub-folder.
Then follow from here: 1, 2.
Note: "Thunderbird.app" (or "Firefox.app") is usually located inside the "Applications/" folder, under the "/" root folder of Mac storage drive, here: "/Applications/"
Linux/Unix - create the file "policies.json" inside "distribution/" folder, located here: "thunderbird/distribution/" for TB, (or create "distribution/" here "firefox/distribution/" for FF), different OS distro (aka: distribution) keeps the thunderbird (or firefox) app folder at different location, for-example: TB may be located here: "/opt/thunderbird/", "/usr/local/thunderbird/", etc. Same way, FF could also be in different location in different distro, for example, it can be here: "/opt/firefox/", "/usr/local/firefox/", etc.
If you don't want to create the "distribution/" sub-folder inside TB/FF app folder, then you can also create or specify a system-wide policy by placing the json file here for TB: /etc/thunderbird/policies/ (or place here for FF: /etc/firefox/policies/), in macOS/Linux/Unix.
create a policy rule inside the "policies.json" file, (as shown inside above linked webpages, and also shown in below code/quote box), to disable auto-update use below policy rule:
{
"policies": {
"AppAutoUpdate": false
}
}
to disable/stop application update completely, use below policy rule:
{
"policies": {
"DisableAppUpdate": true
}
}
if you use "DisableAppUpdate" policy rule, then specifying "AppAutoUpdate" is not needed. When "DisableAppUpdate" rule is true, then auto-update will be automatically disabled (turned-off).
when you will update TB/FF manually or when you will install newer updated TB/FF version manually, then this JSON file will be deleted, so keep a backup somewhere. When you finish update manually, then copy-paste "policies.json" again inside "distribution/" sub-folder (inside TB/FF app working folder), if you don't want the newer version to auto-update or update, without your approval or permission.
if you goto "Update" tab or section inside TB settings/Preferences/Options, then you should see info like below:"Updates disabled by your system administrator"
to disable extension/addon update, use below policy rule:
{
"policies": {
...
"ExtensionUpdate": false
...
}
}
the ... in above is your other policy rules.
More info:https://github.com/mozilla/policy-templates/blob/master/README.md
TB = Thunderbird . FF = Firefox.
DISABLE AUTO UPDATE VIA CHANGING THUNDERBIRD "PREF.JS" CONFIG FILE:
For TB/FF version v62 & earlier, user would need-to & can do these changes:
if TB/FF is running, then you may/can goto TB main-menu > Help > Troubleshooting Information > press Ctrl+F to find this word (or to find profile information row), type: about:profiles > click-on about:profiles link > write down the active Root & Local PROFILE folder/directory path name(s) , they will have the word .default at-end (or other PROFILE's name/word), write it down. If the information row has a [ Browse ] button, then press it to open-up the profile folder quickly, inside your OS's file-browser software.
close/EXIT from Thunderbird=TB / Firefox=FF, if it is running.
if you could-not follow the "Troubleshooting Information" step shown above (to reach the "profile" folder locaiton quickly), then follow these: browse/navigate to the following folder/directory location(s), based on your OS (operating system), to find & open TB/FF "PROFILE" folder/directory:
Windows XP/Vista/7/8/10 – for TB profile goto “%APPDATA%\Thunderbird\“ (or “%APPDATA%\Mozilla\Thunderbird\“)or for FF profile goto “%APPDATA%\Mozilla\Firefox\“ (or “%APPDATA%\Mozilla\“)• in newer Windows, “%APPDATA%\“ env-var usually points to this folder/directory location: “C:\Users\<WindowsUserName>\AppData\Roaming\“• in WinXP/2000, "%APPDATA%\" points-to "C:\Documents and Settings\<WindowsUserName>\Application Data\"• "%APPLOCALDATA%" usually is “C:\Users\<WindowsUserName>\AppData\Local\“ (it holds local data, cache data, etc)
Unix/Linux – for TB profile goto “~/.thunderbird/“ , but different Linux/Unix distro (aka: distribution) may use different location, in some distro "profile" may also be here “~/.mozilla-thunderbird-<profile-name>/“• For FF profile, goto “~/.mozilla/“• the “~“ symbol points-to $HOME/ directory/folder, it is usually located here: /Users/<YourLinuxOrUnixUserName>/
macOS X / XI – for TB profile goto “~/Library/Thunderbird/“ or “~/Library/Application Support/Thunderbird/“• for FF profile goto “~/Library/Application Support/Firefox/“• the “~“ symbol indicating to your $HOME/ directory/folder: /Users/<YourMacOSUserName>/
open the “Profiles” sub-folder, to see all items under it.
then open (aka: go-inside) the sub-folder that represents the "profile" that your TB/FF app is using. Name of this "profile" sub-folder will vary. Usually it begins with a bunch of alpha-numeric characters (often shown as xxxxxxxx) & followed-by or ends-with “.default” (or other profile name).
if you view files & folders sorted/based on Date:Modified, and if you go inside each sub-folders under the “Profiles” sub-folder, and if you compare last-modified date of item therein, you can realize which sub-folder was used last time & very recently by the TB/FF app that is the current/last TB/FF that got updated.
open the prefs.js file inside "profile" ("xxxxxxxx.<profile-name>") sub-folder, with a text editor like Notepad++ (win), TextMate (mac), gedit (mac), etc.
find the line inside the pref.js ("PREF.JS") file that contains app.update.enabled, if it doesn’t exist then add a line for it and set it as you want, with any one of the below line (but do-not use both lines):
automatic update enabled:user_pref("app.update.enabled", true);
automatic update disabled:user_pref("app.update.enabled", false);
if you do not want AUTO new updates for Thunderbird (or Firefox) EXTENSIONS (aka: ADDONS), then find/add this "extensions.update.enabled" setting/preference line, inside pref.js file, if it does not already exists, & set it's value to false, as shown in below:
user_pref("extensions.update.enabled", false);
if you do not want to show the "Show Update History" button, that is shown inside "Update" tab, inside TB's Preferences / Settings / Options, then add this "disable_button.showUpdateHistory" setting/preference line, inside pref.js file if it does not already exists, & set it's value to false, as shown in below:
user_pref("app.update.disable_button.showUpdateHistory", false);
More info:http://kb.mozillazine.org/Files_and_folders_in_the_profile_%2D_Thunderbirdhttp://kb.mozillazine.org/Profile_folder_%2D_Thunderbirdhttp://kb.mozillazine.org/Category%3AProfile_contents_%28Thunderbird%29http://kb.mozillazine.org/Profile_folder_%2D_Firefoxhttp://kb.mozillazine.org/User.js_filehttp://kb.mozillazine.org/Show_hidden_files_and_folders
TB = Thunderbird . FF = Firefox.
DELETE UPDATE-EXECUTABLE IF IT WAS AUTO-DOWNLOADED BY THUNDERBIRD:
Thunderbird=TB will auto download new updates/executables inside this/these below mentioned sub-folder(s), before you applied above settings, if TB has already obtained update, then remove it with below procedure:
open file-browser, & browse/go to this sub-folder/directory:
macOS — check for TB "updater" file in these folders: "/Users/<YourUserName>/Library/Thunderbird/updates/"• or check for FF "updater" file in these folders: "/Users/<YourUserName>/Library/Application Support/Mozilla/updates/"
Windows XP,2000,Vista,7,8.1,10 — check for TB "updater.exe" file inside these folders: “C:\Program Files\Mozilla Thunderbird\“ , “C:\Program Files\Mozilla Thunderbird\updates\“ , “%APPDATA%\Thunderbird\updates\“• check for FF "updater.exe" file inside these folders: “C:\Program Files\Mozilla Firefox\“ , “C:\Program Files\Mozilla Firefox\updates\“ , “%APPDATA%\Mozilla\updates\“ , “%APPDATA%\Mozilla\Firefox\updates\“• If you are using 32bit TB/FF then look additionally also inside this folder: “C:\Program Files (x86)\Mozilla Thunderbird\“ (or “C:\Program Files (x86)\Mozilla Firefox\“)
Unix/Linux — look for TB "updater" executable file inside these folders: “~/.thunderbird/updates/“, “~/.mozilla-thunderbird-<profile-name>/updates“• or look for FF "updater" executable file inside these folders: “~/.mozilla/updates/“ or “~/.mozilla/firefox/updates/“
and DELETE below mentioned three files from inside above-mentioned specific "updates" (or TB/FF app working-directory) sub-folder(s) , especially or atleast the "updater" (in macOS/Linux/Unix) or "updater.exe" (in Windows) executable file.
these three files are related to update and auto-update:• update-settings.ini,• updater.ini,• updater.exe (Windows) or updater (macOS/Linux/Unix)
when “about:config”, pref.js, policies or regkey, etc setting-up step(s) are done, from then-on TB/FF will-not and should-not (automatically) download any new update installer anymore.
ADD EXCEPTION RULE INTO UPDATE/VERSION MONITORING APPS:
There are various apps, that can trigger/start/initiate an auto-update process for other apps, (as "updating" techniques/settings are publicly known). Usually these apps obtain version number of your local app(s), in your computer. Then they obtain version number for specific last updated app, either from monitoring app's own remote web-server, or obtain version number from local app developer's remote web-server.
So, if you're using such (monitoring) app(s), then you MUST also have+need to create an EXCEPTION (rule) for Thunderbird (or Firefox) app, inside that/those monitoring app(s), so-that those monitoring apps do-not initiate/trigger an auto-update process.
Example:
Windows: anti-virus or firewall or security-suite software/tools.
Linux/Unix app/package update/upgrade/management tool yum can update app(s), tool(s), library(s), etc
add below exclude line(s) into yum config file: /etc/yum.conf
for Thunderbird:exclude=thunderbird*
for Firefox:exclude=firefox*
How To Get OLDER Thunderbird(TB) or Firefox(FF) Version:
Below sites contain installer program, integrity-code (hash/checksum) files, etc for different versions and for different languages & localities:
Thunderbird v68.12.1:https://ftp.mozilla.org/pub/thunderbird/releases/68.12.1/
Thunderbird other versions:https://archive.mozilla.org/pub/thunderbird/releases/
Thunderbird stable+latest release:https://www.thunderbird.net/en-US/thunderbird/all/
Firefox (other versions):https://archive.mozilla.org/pub/firefox/releases/
Firefox v56.0.2 , Firefox ESR v52.9.0.
Firefox latest+stable version
Portable Editions:
Windows:
Portable Thunderbird Legacy (v68)
Portable Thunderbird
Portable Firefox ESR v52.9.0(Gecko without Servo)
Portable Firefox v56.0.2(Gecko without Servo)
Portable Firefox(Gecko with Servo/Quantum)
NOTE:
App's devs will release various types of updates. Some "update" are mainly feature related update (feature addition, removal, fix, patch, update, etc), some "update" are mainly app's security related update (security enhancement, improvement, patch, bugfix, etc), etc, etc.
USER / YOU NEED TO INSTALL THE SECURITY RELATED UPDATES, ATLEAST,
as it secures your computer thus in-turn it secures your/user's safety,
provided that, you/user can trust app's devs, that they/devs will release update that is/are actually beneficial for app's USER / YOU, and does not violate/abuse your or any other user's any human-rights.
There is one more useful option in policies.json file - ManualAppUpdateOnly. Like "DisableAppUpdate": true it allows to disable automatic updates and all annoying "Update available" notifications. And at the same time it still allows to update Thunderbird/Firefox manually through "About Firefox" menu when it is necessary.
The description from mozilla documentation (https://github.com/mozilla/policy-templates/blob/master/README.md#manualappupdateonly)
Switch to manual updates only.
If this policy is enabled:
The user will never be prompted to install updates
Firefox will not check for updates in the background, though it will check automatically when an update UI is displayed (such as the one in the About dialog). This check will be used to show "Update to version X" in the UI, but will not automatically download the update or prompt the user to update in any other way.
The update UI will work as expected, unlike when using DisableAppUpdate.
Example of policies.json:
{
"policies": {
"ManualAppUpdateOnly": true
}
}
See outstanding answer from #atErik for details how to install this file - https://stackoverflow.com/a/64980413/8996217
This option works since Firefox 87 (and since Thunderbird 87 likely) so it would not help with Thunderbird 68 though. Anyway I believe it should be mentioned for completeness
Previously, I could write an addon for personal usage packed as something.xpi and I clicked on it to install it.
After a while, mozilla introduced xpinstall.signatures.required which you could still get around it.
However, it did not stop stabbing developers who are interested to have a personal addon isolated from the world. Today, only web extensions are working and my XUL based addon is thrown away. The tutorials only talk about temporary installation of a web extension while I want my one runs on firefox forever.
Beside whether I can use web extension to write into files or create a GUI in an independent page, I have a bigger challenge:
How can I install a local web extension permanently without creating a Mozilla account for personal usage?
Navigate to the folder where your extension is located. You can build it in the usual way using web-ext:
web-ext build
You can install this ZIP file permanently in Firefox by going to about:addons and dragging this file into the tab.
In order for this to work, you need to set xpinstall.signatures.required to false in about:config (works only for Nightly and maybe Developer Edition).
Apart from setting xpinstall.signatures.required to false, you need to add this to your manifest.json:
"browser_specific_settings": {
"gecko": {
"id": "some-name#example.org"
}
}
Found on https://www.reddit.com/r/firefox/comments/blqffs/how_to_permanently_add_temporary_addon/exh2u3o/, thanks to "alexherbo2".
You need a "blueish" Firefox -- Developer Edition (effectively beta) or Nightly (unstable, updated every night).
You can get them from https://mozilla.org/firefox/channel/desktop/.
Then xpinstall.signatures.required will work again.
(As for permissions--you can create a GUI in a tab or a popup, but I don't think you can do it in a separate window (unless you do a webpage-style popup window). You won't be able to write to arbitrary files anywhere on the system--which is a good thing! You can write to the Downloads folder, and read/write some sort of internal storage, but that may not expose the actual files involved. For more information see https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Working_with_files.)
What you should be looking for is having your extension signed by Mozilla as Unlisted.
See Mixing Listed and Unlisted Add-ons on addons.mozilla.org blog post for an overview.
That way, AMO does not host nor (normally) review your extension; it simply runs some basic automated checks and immediately signs your extension so that it can be privately distributed as an XPI.
For those interested in developing/running an extension from a local directory without having to package or load it manually via "Load Temporary Addon..." from about:debuggin#/runtime/this-firefox please go to this github repository.
From the README.md:
The procedure involves a few steps, but it needs to be done only once.
First you need to enable AutoConfig aka userchrome.js by copying the file config-prefs.js to [Your Firefox install directory]/defaults/pref
Note: For best security, on Windows it is best to leave your Firefox install in "c:\Program Files" so that your config-prefs.js and userChrome.js can only be modified when you are in root/admin mode.
Then you need to edit the file userChrome.js and modify the function installUnpackedExtensions() to reflect the locations of your own addons.
The modified userChrome.js then must be copied to your Firefox installation directory. For example on Windows this is usually "c:\Program Files (x86)\Mozilla Firefox" for the 32-bit version of Firefox. You can rename the file, but remember to modify the corresponding line pref("general.config.filename", "userChrome.js") in defaults/pref/config-prefs.js
Now your addons from your local directories will be loaded automaticaly whenever Firefox starts. After editing your code remember to reload it from about:debuggin. You can also get there via the menu by selecting "More Tools", then "Remote Debugging", and click on "This Firefox" on the left side (but the quickiest way is to bookmark it and then add a bookmark keyword such as "dbg" for quick access.)
Please note that this is an automated install of the extension every time Firefox starts, so it is not quite the same as a "permenent install". That is, this procedure has exactly the same effect as clicking on "Load Temporary Addon..." from the about:debuggin page, just that the process is now automated via userChrome.js. This means that if you have code that does something after the installation of the extension such as browser.runtime.onInstalled.addListener(details => { if (details.reason == "install") { ...do something after install... }); then this code will be called every time Firefox is launched.
You can try setting the preference extensions.legacy.enabled (this will only work in Nightly or Dev Edition).
I want to automatically count number of tabs that are open in Firefox so I can track this over time. It is not enough to get an add-on that displays current number in the browser.
From .sqlite tables Firefox saves for each profile I have not been able to decipher any table of currently opened tabs. I also looked for a column in the history table that tells whether page is currently open or not. Is this information available in the databases at all? If so, where is it stored? If not, how do add-ons like Tab Counter find this number?
Open the about:telemetry link in Firefox and click scalars tab from the sidebar menu. Alternatively, opening about:telemetry#scalars-tab_search=tab will take you directly to the scalars tab.
The browser.engagement.max_concurrent_tab_count key will show the number of tabs active for the session, but does not update when a tab is closed. Instead, if you want to update this value you will need to restart your browser.
The browser.engagement.tab_open_event_count key shows the current number of open tabs at a given time and is updated dynamically.
Online
Within a running Firefox session, it's easy to extract the data using the Mozilla Add-on API. I wrote a simple Tab Count Logger extension that does this, and saves the count to an SQLite database.
The relevant part of the code is:
const tabs = require("sdk/tabs");
const windows = require("sdk/windows").browserWindows;
console.log("Windows: " + windows.length + "; tabs: " + tabs.length);
Offline
Opened tabs are stored in sessionstore.js in the profile directory, not in SQLite. This file is JSON. A script to count tabs:
#!/usr/bin/env python3
# Count open tabs from a firefox profile
# Working directory is the root of a Firefox profile.
import json
j = json.loads(open("sessionstore.js", 'rb').read().decode('utf-8'))
def info_for_tab(tab):
try:
return (tab['entries'][0]['url'], tab['entries'][0]['title'])
except IndexError:
return None
except KeyError:
return None
def tabs_from_windows(window):
return list(map(info_for_tab, window['tabs']))
all_tabs = list(map(tabs_from_windows, j['windows']))
print('Statistics: {wins} windows, {tabs} total tabs'.format(wins=len(all_tabs), tabs=sum(map(len, all_tabs))))
After having saved this to ~/bin/firefox_count_tabs, you can get the information for all your profiles as in:
for i in ~/.mozilla/firefox/*.*; do test -d $i && (echo "== $i =="; cd $i; ~/bin/firefox_count_tabs ); done
The count will be shown on the exit confirm dialog - if you hadn't disable that 😂️
update 2022-11-02: only when you have only one window
#Xidus: History and bookmarks are stored in the places.sqlite. You cannot determine tabs and windows information here.tabs and windows information are stored in the sessionstore.js file.You can refer this links:
http://kb.mozillazine.org/sessionstore.js
http://forums.mozillazine.org/viewtopic.php?f=38&t=622036&start=60&p=12098147#p12098147
You can count tabs in the Browser Console (not Web Console) with:
gBrowser.tabs.length
The Browser Console is disabled by default. To enable it you can either:
Tick the option "Enable browser chrome and add-on debugging toolboxes" in the Web Developer Tools settings.
Go to about:config and search for devtools.chrome.enabled, and toggle it to true.
After that look for Browser Console in the More tools menu, or open the Developer Console with [CTRL]+[SHIFT]+J, and you can now enter the above.
option-1
option-2
[CTRL]+[SHIFT]+J