I want to build a Firefox extension that will need to change the configurations (about:config). It is not obvious whether I can change the configurations (about:config) in webextension?
If not, is there any way to do this in the old development environment?
This is covered in the webextensions FAQ (the answer is no):
https://wiki.mozilla.org/WebExtensions/FAQ#Will_I_have_access_to_about:config_or_the_preferences.3F
I'm not sure about your second question, if you're asking about the add-on SDK, it has a module for accessing preferences but extensions written with the SDK will stop working in Firefox 57:
https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_APIs/preferences_service
Related
I'm trying to set up Copper on Firefox version 53.0.3 and I am aware that the extension/plugin is not available anymore for Firefox 56+. I followed the instructions on how to set it up (https://github.com/mkovatsc/Copper) and I'm stuck at creating the text file copper#vs.inf.ethz.ch in the extensions directory of my Firefox profile. I noticed that the extensions file should be an .xpi file. Do I need to write anything in the file like any other Firefox extension to make it work?. I'm pretty new at this and I could use some help from more experienced people. Thank you and have a nice day.
Try in chrome browser!It perfectly works for me.Firefox in Cu4r is a little complex.
Firefox is moving towards the WebExtensions standard which promises improvements in stability, cross-browser compatibility, and more security. At the same time they're gradually dropping support for legacy add-ons (bootstrapped extensions, add-on SDK, etc.).
Unfortunately, the WebExtension APIs are much less powerful than legacy add-ons which by contrast have full control over the browser. I fully understand the motivation for the switch, but the features my add-on provides just can't possibly work with limited capabilities of a WebExtension.
What are my options to continue developing a legacy add-on with as few cutbacks as possible? How do other add-ons that won't work as a pure WebExtension solve this problem? Are there any niche projects dedicated to maintaining some sort of legacy extension "hack", or will I have to heavily modify Firefox myself to get any legacy add-ons installed in the future?
(I'm aware that I won't be able to submit my add-on to AMO or get it signed by Mozilla and that supporting full extensions is a potential security risk. But since my add-on is targeting a tech-savvy audience, I'm not too concerned about moderately complex workarounds.)
As the magic 8 ball says: "Cannot predict now".
The reality is that we don't know yet what is going to be required to continue to run non-WebExtensions based add-ons past the release of Firefox 57. All we know is that Mozilla has stated that for Firefox 57:
Firefox will only run WebExtensions.
AMO will continue to support listing and updating legacy add-ons after the release of 57 in order to have an easier transition. The exact cut-off time for this support hasn’t been determined yet.
It had previously been stated that the restriction to WebExtensions-only would only apply to the Release and Beta channels, so:
It may be possible to continue to run non-WebExtension based add-ons on:
Developer Edition
Nightly
Unbranded Release and Beta (unknown status)
It is currently unclear if these will actually be possibilities. If they will be possibilities, it is unclear for how long it will remain possible for older add-ons to function (both due to changes to Firefox and/or non-WebExtensions being intentionally disabled). The fact that AMO will continue to support listing and updates to non-WebExtension add-ons is an encouraging sign that we will still be able to use them in Firefox releases that are not the main Release and Beta channels.
Other options include:
The Firefox ESR 52 release. The pattern is that this would be supported through the normal release of Firefox 60, or so. Personally, I feel that Mozilla should plan to have an ESR release prior to any major changes in functionality (i.e. have a Firefox 56 ESR), but that does not appear to be how Mozilla does things.
The various forks that have been made of Firefox. Each fork would have to be checked to see what their plans are for this change.
Any new fork made specifically to continue to support non-WebExtension add-ons.
A hack may be determined to re-enable non-WebExtension support, similar to the one that exists to disable checking for add-on signing.
You should keep in mind that the plans are for Firefox to fundamentally change in the future. A significant reason for moving away from the more capable add-on types (non-WebExtensions based extensions along with complete-themes) is to allow Firefox to be changed without the need to consider maintaining compatibility with more capable add-ons which rely on the internals of Firefox for their operation. When, exactly, these breaking changes will be rolled out is unclear.
Personally, I'm in a similar boat. None of my released add-ons are possible to move to WebExtensions. Many of the other add-ons which I use are clearly not possible to move to WebExtensions. Frankly, I'm not looking forward to using Firefox without the capabilities some of those add-ons provide. Thus, I will be continuing to look at what options are available as we get closer to Firefox 57.
However, even if I find no option to use more capable add-ons after Firefox 52 ESR is EOL'ed, I may continue to use Firefox. My primary reason for doing so instead of switching to Chrome would be the fact that Firefox extensions go through a review process, whereas Chrome extensions released though the Chrome store can be very bad from the point of view of both security and privacy.
Regarding your question:
Are there any niche projects dedicated to maintaining some sort of legacy >extension "hack", or will I have to heavily modify Firefox myself to get any >legacy add-ons installed in the future?
Besides the previously said FF52ESR, at least, there are 2 alive projects based in Firefox code that are focused in keeping compatibility with legacy extensions.
Waterfox 56 (updated and compatible with legacy addons and webextensions)
Basilisk 201804 (updated and based in FF52, targeting v55)
On the other hand you have Palemoon 27.x which also is still under support but it is based in pre Australis FF interface, so it will be compatible with old-legacy addons.
Download and install latest Nightly Firefox (https://www.mozilla.org/en-US/firefox/58.0a1/releasenotes) (you can right click on the icon, hit Properties, and then add -no-remote -p to the Target address, as in "C:\Program Files\Nightly\firefox.exe" -no-remote -p which will then enable you to use more than one Profile)
In about:config (paste in address bar and hit Enter key) look for extensions.legacy.enabled and right click and toggle it to true in.
Download "anyway" the latest development version of TMP, (https://addons.mozilla.org/en-US/firefox/addon/tab-mix-plus/versions/0.5.0.5pre.171027a1) to your download folder (since Nighlty will not install it normally), then under File go to Open File and navigate to that file (with the /xpi extension) in your download folder, and install it, and restart Nightly.
Unlikely that this will work with the standard Firefox 57+ release, but TMP developer is working on the require rewrite. May God help him.
I am working on a few addons on Mozilla since this easier than manually editing the source code.
The bigger picture is to have a customized browser that I can share with my fellow geeks and friends.
Question:Is there a simple way to add an addon to a Mozilla build so that my users don't have to manually install the addons on their computer.Something like a pre-packaged Setup.exe. The Setup.exe needs to be fully independent and not requiring to have Mozilla pre-installed.
More info(Edited):
Another reason is I do not want them to have access to the addons ,
the addons shouuld be in the core of the browser.Hence, a user should
not be able to turn off or even know it is an addon but barely the
functionality of their browser X.
You may want to use Portable Firefox, make your customizations and share the folder with your friends.
http://portableapps.com/apps/internet/firefox_portable
This could be the motivation I need to move to Chrome for development. Working on an application with PouchDB (syncing with a CouchDB instance). I see everywhere that there are links to a Firefox add-on called PouchDB-Inspector which is meant to join the developer tools arsenal. True for Chrome - which does install and work. Firefox - the link is dead - Not found.
https://addons.mozilla.org/firefox/addon/pouchdb-inspector/
Does anyone know where it is? Is it discontinued? Done with? Never to be found again?
Any help would be great? Thanks.
This add-on seems to be currently unavailable from addons.mozilla.org, but you can get it from it's github project page. The creator also provides a link to the current xpi file that you can install manually.
The reason I ask is mostly due to how Google Chrome installation works once you click the "Accept and install" button from Firefox. After you click the installation is started directly and when it's completed Chrome itself starts up.
Firefox does not show any "Save" or "Confirm" dialogs after you click the Install button (on Chrome install web page).
Now, is this standard behaviour? Or might it be due to having an old version of Chrome already on the computer (Note: The new version was still installed from Firefox).
Seems a bit risky to me, all you have to do is fool the user to click something and then you can do whatever you want on his machine, or? Personally I thought things like this only worked with IE/ActiveX.
Looking at the code of the chrome download page, they seem to be using three mechanisms:
Standard download
OneClick (using the google updater plugin)
ClickOnce (using the .NET Framework assistant plugin)
ClickOnce is widely available due to the pervasiveness of .NET 3.5 SP 1 (in which it is bundled).
This is absolutely not standard behaviour. It looks like it is some kind of extension in Firefox. This will not work in Opera, IE or Safari. For those they might use different methods. For IE maybe ActiveX. The rest just downloads a small setup file.
Microsoft has a propritary solution which is always included in their development programs, called ClickOnce. It needs .NET Framework. .NET Framework installs a Firefox extension for ClickOnce, and for everything else you can just run the setup.exe.
Google's updater is standard and open source, (called Omaha) but there are no open source server implementations as yet. It can be found here.
The way I understand it working is that when you download a file you trigger the updater with an ID and it takes care of the installation and maintenance of the program.
(speculative) I suspect the old installation or rather its updater took over at that point. As for the risk: If the Chrome guys did their homework (and I suspect they have), then Chrome will check for signatures on the file, etc. before running anything. That's standard behavior for updaters (sane ones, at least) and prevents abuse at that point.