Greasemonkey

Greasemonkey
Original author(s)Aaron Boodman
Developer(s)Anthony Lieuallen, Johan Sundström,[1] 13 more[2]
Initial release28 March 2005; 19 years ago (2005-03-28)[3]
Stable release
4.13 / 5 August 2024; 39 days ago (2024-08-05)
Repository
Written inJavaScript, XUL, CSS
Operating systemCross-platform
Available inEnglish
TypeMozilla extension
LicenseMIT License
Websitewww.greasespot.net

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.

History

The Greasemonkey project began 28 November 2004, written by Aaron Boodman.[4][5][6] Boodman was inspired to write Greasemonkey after looking at a Firefox extension designed to clean up the interface of AllMusic,[7] 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.[7] In July 2005, serious vulnerabilities were found in Greasemonkey by Mark Pilgrim,[8][9] and fixed in the 3.5 version of Greasemonkey.[10] During this time, a Greasemonkey compiler was also developed for converting a userscript into a standalone Firefox extension.[11] Greasemonkey was initially met with complaints by publishers for its ability to block ads.[12] However, this criticism shifted its focus to other addons starting with the 2006 release of Adblock Plus.

Userscripts.org

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.[13] 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.[14] Nevertheless, he remained the sole admin of the site until a discussion about install counts began on 1 April 2013.[15] 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.[16] With no further communication by Andrews, userscript writers described the site as neglected and the official Greasemonkey site removed its front page link.[17][18] In response, script writers and other developers began working on the fork "openuserjs.org",[19][20] and later greasyfork.org,[21] as an immediate replacement.[22]

In May 2014, userscripts.org became inaccessible on port 80, prompting users to access it on port 8080 instead.[16] 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.[16]

Technical details

Greasemonkey user scripts are written in JavaScript and manipulate the contents of a web page using the Document Object Model interface. Scripts are generally written to be either page-specific or domain-specific (applying to all pages within a domain) but may also be tagged to apply to all domains for global browser enhancements. Users of Greasemonkey can write or download scripts and save them to their own personal library. When users visit a website matching a script in their personal script library, Greasemonkey invokes the relevant scripts.

Greasemonkey scripts can modify a webpage in any way that JavaScript allows, with certain Greasemonkey security restrictions. Scripts can also access other web pages and web services via a non-domain-restricted XMLHTTP request, allowing external content to be merged with the original page content.

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.

Writing a Greasemonkey script is similar to writing JavaScript for a web page, with some additional allowances such as cross-site XMLHttpRequests. Compared to writing a full-fledged Firefox extension, user scripting is a very modest step up in complexity from basic web programming. However, Greasemonkey scripts are limited due to security restrictions imposed by Mozilla's XPCNativeWrappers[23] For example, Greasemonkey scripts do not have access to many of Firefox's components, such as the download manager, I/O processes or its main toolbars. Additionally, Greasemonkey scripts run per instance of a matching webpage. Because of this, managing lists of items globally is difficult. However, script writers have been using cookies, and Greasemonkey even offers APIs such as GM_getValue and GM_setValue to overcome this.

User scripts

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:[24]

  • 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.[21]
  • OpenUserJS.org, a site that started as a fork for the deprecated script repository userscripts.org.[19][20]

Compatibility

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,[25][26] Songbird,[27] Pale Moon,[28] qutebrowser,[29] and Falkon browser.

See also

