# violentmonkey/violentmonkey

**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/violentmonkey-violentmonkey).**

7,874 stars · 673 forks · JavaScript · mit

## Links

- GitHub: https://github.com/violentmonkey/violentmonkey
- Homepage: https://violentmonkey.github.io/
- awesome-repositories: https://awesome-repositories.com/repository/violentmonkey-violentmonkey.md

## Topics

`userscripts-support` `violentmonkey` `webextensions`

## Description

Violentmonkey is a userscript manager extension and JavaScript injection framework. It allows users to install and manage custom scripts and CSS to modify the behavior and appearance of websites based on metadata-driven trigger conditions.

The project functions as a cloud-synced script manager, backing up and synchronizing scripts across different devices using external cloud storage services. It also serves as a cross-origin request bridge, providing a communication layer that enables scripts to bypass the same-origin policy to fetch data.

The tool covers a broad range of browser automation and customization capabilities. These include the ability to inject custom DOM elements and styles, manage browser tabs, and interact with the system clipboard and desktop notifications. It also provides a persistent scoped storage model for maintaining script-specific data across tabs and supports integration with external code editors for script development.

## Tags

### Part of an Awesome List

- [Userscripts](https://awesome-repositories.com/f/awesome-lists/devtools/userscripts.md) — Provides a framework for creating and managing userscripts that modify website behavior and functionality. ([source](https://violentmonkey.github.io/guide/creating-a-userscript/))

### Development Tools & Productivity

- [Userscript Managers](https://awesome-repositories.com/f/development-tools-productivity/userscript-managers.md) — Functions as a comprehensive manager for installing and synchronizing userscripts to customize web page behavior and appearance.
- [Browser Automation Tools](https://awesome-repositories.com/f/development-tools-productivity/browser-automation-tools.md) — Provides utilities for programmatically controlling browser interactions to automate repetitive web tasks.
- [Browser-Based Workflows](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-engines/browser-based-workflows.md) — Executes automated scripts within the browser to handle repetitive tasks and web-based workflows. ([source](https://violentmonkey.github.io/))
- [External Editor Integrations](https://awesome-repositories.com/f/development-tools-productivity/external-editor-integrations.md) — Integrates with third-party IDEs to synchronize source code changes in real-time.
- [IDE Synchronization Protocols](https://awesome-repositories.com/f/development-tools-productivity/version-control-sync/external-modification-syncing/ide-synchronization-protocols.md) — Establishes a communication channel to synchronize source code changes between the browser extension and third-party editors.

### Business & Productivity Software

- [Cloud-Synced Managers](https://awesome-repositories.com/f/business-productivity-software/cloud-synced-managers.md) — Synchronizes user scripts across different devices using external cloud storage services for consistency. ([source](https://violentmonkey.github.io/))

### Networking & Communication

- [Cross-Origin Networking](https://awesome-repositories.com/f/networking-communication/cross-origin-networking.md) — Implements a networking layer that allows userscripts to make HTTP requests bypassing the same-origin policy. ([source](https://violentmonkey.github.io/api/gm/))

### Programming Languages & Runtimes

- [Injection Frameworks](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/javascript-and-web-standard/injection-frameworks.md) — Provides a framework for injecting and executing user-defined JavaScript and CSS within web pages.

### Security & Cryptography

- [Bypasses](https://awesome-repositories.com/f/security-cryptography/content-security-policies/bypasses.md) — Injects DOM elements and styles using privileged permissions to override strict website security restrictions.

### Software Engineering & Architecture

- [Communication Bridges](https://awesome-repositories.com/f/software-engineering-architecture/application-frameworks/cross-platform-desktop-frameworks/webview-based/communication-bridges.md) — Facilitates data exchange between background pages and content scripts to bypass same-origin policies.
- [Sandboxed Execution Environments](https://awesome-repositories.com/f/software-engineering-architecture/sandboxed-execution-environments.md) — Separates script execution from the webpage context to prevent conflicts while allowing controlled global variable access.

### Web Development

- [Privileged Browser](https://awesome-repositories.com/f/web-development/api-bridges/privileged-browser.md) — Provides scripts access to restricted browser functions like file saving and cross-origin requests.
- [Browser Extension Script Managers](https://awesome-repositories.com/f/web-development/browser-extension-script-managers.md) — Acts as a manager for injecting custom scripts and interface modifications into websites.
- [UI Element Injection](https://awesome-repositories.com/f/web-development/client-side-components/script-injection-mechanisms/dom-script-injection/ui-element-injection.md) — Injects custom HTML containers and DOM elements into pages, bypassing strict content security policies. ([source](https://violentmonkey.github.io/api/gm/))
- [Script Injections](https://awesome-repositories.com/f/web-development/custom-page-frameworks/page-content-injections/script-injections.md) — Executes JavaScript and CSS on specific webpages based on trigger conditions defined in script header blocks.
- [Privileged Injections](https://awesome-repositories.com/f/web-development/dom-manipulation/privileged-injections.md) — Injects elements and styles using elevated browser permissions to override restrictive content security policies.
- [Metadata-Driven Injection Engines](https://awesome-repositories.com/f/web-development/metadata-driven-injection-engines.md) — Parses script header blocks to determine trigger conditions and applies styles or logic to matching webpages.
- [CSS Injection](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/asset-management-build-tools/style-optimization-tools/css-injection.md) — Dynamically injects CSS into web pages to change their styling and appearance. ([source](https://violentmonkey.github.io/api/gm/))
- [Web Page Customizations](https://awesome-repositories.com/f/web-development/web-page-customizations.md) — Enables the execution of scripts to modify the appearance or behavior of websites based on user preferences. ([source](https://violentmonkey.github.io/))
- [Global State Access](https://awesome-repositories.com/f/web-development/global-state-access.md) — Allows scripts to modify global variables on a webpage by bypassing standard sandbox restrictions. ([source](https://violentmonkey.github.io/api/gm/))

### Data & Databases

- [Storage Key Observation](https://awesome-repositories.com/f/data-databases/client-side-storage/storage-key-observation.md) — Monitors specific storage keys to trigger callbacks and synchronize state across different browser tabs. ([source](https://violentmonkey.github.io/api/gm/))
- [Configuration Mirroring](https://awesome-repositories.com/f/data-databases/cloud-storage-gateways/configuration-mirroring.md) — Mirrors local script configurations to remote cloud backends to maintain consistency across environments.
- [Cloud Storage Sync Tools](https://awesome-repositories.com/f/data-databases/cloud-storage-sync-tools.md) — Backs up and synchronizes user scripts across different devices using external cloud storage providers.
- [Cloud Synchronization Services](https://awesome-repositories.com/f/data-databases/data-synchronization/cloud-synchronization-services.md) — Provides synchronization of user scripts across different devices via external cloud storage services.
- [Key-Value Persistence Stores](https://awesome-repositories.com/f/data-databases/key-value-persistence-stores.md) — Maintains script-specific state using a persistent key-value store across multiple browser tabs.
- [Browser Storage Persistence](https://awesome-repositories.com/f/data-databases/state-persistence/browser-storage-persistence.md) — Implements a synchronized data store for script-specific key-value pairs accessible across different browser tabs.
