Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can a greasemonkey-type userscript be packaged as a Chrome extension?

Today Google changed the way userscripts are installed in Chrome. No longer can you just click on a link that contains one, confirm a couple dialog boxes and have it installed. Now you have to download the script with Save As..., open the Finder/Explorer window that contains it, open the Extensions window in Chrome, then drag the script to the extensions window. IOW, a big PITA.

Presumably the alternative is to package as a Chrome extension and get it on the Chrome webstore. However, I can't find any information anywhere that suggests you can package a userscript as an extension. Is this possible? If yes, any new limitations, links to docs, or other tips?

like image 886
mix Avatar asked Jul 14 '12 04:07

mix


People also ask

Does Greasemonkey work on Chrome?

Install Greasemonkey Scripts in Chrome You don't need to download an extension to enable Greasemonkey scripts like you do in Firefox; they work just like a standard extension in Chrome.

What is the difference between Greasemonkey and Tampermonkey?

While Greasemonkey supports Firefox and some other open-source browsers, Tampermonkey supports all the major browsers including Firefox, Chrome, and Safari.

Do Greasemonkey scripts work in Tampermonkey?

Tampermonkey. Tampermonkey is one of the most popular browser extensions with over 10 million users. Tampermonkey is used to run so-called userscripts (sometimes also called Greasemonkey scripts) on websites.


2 Answers

Two things first:

  1. This new behavior of Chrome seems too restricting and draconian for userscripts. If you agree, please make your displeasure known to Google. (Userscripts are not quite as dangerous, or powerful, as full-fledged extensions.)

  2. Rather than trying to package extensions (which seems like a low benefit-to-hassle activity), Chrome provides two mechanisms to (selectively) disable this new annoyance:

    1. Configure Chrome to start with the --enable-easy-off-store-extension-install parameter.

    2. Add configuration keys to allow installations from specific sites:
      For example, add this entry to the Windows registry:

      Software\Policies\Google\Chrome\ExtensionInstallSources\1 = "http://userscripts.org/*" 

      To allow easy installation from that useful script clearinghouse.



Packaging a userscript as an extension (Verified on the latest release, version 20.0.1132.57 and subject to change):

  1. Create a script folder and a manifest for your userscript, as in the "Controlling the Script and name" section of this answer.

  2. From the Chrome Extensions page, activate Developer mode: dev mode

  3. Click Pack Extension. pack extension

  4. Enter the folder path, created in step 1, and click Pack Extension: pack ext, enter fields

  5. Note that the new extension file (HelloWorld.crx) and key file (HelloWorld.pem) are created in the parent directory (C:\MyChromeScripts\). pack results

  6. Now the extension can be installed like any other, or uploaded to the Chrome Web Store.

like image 187
Brock Adams Avatar answered Sep 26 '22 14:09

Brock Adams


You could use a Chrome extension like Tampermonkey to run/manage your userscripts without having to install them as extensions themselves.

(I've never used it so I can't say if it's any good, it's reviewed well though)

like image 29
Jason Hall Avatar answered Sep 22 '22 14:09

Jason Hall