References

  1. ^ boots (23 August 2009). "Greasespot: Outie". Greasespot.
  2. ^ "The greasemonkey network graph". GitHub.
  3. ^ "Version history – GreaseSpot Wiki". wiki.greasespot.net.
  4. ^ "Greasemonkey Project Info". Archived from the original on 25 March 2012. Retrieved 31 August 2011.
  5. ^ Pilgrim, Mark (2005). Greasemonkey Hacks. O'Reilly. ISBN 978-0-596-55357-9.
  6. ^ Boodman, Aaron (1 February 2010). "40,000 More Extensions!". Chromium Blog. Retrieved 5 March 2023.
  7. ^ a b Singel, Ryan (17 May 2005). "Firefox Users Monkey With the Web?". Wired magazine.
  8. ^ "[Greasemonkey] greasemonkey for secure data over insecure networks / Sites". Archived from the original on 3 March 2020. Retrieved 24 February 2021.
  9. ^ "Security [LWN.net]".
  10. ^ "mozdev.org – : /pipermail/greasemonkey/2005-July/004379". mozdev.org. Archived from the original on 29 July 2005.
  11. ^ 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.
  12. ^ Festa, Paul (24 March 2005). "Firefox add-on lets surfers tweak sites, but is it safe?". CNET.
  13. ^ Selvitelle, Britt (3 January 2007). "Userscripts.org... Opensource!". Archived from the original on 17 January 2007. Retrieved 21 May 2014.
  14. ^ "Passing the torch on userscripts.org". Hacker News. 2010. Retrieved 24 October 2014.
  15. ^ "Fixing Install Counts". 1 April 2013. Archived from the original on 3 November 2013. Retrieved 21 May 2014.
  16. ^ a b c Brinkmann, Martin (9 May 2014). "Userscripts.org down for good? Here are alternatives". Retrieved 21 May 2014.
  17. ^ "User Script Hosting". 16 May 2014. Retrieved 21 May 2014.
  18. ^ "Please change the official userscript site". greasemonkey-dev (Mailing list). 21 April 2014. Retrieved 21 May 2014.
  19. ^ a b "OpenUserJS". openuserjs.org.
  20. ^ a b "Fixing Install Counts – Page 6". 1 April 2013. Archived from the original on 3 November 2013. Retrieved 5 November 2015.
  21. ^ a b "Greasy Fork". greasyfork.org.
  22. ^ Barnabe, Jason (19 February 2014). "Introducing Greasy Fork – a user scripts site". Retrieved 5 November 2015.
  23. ^ "XPCNativeWrapper – MDC Docs". Archived from the original on 28 June 2011. Retrieved 16 March 2011.
  24. ^ "User Script Hosting – GreaseSpot Wiki". wiki.greasespot.net. Retrieved 22 July 2019.
  25. ^ "Greasemonkey". mozdev.org. mozdev. Archived from the original on 23 April 2015. Retrieved 5 May 2009.
  26. ^ "Greasemonkey Port for SeaMonkey – About – OpenUserJS". openuserjs.org.
  27. ^ ianloic. "Greasemonkey". Songbird. Archived from the original on 2 June 2008. Retrieved 5 May 2009.
  28. ^ "janekptacijarabaci/greasemonkey". GitHub. Retrieved 23 March 2020.
  29. ^ "Improvements for GreaseMonkey support · Issue #3238 · qutebrowser/qutebrowser". GitHub. Retrieved 19 May 2020.

Media related to Greasemonkey at Wikimedia Commons

Read other articles:

