# greasemonkey/greasemonkey

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/greasemonkey-greasemonkey).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

2,563 stars · 347 forks · JavaScript · NOASSERTION

## Links

- GitHub: https://github.com/greasemonkey/greasemonkey
- Homepage: http://www.greasespot.net/
- awesome-repositories: https://awesome-repositories.com/repository/greasemonkey-greasemonkey.md

## Description

Greasemonkey is a Firefox extension that functions as a JavaScript userscript engine and manager, executing custom scripts on target web pages to automate tasks and alter page functionality. It injects user code into the isolated execution context of web pages before or during page load, allowing users to modify content, behavior, and styling dynamically on specific websites.

The extension integrates natively into the browser extension system using background processes and messaging interfaces. It parses special comment blocks inside scripts to determine execution permissions, URL matching patterns, and resource dependencies. Privileged utility functions are exposed safely across the barrier between extension and page scripts through sandboxing mechanisms.

Additional capabilities include bypassing normal browser security restrictions to retrieve data from external domains using privileged API extensions, and maintaining local key-value data stores tied to specific user scripts for saving state across browser sessions.

## Tags

### Web Development

- [Firefox Extensions](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-extension-development/browser-extensions/firefox-extensions.md) — Implements a Firefox browser extension architecture for managing and running custom user scripts.
- [Privileged Browser](https://awesome-repositories.com/f/web-development/api-bridges/privileged-browser.md) — Provides privileged browser API bridges that safely expose restricted capabilities to sandboxed scripts.
- [Browser Extension Script Managers](https://awesome-repositories.com/f/web-development/browser-extension-script-managers.md) — Manages browser user scripts to run targeted code and modify web page functionality dynamically. ([source](https://github.com/greasemonkey/greasemonkey/blob/master/README.md))
- [Browser Extension Development](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-extension-development.md) — Provides tools and extension structures for building and managing browser add-ons.
- [Content Script Injection Architectures](https://awesome-repositories.com/f/web-development/custom-page-frameworks/page-content-injections/script-injections/content-script-injection-architectures.md) — Executes user-defined content scripts inside isolated page contexts to alter web page behavior.
- [User Script Injection Browsers](https://awesome-repositories.com/f/web-development/custom-page-frameworks/page-content-injections/script-injections/user-script-injection-browsers.md) — Injects custom user scripts into web pages to alter browser behavior and appearance. ([source](https://github.com/greasemonkey/greasemonkey#readme))
- [Userscript Support](https://awesome-repositories.com/f/web-development/web-browsers/userscript-support.md) — Executes custom userscripts and exposes privileged APIs for cross-origin fetching and persistent storage.
- [Web Page Customizations](https://awesome-repositories.com/f/web-development/web-page-customizations.md) — Modifies the styling and content of live web pages dynamically to suit personal workflows.

### Data & Databases

- [Userscript Key-Value Stores](https://awesome-repositories.com/f/data-databases/state-persistence/browser-storage-persistence/userscript-key-value-stores.md) — Provides per-script persistent storage management APIs that survive browser restarts.

### Development Tools & Productivity

- [Userscript Managers](https://awesome-repositories.com/f/development-tools-productivity/userscript-managers.md) — Acts as a userscript manager extension for installing and executing custom scripts in Firefox.

### Game Development

- [Script State Persistence](https://awesome-repositories.com/f/game-development/game-logic-scripting/script-object-state-serializations/cross-script-state-persistence/script-state-persistence.md) — Maintains persistent key-value storage tied to specific user scripts across browser sessions.

### Security & Cryptography

- [Scripting Sandboxes](https://awesome-repositories.com/f/security-cryptography/scripting-sandboxes.md) — Exposes restricted utility functions safely across isolation boundaries between extension and page scripts.

### Software Engineering & Architecture

- [Configuration Manifests](https://awesome-repositories.com/f/software-engineering-architecture/configuration-manifests.md) — Parses special comment metadata blocks inside user scripts to determine execution permissions and rules.
- [Browser Extension APIs](https://awesome-repositories.com/f/software-engineering-architecture/feature-extensions/browser-extension-apis.md) — Integrates natively with browser extension APIs and background messaging interfaces.
- [Script-to-Background Messaging](https://awesome-repositories.com/f/software-engineering-architecture/background-processing/extension-background-scripts/script-to-background-messaging.md) — Coordinates background processes and content scripts using native browser messaging interfaces.

### Networking & Communication

- [Cross-Origin Networking](https://awesome-repositories.com/f/networking-communication/cross-origin-networking.md) — Bypasses standard browser security restrictions to fetch resources and data from external domains.
- [Cross-Origin HTTP Request APIs](https://awesome-repositories.com/f/networking-communication/http-request-configurations/cross-origin-http-request-apis.md) — Delegates cross-origin HTTP requests through privileged extension APIs to access external APIs.
