How to install multiple unsigned extensions in Firefox developer edition? - google-chrome-extension

Firefox standard and beta version does not allow unsigned extensions, so I use Firefox developer edition and set xpinstall.signatures.required to false in about:config.
I download source from https://github.com/mdn/webextensions-examples and use my script to build xpi (after putting it to root directory of repo and copying my manifest-firefox.json as well).
For each extension, as you can see from the script, I copy it to a temp folder, modify manifest.json (remove chrome-only fields if any and add gecho for firefox) and zip all into one file.
However, when I tried to install them one by one, I failed to install all.
Every time I installed one, it would replace previous.
Steps:
Click Menu bar - Tools - Add-ons to open Add-ons Manager
Click Extensions and then gear on the right
Click Install Add-on From File and choose one under path/to/webextensions-examples/dist
Did I miss anything in my build script to cause this? Or is this as designed to only allow one unsigned extension?

I'm 4 years too late but for anyone that finds this question later this is due to having the same "id" for the multiple extensions if you're using "browser_specific_settings" in your manifest

Related

Is there a way to copy an extension from a browser to another?

Is there a way to copy an extension from a browser to another browser (both chromium based)?
In windows 10 I know the browser reads its data from this folder:
C:\Users<account_name\AppData\Local<browser>\User Data\Default
in Default there are several folders, among many:
"Extensions" and "Local Extension Settings"
which have as many folders inside as there are extensions installed and each of these folders has the extension id as its name.
So I tried copying Extensions\<id_ext> and "Local Extension Settings"\<id_ext> to their respective folders of another browser, but that wasn't enough.
Do I forget something (some other folder and\or registry key) or i's not possible to do this operation (without breaking the browser of course)?
EDIT
my goal is to have an old version of an extension fully installed in the browser (make the browser believe that it comes from the CWS) but in which I have disabled future updates (by modifying the update_url field in the manifest.json file with a fictitious address)
EDIT # 2
I will try to add two lines to better explain my purposes.
I've read something on SO and beyond, but nothing that can enlighten me about it.
My aim is to install an old version of an extension created by me
(I have the extension public key but I no longer have the private key), to block the update for a certain time and then update when I want by resetting the update_url field in the manifest.
Thanks

Newly published extensions intallation crx_version_number_invalid

I meet some problems about newly published extensions in this month.
When I download my extensions from Developer Dashboard by this type
I can install extension normally by pushing it into chrome, but now newly published extension cannot install it before version 60 and publish an error:
I don't know how to figure it or if web store did some crx package change?
Can anyone meet this problem?And help me.Tks.
PS: I download crx by other types from Google, this crx file can install normally and MD5 is different from crx file from Developer Dashboard.
Try 1:- change Change ext version in manifist.Json
Try 2:- remove really unwanted config from manifist.Json
Try 3:- remove unwanted
file from directory.

Change default gitignore file when creating a new project

Is there a way to change the default file .gitignore that Android Studio creates when creating a new android project? I searched for it in the Settings but could not find anything.
Unfortunately, there is no way to do that automatically, besides the one Ted has mentioned.
However, personally, I don't see this as a big downside, because you can thus safely add your specific templates that fit best to your project.
To be able to do this, do the following:
Go to File -> Settings and from there highlight Plugins. Click on Browse repositories... and you should be able to find the plugin entitled .ignore. Install it.
Now to configure a .gitignore for any project, in case you have no project opened, click on Configure -> Settings. In case you have an open project, go to File -> Other Settings -> Default Settingsā€¦. Now expand Version Control and click on Ignore Files Support. You should be able to add a custom user template of your .gitignore-file there.
To use any template you've added there, just right click on your .gitignore and click on Add templateā€¦. There you'll be able to add your custom specifications, however, many others are given by default, so you don't need to do a google search for an OS or language specific .gitignore configuration.
Good question. I tried manually modifying the project_ignore template in the Android Studio installation (located at C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidProject\root in my Windows installation). That works, but it causes any future updates to Android Studio to fail unless you restore the original template first.
I'm posting this as an answer because it works. But it has such a bad down-side that I'm also starting a bounty in the hopes that someone can come up with a better solution.
On Mac, Applications->Android Studio.app(right click -> show package contents) -> contents-> plugins\android\lib\templates\gradle-projects\NewAndroidProject\root\ , i tried modifying, project_ignore file. i dont see error every time while looking for updates. instead of replacing, i appended at the end.

Run Chrome Extensions using command prompt

Is it possible to run a chrome extension from command line?
I need to automate the process for my software, and my software will need to run that extension with a particular parameter.
I am using a Chrome Extension 'APK Downloader' by Yogi. The Extension works like this:-
"If a page contains any .apk file link, then when I click on the extension's icon on the address bar, it starts direct download of that .apk file"
Now, I have my software that needs some .apk file to download [The software will have the package name of the .apk file to be downloaded, which is used by the extension to generate a download link]. It will be an automatic process. So, I need to know if it is possible to pass a parameter to the extension automatically, and make the extension to work without clicking on it.
Is it possible to do so??
Unpacked extension can be loaded using the --load-extension= flag.
What I usually do is chromium --user-data-dir=/tmp/someuniquedirname --load-extension=path/to/extension --no-first-run.
The --user-data-dir= flag is used to specify a non-default user data directory, to minimize conflicts between your existing browser profile and the test directory. You can omit this flag if you want to use your default user profile.
The --no-first-runflag prevents the first run UI from showing up (e.g. the bubble that explains how to use the omnibox, and a "Getting Started" page that opens in a new tab).
You can load multiple extensions by separating the paths by commas, e.g. chromium --load-extension=path/to/one/extension,path/to/another/extension.
I have published some shell scripts and a convenience extension to speed up (manual) testing of Chrome extensions. Take a look at https://github.com/Rob--W/extension-dev-tools/tree/master/chrome.
it helps to open extension normally and after that hit F12 (dev tools) to see actual url...
having that i can, for example load "Selenium IDE" chrome extension as
(run from command prompt)
"C:\Program Files (x86)\Google\Chrome\Application\new_chrome.exe" chrome-extension://mooikfkahbdckldjjndioackbalphokd/index.html
on a mac:
osascript <<EOD
set theURL to "chrome://extensions/"
tell application "Google Chrome"
if windows = {} then
make new window
set URL of (active tab of window 1) to theURL
else
make new tab at the end of window 1 with properties {URL:theURL}
end if
activate
end tell
EOD
Question answered here:
https://superuser.com/a/979678

Chrome external extension not shown in extension list

I'm trying to install a Chrome external extension using a visual studio setup project and following the instructions listed in http://code.google.com/chrome/extensions/external_extensions.html#registry, I did the following to add an external extension to Google chrome:
Packed the extension and moved the resulting .crx file to a folder C:\Hafez\Grid_Bootstrapper
I've added a registry sub key named fnfnbeppfinmnjnjhedifcfllpcfgeea under the following path: HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome\Extensions\ with the next two values:
1.path with a value of "C:\Hafez\Grid_Bootstrapper\fnfnbeppfinmnjnjhedifcfllpcfgeea.crx" and
2.version with a value of "1.0.0.1"
which are, by the way, the exact values but unfortunately when I start Chrome the extension is not listed.
BTW, I'm doing this in a installer custom action and it writes the values exactly the way I want them.
I can't find what is wrong because I do the exact steps listed in the link.
May you discover what have I done wrong?

Resources