The EyePoster film Hong KongNama lainTradisional見鬼Sederhana见鬼MandarinJiàn GuǐKantonGin3 Gwai2 SutradaraDanny Pang PhatOxide Pang ChunProduserPeter ChanLawrence ChengJojo HuiEric TsangDitulis olehJojo HuiDanny Pang PhatOxide Pang ChunPemeranAngelica LeeLawrence ChouChutcha RujinanonPenata musikOrange MusicSinematograferDecha SeementaPenyuntingDanny Pang PhatOxide Pang ChunPerusahaanproduksiApplause PicturesDistributorMediacorp Raintree PicturesTanggal rilis 9 Mei 2002 (…

Le Grand-Saconnexcittà Le Grand-Saconnex – Veduta LocalizzazioneStato Svizzera Cantone Ginevra DistrettoNon presente AmministrazioneLingue ufficialifrancese TerritorioCoordinate46°14′00″N 6°08′00″E / 46.233333°N 6.133333°E46.233333; 6.133333 (Le Grand-Saconnex)Coordinate: 46°14′00″N 6°08′00″E / 46.233333°N 6.133333°E46.233333; 6.133333 (Le Grand-Saconnex) Altitudine445 m s.l.m. Superficie4,38 km² Abitanti12 …

Bangladesh dan India memiliki sejarah budaya, ekonomi, dan politik yang sama dalam waktu yang cukup panjang. Budaya kedua negara juga mirip; terutama Bangladesh dengan Benggala Barat dan Tripura. Semenjak pemisahan India pada tahun 1947, Bangladesh menjadi bagian dari Pakistan. Setelah Perang Kemerdekaan Bangladesh tahun 1971, Bangladesh memperoleh kemerdekaan dan membuka hubungan dengan India. Hubungan antar kedua negara mengalami siklus cegukan. Berbagai masalah membuat panas hubungan antar ke…

Daniel Garbercirca 1900Lahir(1880-04-11)11 April 1880North Manchester, IndianaMeninggal5 Juli 1958 ( 1958 -07-05) (umur 78)Cuttalossa, PennsylvaniaKebangsaanAmericanPendidikanPennsylvania Academy of the Fine ArtsDikenal ataslandscape painter Daniel Garber (11 April 1880 – 5 Juli 1958) adalah seorang pelukis lanskap Impresionis Amerika pelukis lanskap dan anggota koloni di New Hope, Pennsylvania. Dia terkenal hari ini karena adegan besar impresionis di daerah Harapan Baru, di…

Sistem manajemen transportasi (bahasa Inggris: transportation management system) adalah rangkaian sistem yang dipasang pada kendaraan agar dapat dilacak oleh pemilik kendaraan atau pihak ketiga lainnya. Sistem pelacakan kendaraan modern umumnya menggunakan sistem pemosisi global (GPS) untuk menentukan lokasi kendaraan. Selain GPS, sistem ini juga dapat menggunakan frekuensi radio untuk menentukan posisi, seperti yang digunakan pada sistem LORAN dan LoJack. Sistem ini juga biasanya memiliki kompo…

Election in Hawaii Main article: 2020 United States presidential election 2020 United States presidential election in Hawaii ← 2016 November 3, 2020 2024 → Turnout69.65% [1]   Nominee Joe Biden Donald Trump Party Democratic Republican Home state Delaware Florida Running mate Kamala Harris Mike Pence Electoral vote 4 0 Popular vote 366,130 196,864 Percentage 63.73% 34.27% County results Precinct results Biden   40–50%   …

Aythya ferina Aythya ferina Fuligule milouin mâleClassification COI Règne Animalia Embranchement Chordata Sous-embr. Vertebrata Classe Aves Ordre Anseriformes Famille Anatidae Sous-famille Anatinae Tribu Aythyini Genre Aythya EspèceAythya ferina(Linnaeus, 1758) Statut de conservation UICN VU A2ab+3b+4ab : Vulnérable Le Fuligule milouin ou Milouin d'Europe (Aythya ferina) est une espèce de canards plongeurs appartenant à la famille des anatidés. Bien qu'elle soit encore commune en bea…

Part of a series onBritish law Acts of Parliament of the United Kingdom Year      1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879…

Chemical compound PD-102,807Identifiers IUPAC name ethyl 3,6a,11,14-tetrahydro-9-methoxy-2-methyl-(12H)-isoquino[1,2-b]pyrrolo[3,2-f][1,3]benzoxazine-1-carboxylate CAS Number23062-91-1 NPubChem CID4995951ChemSpider4175916 YUNIIA7U96364HKChEMBLChEMBL59898 YCompTox Dashboard (EPA)DTXSID20407355 Chemical and physical dataFormulaC23H24N2O4Molar mass392.455 g·mol−13D model (JSmol)Interactive image SMILES CCOC(=O)c1c(C)[nH]c(c1c3C5)ccc3OC2N5CCc4c2ccc(OC)c4 InChI InChI=1S/C23H24N…

2. Bundesliga2008-2009 Généralités Sport Football Organisateur(s) Deutscher Fußball-Bund Édition 35e Lieu(x) Allemagne Participants 18 clubs professionnels Hiérarchie Hiérarchie 2e échelon Niveau supérieur 1.Bundesliga Niveau inférieur 3. Liga Palmarès Promu(s) en début de saison Rot-Weiss OberhausenRot-Weiß AhlenFSV FrancfortIngolstadt 04 Vainqueur SC Fribourg Deuxième FSV Mainz Promu(s) SC FribourgFSV MainzFC Nuremberg Relégué(s) Ingolstadt 04SV Wehen-WiesbadenVfL Osnabrü…

Captain James CookJames Cook, potret karya Sir Nathaniel Dance-Holland, c. 1775, Museum Maritim Nasional, GreenwichLahir7 November [K.J.: 27 Oktober] 1728Marton, Yorkshire, InggrisMeninggal14 Februari 1779(1779-02-14) (umur 50)Teluk Kealakekua, HawaiiSebab meninggalDibunuh oleh warga Hawaii setelah kembali ke HawaiiKebangsaanBritania RayaPendidikanSekolah Postgate, Great AytonPekerjaanPenjelajah, navigator, kartografGelarKaptenSuami/istriElizabeth BattsAnak6Orang tuaJames CookGra…

Pour les articles homonymes, voir Chevalier. Chloé Chevalier Chloé Chevalier en 2017. Contexte général Sport Biathlon Période active 2012- Biographie Nationalité sportive Française Nationalité France Naissance 2 novembre 1995 (28 ans) Lieu de naissance Saint-Martin-d'Hères (Isère) Taille 1,73 m Poids de forme 55 kg Club Les 7 Laux Palmarès Médailles obtenues Compétition Or Arg. Bro. Coupe du monde (épreuves indiv.) 0 1 0 Championnats d'Europe 2 1 2 modifier  Chloé Cheval…

Cette page contient des caractères spéciaux ou non latins. S’ils s’affichent mal (▯, ?, etc.), consultez la page d’aide Unicode. Vieux Futhark Vieux Futhark – chaque ligne correspond à un ætt. Caractéristiques Type Alphabet Langue(s) Proto-germanique, Proto-norrois, Gotique, Alémanique Direction Gauche à droite, droite à gauche, boustrophedon Historique Époque IIe au VIIIe siècles Système(s) parent(s) Alphabet phénicien  Alphabet grec (variante de Cumae)…

Costa d'Oro Prussiana Costa d'Oro Prussiana - Localizzazione Dati amministrativiNome ufficialeGroß Friedrichsburg Lingue ufficialiTedesco CapitaleFort Groß Friedrichsburg Dipendente daBrandeburgo (1682-1701), poi Prussia (1701-1717) PoliticaForma di governoColonia Nascita1682 con Federico Guglielmo I di Brandeburgo Fine1717 con Federico Guglielmo I di Prussia CausaVendita della colonia alla Compagnia olandese delle Indie occidentali Territorio e popolazioneBacino geograficoAfrica occidentale E…

Pemerintahan Militer Amerika Serikat di Kepulauan Filipina1898–1902 BenderaLokasi Filipina di Asia TenggaraStatusWilayah hukum dari Amerika SerikatIbu kotaManilaPemerintahanMiliterGubernur Jenderal • 1898 Wesley Merritt• 1898-1900 Elwell S. Otis• 1900-1901 Arthur MacArthur, Jr.• 1901-1902 Bersama aturan: Adna Chaffee , William Howard Taft (sebagai gubernur sipil ) Sejarah • Didirikan 14 Augustus 1898• Dibubarkan 1 Juli 1902 Luas1898298.182…

† Человек прямоходящий Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:СинапсидыКл…

Railway station in Cheshire, England This article is about the railway station in England. For the station in Pennsylvania, see Chester Transportation Center. For the station in Toronto, see Chester station (Toronto). Chester The front of Chester railway stationGeneral informationLocationStation Road, ChesterEnglandCoordinates53°11′48″N 2°52′47″W / 53.1968°N 2.8798°W / 53.1968; -2.8798Grid referenceSJ413669Owned byNetwork RailOperated byTransport for WalesTran…

1989 film by Abel Ferrara Cat ChaserDVD coverDirected byAbel FerraraWritten byElmore LeonardJames BorelliProduced byPeter S. DavisWilliam N. PanzerStarringPeter WellerKelly McGillisCinematographyAnthony B. RichmondEdited byAnthony RedmanMusic byChick CoreaDistributed byVestron PicturesRelease date December 8, 1989 (1989-12-08) Running time90 minutesCountryUnited StatesLanguageEnglish Cat Chaser is a 1989 American heist film directed by Abel Ferrara and starring Peter Weller and Ke…

Pour les articles homonymes, voir António Oliveira, Oliveira et Guterres. António Guterres António Guterres en 2021. Fonctions Secrétaire général des Nations unies En fonction depuis le 1er janvier 2017(7 ans, 4 mois et 1 jour) Élection 13 octobre 2016 Réélection 18 juin 2021 Prédécesseur Ban Ki-moon Haut Commissaire des Nations unies pour les réfugiés 15 juin 2005 – 31 décembre 2015 (10 ans, 6 mois et 16 jours) Prédécesseur Ruud Lubbers Successeur…

Canal latéral à la GaronneTerusan Garonne di Puybarban, Departemen GirondeSpesifikasi teknisPanjang193 kmPanjang kapal maksimum3.065 m (10.056 ft)Lintang maksimum580 m (1.900 ft)Jumlah pintu air53Ketinggian maksimum dpl128 m (420 ft)Ketinggian minimum dpl0 m (0 ft)SejarahDirestorasiPada tahun 1970an, pintu air diperpanjang menjadi 38mGeografiTitik awalToulouseTitik akhirCastets-en-DortheKoordinat awal43°36′42″N 1°25′06″E / 43.61…

Kembali kehalaman sebelumnya