Knowledge (XXG)

Greasemonkey

Source 📝

421:, 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 136: 438:"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 230: 40: 499:. 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 For example, Greasemonkey scripts do not have access to many of Firefox's components, such as the download manager, 1340: 503:
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.
437:
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
462:
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
433:
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
445:
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.
404:
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.
413:
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
300: 466:
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
1375: 865: 401:
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.
532:
will meet with Greasemonkey's built in update checker. As of July 2019, the Greasemonkey project lists three recommended user script hostings:
742: 359: 907: 842: 802: 484:.user.js, and Greasemonkey offers to install any such script when a URL ending in that suffix is requested. Greasemonkey scripts contain 1370: 892: 619: 1204: 705: 583: 463:
library. When users visit a website matching a script in their personal script library, Greasemonkey invokes the relevant scripts.
732: 495:
Writing a Greasemonkey script is similar to writing JavaScript for a web page, with some additional allowances such as cross-site
1153: 492:
URL used to differentiate identically named scripts, and URL patterns for which the script is intended to be invoked or not.
24: 249: 1084: 547:
is used by default. Files may follow the naming scheme with the ".user.js" suffix for the URL serving as an install link.
115: 89: 1257: 624: 959: 352: 326: 1344: 599: 244: 157: 543:
service operated by GitHub where simple files are hosted. Files can be pasted into a web form and saved.
1380: 459: 1132: 1034: 582:
package. However, this extension is not fully compatible as of release 2.15.1, since some Greasemonkey
991: 345: 869: 1261: 595: 571: 184: 788: 911: 850: 806: 471: 395: 387: 376: 321: 316: 1238: 759: 738: 579: 575: 383: 1216: 335: 295: 290: 196: 189: 164: 488:
which specifies the name of the script, a description, resources required by the script, a
554: 439: 418: 380: 1312: 709: 434:
Greasemonkey's official site, userscripts.org accumulated thousands of scripts per year.
135: 667: 496: 474: 169: 1364: 1287: 20: 1157: 803:"[Greasemonkey] greasemonkey for secure data over insecure networks / Sites" 629: 500: 422: 1179: 1012: 649: 603: 477:
request, allowing external content to be merged with the original page content.
467: 272: 267: 262: 201: 1313:"Improvements for GreaseMonkey support · Issue #3238 · qutebrowser/qutebrowser" 933: 124: 1212: 1088: 687: 578:(formerly called Epiphany). The Greasemonkey extension for Web is part of the 455: 149: 57: 47: 591: 521: 489: 280: 254: 1339: 1265: 39: 540: 485: 442:"openuserjs.org", and later greasyfork.org, as an immediate replacement. 414: 394:
content after or before the page is loaded in the browser (also known as
391: 963: 567: 229: 672: 607: 536: 828: 866:"Greasemonkey will blow up business models (as well as your mind)" 544: 529: 550:
Greasy Fork, a site created by the maintainer of userstyles.org.
1353: 843:"mozdev.org – : /pipermail/greasemonkey/2005-July/004379" 513: 212: 153: 893:"Firefox add-on lets surfers tweak sites, but is it safe?" 1113: 1063: 512:
File hosting servers for Greasemonkey require that the
19:
This article is about the software. For the comic, see
1239:"Greasemonkey Port for SeaMonkey – About – OpenUserJS" 992:"Userscripts.org down for good? Here are alternatives" 590:) are unsupported. There are also custom versions for 557:
for the deprecated script repository userscripts.org.
458:
and manipulate the contents of a web page using the
207: 195: 183: 175: 163: 145: 114: 88: 66: 56: 46: 1133:"Introducing Greasy Fork – a user scripts site" 985: 983: 981: 353: 8: 1035:"Please change the official userscript site" 32: 62:Anthony Lieuallen, Johan Sundström, 13 more 1108: 1106: 360: 346: 224: 134: 38: 31: 553:OpenUserJS.org, a site that started as a 454:Greasemonkey user scripts are written in 16:Userscript manager extension for Firefox 1180:"User Script Hosting – GreaseSpot Wiki" 1079: 1077: 1058: 1056: 782: 780: 640: 308: 236: 1376:Free software programmed in JavaScript 934:"Passing the torch on userscripts.org" 7: 906:Selvitelle, Britt (3 January 2007). 789:"Firefox Users Monkey With the Web?" 1131:Barnabe, Jason (19 February 2014). 688:"Version history – GreaseSpot Wiki" 620:List of augmented browsing software 758:Boodman, Aaron (1 February 2010). 14: 1288:"janekptacijarabaci/greasemonkey" 1338: 1085:"Fixing Install Counts – Page 6" 990:Brinkmann, Martin (9 May 2014). 908:"Userscripts.org... Opensource!" 668:"The greasemonkey network graph" 390:that make on-the-fly changes to 228: 1087:. 1 April 2013. Archived from 962:. 1 April 2013. Archived from 566:Greasemonkey is available for 386:. It enables users to install 25:Grease monkey (disambiguation) 1: 1154:"XPCNativeWrapper – MDC Docs" 1041:(Mailing list). 21 April 2014 891:Festa, Paul (24 March 2005). 250:Firefox early version history 829:"Security [LWN.net]" 787:Singel, Ryan (17 May 2005). 95:4.13 / 5 August 2024 706:"Greasemonkey Project Info" 1397: 1371:Free Firefox WebExtensions 625:List of Firefox extensions 18: 760:"40,000 More Extensions!" 516:for the scripts end with 110: 84: 37: 648:boots (23 August 2009). 960:"Fixing Install Counts" 245:Firefox version history 731:Pilgrim, Mark (2005). 72:; 19 years ago 23:. For other uses, see 1347:at Wikimedia Commons 1013:"User Script Hosting" 472:non-domain-restricted 460:Document Object Model 97:; 42 days ago 379:made available as a 1184:wiki.greasespot.net 864:Nivi (8 May 2005). 692:wiki.greasespot.net 650:"Greasespot: Outie" 309:Origins and lineage 287:Features of Firefox 34: 1091:on 3 November 2013 966:on 3 November 2013 914:on 17 January 2007 734:Greasemonkey Hacks 480:Scripts are named 396:augmented browsing 377:userscript manager 322:Mozilla Foundation 317:Netscape Navigator 70:28 March 2005 48:Original author(s) 1343:Media related to 791:. Wired magazine. 744:978-0-596-55357-9 450:Technical details 370: 369: 223: 222: 190:Mozilla extension 1388: 1357: 1356: 1354:Official website 1342: 1328: 1327: 1325: 1323: 1309: 1303: 1302: 1300: 1298: 1284: 1278: 1277: 1275: 1273: 1264:. Archived from 1253: 1247: 1246: 1235: 1229: 1228: 1226: 1224: 1219:on 23 April 2015 1215:. Archived from 1201: 1195: 1194: 1192: 1190: 1176: 1170: 1169: 1167: 1165: 1156:. Archived from 1150: 1144: 1143: 1141: 1139: 1128: 1122: 1121: 1110: 1101: 1100: 1098: 1096: 1081: 1072: 1071: 1060: 1051: 1050: 1048: 1046: 1039:greasemonkey-dev 1031: 1025: 1024: 1022: 1020: 1009: 1003: 1002: 1000: 998: 987: 976: 975: 973: 971: 956: 950: 949: 947: 945: 930: 924: 923: 921: 919: 910:. Archived from 903: 897: 896: 888: 882: 881: 879: 877: 868:. Archived from 861: 855: 854: 853:on 29 July 2005. 849:. Archived from 839: 833: 832: 825: 819: 818: 816: 814: 805:. Archived from 799: 793: 792: 784: 775: 774: 772: 770: 755: 749: 748: 728: 722: 721: 719: 717: 712:on 25 March 2012 708:. Archived from 702: 696: 695: 684: 678: 677: 664: 658: 657: 645: 586:functions (e.g. 527: 519: 362: 355: 348: 237:Related articles 232: 225: 219: 216: 214: 165:Operating system 138: 133: 130: 128: 126: 105: 103: 98: 80: 78: 73: 42: 35: 1396: 1395: 1391: 1390: 1389: 1387: 1386: 1385: 1361: 1360: 1352: 1351: 1336: 1331: 1321: 1319: 1311: 1310: 1306: 1296: 1294: 1286: 1285: 1281: 1271: 1269: 1255: 1254: 1250: 1237: 1236: 1232: 1222: 1220: 1203: 1202: 1198: 1188: 1186: 1178: 1177: 1173: 1163: 1161: 1160:on 28 June 2011 1152: 1151: 1147: 1137: 1135: 1130: 1129: 1125: 1112: 1111: 1104: 1094: 1092: 1083: 1082: 1075: 1062: 1061: 1054: 1044: 1042: 1033: 1032: 1028: 1018: 1016: 1011: 1010: 1006: 996: 994: 989: 988: 979: 969: 967: 958: 957: 953: 943: 941: 932: 931: 927: 917: 915: 905: 904: 900: 890: 889: 885: 875: 873: 863: 862: 858: 841: 840: 836: 827: 826: 822: 812: 810: 809:on 3 March 2020 801: 800: 796: 786: 785: 778: 768: 766: 757: 756: 752: 745: 730: 729: 725: 715: 713: 704: 703: 699: 686: 685: 681: 666: 665: 661: 647: 646: 642: 638: 616: 564: 525: 520:and not with a 517: 510: 497:XMLHttpRequests 452: 431: 429:Userscripts.org 419:Adrian Holovaty 411: 381:Mozilla Firefox 366: 277: 211: 141: 123: 106: 101: 99: 96: 76: 74: 71: 67:Initial release 28: 17: 12: 11: 5: 1394: 1392: 1384: 1383: 1378: 1373: 1363: 1362: 1359: 1358: 1335: 1334:External links 1332: 1330: 1329: 1304: 1279: 1268:on 2 June 2008 1258:"Greasemonkey" 1248: 1243:openuserjs.org 1230: 1205:"Greasemonkey" 1196: 1171: 1145: 1123: 1118:greasyfork.org 1102: 1073: 1068:openuserjs.org 1052: 1026: 1004: 977: 951: 925: 898: 883: 872:on 3 June 2006 856: 834: 820: 794: 776: 750: 743: 723: 697: 679: 659: 639: 637: 634: 633: 632: 627: 622: 615: 612: 580:Web extensions 563: 560: 559: 558: 551: 548: 528:. Support for 509: 506: 451: 448: 430: 427: 410: 407: 368: 367: 365: 364: 357: 350: 342: 339: 338: 332: 331: 330: 329: 324: 319: 311: 310: 306: 305: 304: 303: 298: 293: 288: 285: 284: 283: 278: 276: 275: 270: 265: 259: 257: 252: 239: 238: 234: 233: 221: 220: 209: 205: 204: 199: 193: 192: 187: 181: 180: 177: 173: 172: 170:Cross-platform 167: 161: 160: 147: 143: 142: 140: 139: 120: 118: 112: 111: 108: 107: 94: 92: 90:Stable release 86: 85: 82: 81: 68: 64: 63: 60: 54: 53: 50: 44: 43: 15: 13: 10: 9: 6: 4: 3: 2: 1393: 1382: 1379: 1377: 1374: 1372: 1369: 1368: 1366: 1355: 1350: 1349: 1348: 1346: 1341: 1333: 1318: 1314: 1308: 1305: 1293: 1289: 1283: 1280: 1267: 1263: 1259: 1252: 1249: 1244: 1240: 1234: 1231: 1218: 1214: 1210: 1206: 1200: 1197: 1185: 1181: 1175: 1172: 1159: 1155: 1149: 1146: 1134: 1127: 1124: 1119: 1115: 1114:"Greasy Fork" 1109: 1107: 1103: 1090: 1086: 1080: 1078: 1074: 1069: 1065: 1059: 1057: 1053: 1040: 1036: 1030: 1027: 1015:. 16 May 2014 1014: 1008: 1005: 993: 986: 984: 982: 978: 965: 961: 955: 952: 939: 935: 929: 926: 913: 909: 902: 899: 894: 887: 884: 871: 867: 860: 857: 852: 848: 844: 838: 835: 830: 824: 821: 808: 804: 798: 795: 790: 783: 781: 777: 765: 764:Chromium Blog 761: 754: 751: 746: 740: 736: 735: 727: 724: 711: 707: 701: 698: 693: 689: 683: 680: 675: 674: 669: 663: 660: 655: 651: 644: 641: 635: 631: 628: 626: 623: 621: 618: 617: 613: 611: 609: 605: 601: 597: 593: 589: 585: 581: 577: 573: 569: 562:Compatibility 561: 556: 552: 549: 546: 542: 538: 535: 534: 533: 531: 523: 515: 507: 505: 502: 501:I/O processes 498: 493: 491: 487: 483: 478: 476: 473: 469: 464: 461: 457: 449: 447: 443: 441: 435: 428: 426: 424: 420: 417:, written by 416: 408: 406: 402: 399: 397: 393: 389: 385: 382: 378: 374: 363: 358: 356: 351: 349: 344: 343: 341: 340: 337: 334: 333: 328: 327:Mozilla Suite 325: 323: 320: 318: 315: 314: 313: 312: 307: 302: 301:WebExtensions 299: 297: 294: 292: 289: 286: 282: 279: 274: 271: 269: 266: 264: 261: 260: 258: 256: 253: 251: 248: 247: 246: 243: 242: 241: 240: 235: 231: 227: 226: 218: 210: 206: 203: 200: 198: 194: 191: 188: 186: 182: 178: 174: 171: 168: 166: 162: 159: 155: 151: 148: 144: 137: 132: 131:/greasemonkey 129:/greasemonkey 122: 121: 119: 117: 113: 109: 93: 91: 87: 83: 69: 65: 61: 59: 55: 52:Aaron Boodman 51: 49: 45: 41: 36: 30: 26: 22: 21:Grease Monkey 1381:Web scraping 1345:Greasemonkey 1337: 1320:. Retrieved 1316: 1307: 1295:. Retrieved 1291: 1282: 1270:. Retrieved 1266:the original 1251: 1242: 1233: 1221:. Retrieved 1217:the original 1208: 1199: 1187:. Retrieved 1183: 1174: 1162:. Retrieved 1158:the original 1148: 1136:. Retrieved 1126: 1117: 1093:. Retrieved 1089:the original 1067: 1064:"OpenUserJS" 1043:. Retrieved 1038: 1029: 1017:. Retrieved 1007: 995:. Retrieved 968:. Retrieved 964:the original 954: 942:. Retrieved 937: 928: 916:. Retrieved 912:the original 901: 886: 874:. Retrieved 870:the original 859: 851:the original 846: 837: 823: 811:. Retrieved 807:the original 797: 767:. Retrieved 763: 753: 737:. O'Reilly. 733: 726: 714:. Retrieved 710:the original 700: 691: 682: 671: 662: 653: 643: 630:Tampermonkey 587: 565: 511: 508:User scripts 494: 481: 479: 468:web services 465: 453: 444: 436: 432: 423:Adblock Plus 412: 403: 400: 373:Greasemonkey 372: 371: 176:Available in 58:Developer(s) 33:Greasemonkey 29: 938:Hacker News 813:24 February 604:qutebrowser 588:GM_getValue 215:.greasespot 202:MIT License 1365:Categories 1209:mozdev.org 1138:5 November 1095:5 November 944:24 October 847:mozdev.org 654:Greasespot 636:References 456:JavaScript 150:JavaScript 146:Written in 116:Repository 102:2024-08-05 77:2005-03-28 1256:ianloic. 716:31 August 610:browser. 600:Pale Moon 592:SeaMonkey 576:GNOME Web 526:text/html 522:MIME type 490:namespace 384:extension 1297:23 March 1262:Songbird 1164:16 March 614:See also 596:Songbird 541:pastebin 518:.user.js 486:metadata 482:somename 415:AllMusic 392:web page 336:Category 1189:22 July 895:. CNET. 876:22 July 769:5 March 568:Firefox 475:XMLHTTP 409:History 388:scripts 296:Add-ons 208:Website 197:License 179:English 100: ( 75: ( 1322:19 May 1317:GitHub 1292:GitHub 1213:mozdev 1045:21 May 1019:21 May 997:21 May 970:21 May 940:. 2010 918:21 May 741:  673:GitHub 608:Falkon 606:, and 574:, and 470:via a 125:github 1272:5 May 1223:5 May 572:Flock 545:HTTPS 530:HTTPS 524:like 375:is a 291:Gecko 1324:2020 1299:2020 1274:2009 1225:2009 1191:2019 1166:2011 1140:2015 1097:2015 1047:2014 1021:2014 999:2014 972:2014 946:2014 920:2014 878:2010 815:2021 771:2023 739:ISBN 718:2011 555:fork 539:, a 537:Gist 514:URLs 440:fork 273:v3.6 268:v3.5 217:.net 185:Type 127:.com 584:API 398:). 213:www 158:CSS 154:XUL 1367:: 1315:. 1290:. 1260:. 1241:. 1211:. 1207:. 1182:. 1116:. 1105:^ 1076:^ 1066:. 1055:^ 1037:. 980:^ 936:. 845:. 779:^ 762:. 690:. 670:. 652:. 602:, 598:, 594:, 570:, 425:. 281:v4 263:v3 255:v2 156:, 152:, 1326:. 1301:. 1276:. 1245:. 1227:. 1193:. 1168:. 1142:. 1120:. 1099:. 1070:. 1049:. 1023:. 1001:. 974:. 948:. 922:. 880:. 831:. 817:. 773:. 747:. 720:. 694:. 676:. 656:. 361:e 354:t 347:v 104:) 79:) 27:.

Index

Grease Monkey
Grease monkey (disambiguation)

Original author(s)
Developer(s)
Stable release
Repository
github.com/greasemonkey/greasemonkey
Edit this at Wikidata
JavaScript
XUL
CSS
Operating system
Cross-platform
Type
Mozilla extension
License
MIT License
www.greasespot.net

Firefox version history
Firefox early version history
v2
v3
v3.5
v3.6
v4
Gecko
Add-ons
WebExtensions

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.