||It has been suggested that some portions of this article be split into articles titled Greasemonkey and Userscript. Please discuss this on the article's talk page. (November 2013)|
|Original author(s)||Aaron Boodman|
|Developer(s)||Anthony Lieuallen, Johan Sundström, 13 more|
|Initial release||28 March 2005|
|Stable release||3.0 / 13 March 2015|
|Origins and lineage|
Greasemonkey is a Mozilla Firefox extension that allows users to install scripts that make on-the-fly changes to web page content after or before the page is loaded in the browser (also known as augmented browsing).
The changes made to the web pages are executed every time the page is viewed, making them effectively permanent for the user running the script.
Greasemonkey can be used for customizing page appearance, adding new functions to web pages (for example, embedding price comparisons within shopping sites), fixing rendering bugs, combining data from multiple web pages, and numerous other purposes.
The Greasemonkey project began 28 November 2004, written by Aaron Boodman. Boodman was inspired to write Greasemonkey after looking at a Firefox extension designed to clean up the interface of Allmusic. This extension was written by Adrian Holovaty, who later became a userscript developer. By May 2005, there were approximately 60 general and 115 site-specific userscripts distributed for Greasemonkey. During this time, a Greasemonkey compiler was also developed for converting a userscript into a standalone Firefox extension. Greasemonkey was initially met with complaints by publishers, for its ability to block ads. However, this criticism shifted its focus to other addons starting with the 2006 release of Adblock Plus.
To accommodate the growing number of scripts, userscripts.org was founded by Britt Selvitelle and other members of the Greasemonkey community in late 2005. Userscripts.org was open sourced in 2007 but the site later moved away from this code base. As the main script repository listed on Greasemonkey's official site, userscripts.org accumulated thousands of scripts per year.
In 2010, the last known admin Jesse Andrews, posted that the site was in maintenance mode due to lack of time and asked for a new maintainer to volunteer. Nevertheless, he remained the sole admin of the site until a discussion about install counts began on April 1, 2013. Prior to this, many of the "most popular scripts" as listed by the site, had nominal install counts of zero. Over the following year spam scripts became more common, server downtime increased and the install count bug remained. With no further communication by Andrews, userscript writers described the site as neglected and the official Greasemonkey site removed its front page link. In response, script writers and other developers began working on the fork openuserjs.org. and later greasyfork.org as immediate replacements.
In May 2014, userscripts.org became inaccessible on port 80, prompting users to access it on port 8080 instead. In August 2014, the site was shut down completely. Most of its scripts were backed up to the static mirror http://userscripts-mirror.org where they can now be found.
Scripts are named somename.user.js, and Greasemonkey offers to install any such script when a URL ending in that suffix is requested. Greasemonkey scripts contain metadata which specifies the name of the script, a description, resources required by the script, a namespace URL used to differentiate identically named scripts, and URL patterns for which the script is intended to be invoked or not.
Greasemonkey is available for Firefox, Flock and Web (formerly called Epiphany). The Greasemonkey extension for Web is part of the Web extensions package. However, this extension is not fully compatible as of release 2.15.1, since some Greasemonkey API functions (e.g. GM_getValue) are unsupported. There are also custom versions for SeaMonkey and Songbird. An equivalent extension called Tampermonkey is available for Google Chrome.
Equivalents for other browsers
Versions 8 and upwards of Opera also have user scripting functionality and are capable of running many Greasemonkey user scripts. To make full use of GM_ API and metadata block, however, one has to use an extension such as Violentmonkey or Tampermonkey.
For Internet Explorer, similar functionality is offered by IE7Pro, Sleipnir, and iMacros. Adguard, a simple ad-blocking program, also allows UserScripts to be installed when the interface is switched to advanced mode. They are known as "extensions."
In February 2010, Chrome implemented "native support" for Greasemonkey scripts by internally converting them to extensions. This support was written to honor the @include and @exclude directives, and introduce the @match objective as a simplified way to select specific domains. Some features specific to Firefox / Greasemonkey were left out. The "TamperMonkey" extension was written to fill this gap. In May 2014, Google removed support for user scripts and other unsigned extensions from Windows builds of Chrome.
On Safari for Mac (and other WebKit applications), there is a SIMBL-managed plug-in called GreaseKit. Since the release of Safari 5 there is an extension called NinjaKit that uses the new API interface. Fluid is a site-specific browser with integrated GreaseKit.
- List of augmented browsing software
- List of Firefox extensions
- ShiftSpace, an extensible platform for annotating and modifying web content, built on top of Greasemonkey
- "The weblog about Greasemonkey".
- "The greasemonkey network graph".
- "Initial Greasemonkey Release".
- Greasemonkey 2.2 Release on greasespot.net.
- "Greasemonkey Project Info".
- Pilgrim, Mark (2005). Greasemonkey Hacks. O'Reilly.
- "Aaron Boodman wrote Greasemonkey in 2004".
- Singel, Ryan (17 May 2005). "Firefox Users Monkey With the Web?". Wired magazine.
- Nivi (2005-05-08). "Greasemonkey will blow up business models (as well as your mind)". Archived from the original on 2008-02-05. Retrieved 2010-07-22.
- Festa, Paul (24 March 2005). "Firefox add-on lets surfers tweak sites, but is it safe?". CNET.
- Selvitelle, Britt (2007-01-03). "Userscripts.org... Opensource!". Archived from the original on 2007-01-17. Retrieved 2014-05-21.
- "Passing the torch on userscripts.org". Hacker News. 2010. Retrieved 2014-10-24.
- "Fixing Install Counts". 2013-04-01. Archived from the original on 2013-11-03. Retrieved 2014-05-21.
- Brinkmann, Martin (2014-05-09). "Userscripts.org down for good? Here are alternatives". Retrieved 2014-05-21.
- "User Script Hosting". 2014-05-16. Retrieved 2014-05-21.
- "Please change the official userscript site". greasemonkey-dev (Mailing list). 2014-04-21. Retrieved 2014-05-21.
- "Greasemonkey". mozdev. Retrieved 2009-05-05.
- ianloic. "Greasemonkey". Songbird. Retrieved 2009-05-05.
- Violent monkey - Opera add-ons
- Cross-browser userscripting
- Tampermonkey Beta - Opera add-ons
- "User Scripts in IE7Pro".
- "You can also add custom functionality to Sleipnir with a wide range of plugins and user scripts".
- "Adguard - The world's most advanced ad blocker!".
- Boodman, Aaron (2010-02-01). "40,000 More Extensions!". blog.chromium.org. Retrieved 2010-02-01.
- "User Scripts - The Chromium Projects". Retrieved 2010-10-24.
- Chrome Web Store - Tampermonkey
- Chrome Web Store - Tampermonkey BETA
- Paul, Ian (18 January 2012). "How to Access Wikipedia on SOPA Protest Day". PC World. Retrieved 28 January 2013.
- Kay, Erik (2014-05-27). "Protecting Chrome users from malicious extensions". Google. Retrieved 2014-10-24.
- "New extension for Safari 5 called NinjaKit lets you install GM scripts". Excellatronic Communications. Retrieved 2010-07-22.
- "Kango framework".
- "Modifying content of web pages using Kango Framework and jQuery".
- Greasemonkey at Mozilla Add-ons
- Greasemonkey Wiki
- Greasemonkey source code at GitHub
- Greasemonkey discussion group at Google Groups
- Greasemonkey blog
- Greasemonkey Makes Firefox Unbeatable, an article on Greasemonkey for end-users
- Greasemonkey in the Enterprise, a blog series on security and deployment issues when using Greasemonkey for IT projects
- Monkey see, GreaseMonkey do!, a video tutorial for Greasemonkey userscript development
- Userscript repositories