|Original author(s)||Aaron Boodman|
|Developer(s)||Anthony Lieuallen, Johan Sundström, 13 more|
|Initial release||28 March 2005|
4.11 / 27 January 2021
|Origins and lineage|
Greasemonkey is a userscript manager made available as a Mozilla Firefox extension. It enables 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, 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. In July 2005, serious vulnerabilities were found in Greasemonkey by Mark Pilgrim, and fixed in the 3.5 version of 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 1 April 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 an immediate replacement.
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 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.
File hosting servers for Greasemonkey require that the URLs for the scripts end with
.user.js and not with a MIME type like
text/html. Support for HTTPS will meet with[clarification needed] Greasemonkey's built in update checker. As of July 2019, the Greasemonkey project lists three recommended user script hostings:
- Gist, a pastebin service operated by GitHub where simple files are hosted. Files can be pasted into a web form and saved. HTTPS is used by default. Files may follow the naming scheme with the ".user.js" suffix for the URL serving as an install link.
- Greasy Fork, a site created by the maintainer of userstyles.org.
- OpenUserJS.org, a site that started as a fork for the deprecated script repository userscripts.org.
Greasemonkey is available for Firefox, Flock and GNOME 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, Songbird, Pale Moon, qutebrowser and Falkon browser.
- "The weblog about Greasemonkey".
- "The greasemonkey network graph".
- "Initial Greasemonkey Release".
- "Greasemonkey Project Info". Archived from the original on 25 March 2012. Retrieved 31 August 2011.
- Pilgrim, Mark (2005). Greasemonkey Hacks. O'Reilly. ISBN 978-0-596-55357-9.
- "Aaron Boodman wrote Greasemonkey in 2004".
- Singel, Ryan (17 May 2005). "Firefox Users Monkey With the Web?". Wired magazine.
- Nivi (8 May 2005). "Greasemonkey will blow up business models (as well as your mind)". Archived from the original on 3 June 2006. Retrieved 22 July 2010.
- Festa, Paul (24 March 2005). "Firefox add-on lets surfers tweak sites, but is it safe?". CNET.
- Selvitelle, Britt (3 January 2007). "Userscripts.org... Opensource!". Archived from the original on 17 January 2007. Retrieved 21 May 2014.
- "Passing the torch on userscripts.org". Hacker News. 2010. Retrieved 24 October 2014.
- "Fixing Install Counts". 1 April 2013. Archived from the original on 3 November 2013. Retrieved 21 May 2014.
- Brinkmann, Martin (9 May 2014). "Userscripts.org down for good? Here are alternatives". Retrieved 21 May 2014.
- "User Script Hosting". 16 May 2014. Retrieved 21 May 2014.
- "Please change the official userscript site". greasemonkey-dev (Mailing list). 21 April 2014. Retrieved 21 May 2014.
- "OpenUserJS". openuserjs.org.
- "Fixing Install Counts – Page 6". 1 April 2013. Archived from the original on 3 November 2013. Retrieved 5 November 2015.
- "Greasy Fork". greasyfork.org.
- Barnabe, Jason (19 February 2014). "Introducing Greasy Fork – a user scripts site". Retrieved 5 November 2015.
- "User Script Hosting - GreaseSpot Wiki". wiki.greasespot.net. Retrieved 22 July 2019.
- "Greasemonkey". mozdev.org. mozdev. Retrieved 5 May 2009.
- "Greasemonkey Port for SeaMonkey - About - OpenUserJS". openuserjs.org.
- ianloic. "Greasemonkey". Songbird. Archived from the original on 2 June 2008. Retrieved 5 May 2009.
- "janekptacijarabaci/greasemonkey". GitHub. Retrieved 23 March 2020.
- "Improvements for GreaseMonkey support · Issue #3238 · qutebrowser/qutebrowser". GitHub. Retrieved 19 May 2020.
Media related to Greasemonkey at Wikimedia Commons