30 open-source projects similar to quoid/userscripts, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Userscripts alternative.
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
Scriptcat is a user script manager and browser extension designed to install, execute, and manage custom JavaScript scripts to modify website behavior and extend browser functionality. It features a JavaScript sandbox environment that provides specialized APIs for storage, cookies, and system notifications, alongside a cloud-synced script repository to keep subscriptions and configurations consistent across multiple devices. The project includes an in-browser script editor for writing, testing, and debugging code directly within the browser. It also incorporates a cross-domain request engine
Tampermonkey is a userscript manager used for browser behavior modification and web page automation. It allows for the installation and management of custom scripts that inject JavaScript into web pages to change their appearance or functionality. The project enables cross-browser script synchronization to maintain a consistent set of modifications across multiple devices. It provides a mechanism to manage custom userscript collections and synchronize them via cloud accounts. The system covers a broad range of capabilities including the automation of repetitive tasks on specific websites and
This project is a reference library and collection of practical code samples for building browser extensions using WebExtensions APIs. It provides implementation guides and functional examples for core extension components, including content scripts, background processes, and browser action popups. The repository focuses on demonstrating specific implementation patterns for browser UI customization and web page manipulation. It includes samples for creating sidebars, context menus, and options pages, as well as techniques for injecting scripts and styles to alter DOM elements and page appeara
BewlyBewly is a browser extension that customizes the Bilibili homepage, modifying its layout and appearance to deliver a personalized browsing experience without altering the core functionality of the site. It functions as a frontend customization utility, injecting custom CSS and scripts directly into the page context to override default styles and dynamically reapply changes as content loads. The extension is built as a Manifest V3 Chrome extension, using a content script injection system and a DOM mutation observer to ensure customizations persist even as the page updates. It includes a u
Tridactyl is a Vim-like Firefox extension that provides a comprehensive keyboard-driven interface for browsing, tab management, and page interaction. It replaces traditional mouse-based navigation with Vim-style keybindings, an ex-mode command line, and a hint overlay system for selecting and interacting with page elements. The extension is built around a core infrastructure that includes a modal command parser, a keybinding configuration system, and a content-script command bridge for executing commands in page context. The extension distinguishes itself through its deep integration with Fir
This project is a boilerplate for Chrome extension development, utilizing React and Vite to build custom functionality and user interfaces for web browsers. The development workflow emphasizes fast iteration through hot-reload capabilities and module rebuilding, which reflect code changes in the browser without manual reloading. It includes a type-safe internationalization system for managing multi-language support and automated end-to-end testing to verify feature stability across different browser packages. The architecture provides a component-based framework for creating popups, options
This project provides an English dictionary REST API and a corresponding web browser extension. It serves as a programmatic interface for retrieving linguistic data, including word definitions, phonetic transcriptions, parts of speech, and synonyms via HTTP requests. The browser extension implements in-browser word lookup by injecting content scripts that listen for double-click events. When a user selects text, the tool renders a DOM-based overlay to display the word's meaning in a pop-up bubble at the cursor position. The system utilizes asynchronous network fetching and external API proxy
Vimium-C is a keyboard-driven browser extension that provides a vim-like navigation tool for web browsers. It functions as a customizable key mapper and accessibility tool, allowing users to interact with web content and manage browser tabs and windows without a mouse. The project distinguishes itself through advanced key mapping capabilities, including the ability to define contextual shortcuts based on the website host and remap keyboard layouts. It implements mode-specific mappings to prevent command conflicts and allows for specific keyboard mappings to function within text input boxes.
Barba is a JavaScript page transition library that intercepts browser navigation to swap page content and animate transitions without a full page refresh. It functions as an AJAX page loader and client-side navigation manager, coordinating the lifecycle of transitions through hooks and custom logic during view changes. The library distinguishes itself as a frontend animation orchestrator that triggers specific visual effects and scripts based on the source and destination of a website page. It employs a rules-based system to resolve which specific animation or transition to execute by matchin
RemoveAdblockThing is a browser extension that removes YouTube's adblock detection popup and skips video ads without triggering the platform's anti-adblock systems. It is designed to maintain an uninterrupted viewing experience by eliminating the intrusive "Ad blocker are not allowed on YouTube" message and automatically bypassing ad detection mechanisms. The extension works by injecting a content script at document_start to intercept and modify page behavior before YouTube's ad detection scripts run. It uses a DOM MutationObserver to monitor the YouTube DOM for ad-related elements and detect
Swup is a page transition library and AJAX page loader designed to create seamless, animated transitions between pages on server-rendered websites. It functions as a DOM content orchestrator and browser history manager, intercepting navigation to replace page content dynamically and simulate a single-page application experience. The project differentiates itself through a hook-based lifecycle system and a plugin architecture that allows for the injection of custom logic and animation effects. It supports advanced visual methods including DOM content morphing, parallel-DOM rendering for overla
openapi-devtools is a browser extension and OpenAPI specification generator that captures network traffic to automatically document the API structures of websites and applications. It functions as an HTTP traffic capturer and browser-based documentation tool, mapping real-time network requests into standardized API specifications. The tool enables API reverse engineering by intercepting outbound HTTP traffic and using heuristic-based merging to combine headers, bodies, and parameters from multiple requests into unified endpoint definitions. These captured definitions can be visualized as huma
This project is a pre-configured development environment and boilerplate for building Chrome extensions using React and Webpack. It provides a structured project layout and a build system designed to bundle content scripts and background pages into a browser-ready manifest format. The toolkit emphasizes development speed and code quality through a hot reloading system that automatically refreshes the browser upon saving source files. It integrates TypeScript to provide static type definitions for browser extension APIs, ensuring type safety and intelligent code completion during development.
LeetHub is a browser extension that automatically archives completed LeetCode coding solutions to a GitHub repository. It intercepts submission results from LeetCode pages and, upon successful test completion, pushes the code along with problem metadata into a structured, versioned history on the user's GitHub account. The project authenticates with GitHub using OAuth tokens, authorizing it to create private repositories and configure repository hooks for automated synchronization. This eliminates the manual step of copying and pasting solutions, instead building a permanent, versioned portfo
I-Still-Dont-Care-About-Cookies is a browser extension and content blocker designed to remove cookie consent warnings and popups from websites. It functions as a browser privacy tool and DOM element filter that reduces website clutter and visual interruptions during web browsing. The extension identifies and hides intrusive elements by using a database of domain-specific selectors. It employs a combination of CSS injection to hide elements and JavaScript execution to remove complex interface components that cannot be hidden by stylesheets alone. The tool manages content scripts and CSS selec
Multiplatform Settings is a configuration management library that provides a unified interface for key-value data persistence across Kotlin Multiplatform projects. It abstracts native storage mechanisms, allowing developers to manage application settings and user preferences consistently across Android, iOS, and desktop environments. The library distinguishes itself by supporting the serialization of complex objects, enabling the storage of non-primitive data structures directly within the settings store. It incorporates reactive patterns to facilitate real-time data observation, ensuring tha
RoseDB is a persistent key-value database and log-structured storage engine. It functions as a lightweight storage system that utilizes a log-structured hash table and a Bitcask engine implementation to provide fast data retrieval and disk-backed persistence. The system operates as an atomic transaction engine, grouping multiple read and write operations into single units to maintain data consistency. It handles data through a key-value model that supports individual insertions, lookups, and deletions. The database provides capabilities for batch data processing and atomic updates. Additiona
ChatGPT-Shortcut is a prompt engineering toolkit and management library designed to organize, refine, and deploy structured instructions for large language models. It functions as a browser-based prompt injector and a self-hosted prompt database, allowing users to maintain a curated collection of specialized templates. The project features a community prompt gallery where users can publish, discover, and vote on effective templates. It distinguishes itself by integrating these libraries directly into chat interfaces via userscripts or browser extensions, enabling access to prompts through sid
This project is a disk-backed key-value store and persistent data structure library for Python. It provides a mechanism for persisting mappings, sets, and queues to the local filesystem to bypass memory limitations and cache expensive function results across threads and processes. The system serves as a cross-process synchronization tool, offering distributed locks, semaphores, and barriers to coordinate shared resource access. It implements advanced caching strategies such as probabilistic stampede prevention, sharded data partitioning to increase throughput, and least-recently-used eviction
MMKV is a high-performance, cross-platform key-value storage framework designed for mobile platforms and POSIX environments, including Android, iOS, macOS, and Windows. It provides a persistence layer that utilizes memory-mapped files and binary serialization to achieve low-latency data access. The project distinguishes itself through native support for multi-process synchronization, allowing concurrent read and write operations across different application processes. It also implements security via AES encryption for data at rest, featuring symmetric encryption and key rotation to protect st
Bilibili-Evolved is a browser-based environment that functions as a web content modification engine. It operates as a user interface customization suite, allowing users to personalize their browsing experience by injecting custom logic and interface modifications directly into the Bilibili platform. The project distinguishes itself through a modular component architecture that organizes independent features into isolated units, which can be toggled or configured individually. It utilizes a user-script injection mechanism and a document mutation observer pattern to dynamically alter site asset
UnoCSS is an atomic CSS engine and utility-first framework that generates styles on-demand based on the specific classes used in your source code. By scanning your project files during the build process, it produces only the CSS necessary for your application, effectively minimizing bundle size and eliminating unused styles. The engine distinguishes itself through a highly modular, configuration-driven architecture that allows for deep customization of design tokens, rules, and presets. It supports advanced styling patterns such as attribute-based styling, tag-based styling, and dynamic varia
DiskLruCache is a disk-backed key-value cache library for Android and Java environments that stores data on the filesystem within a configurable byte limit. It uses a least-recently-used (LRU) eviction policy to automatically remove old entries when the cache exceeds its allocated size, and maintains a journal file to reconstruct its in-memory state after a process restart. The cache provides atomic write operations that first write new data to a temporary file before atomically renaming it, preventing partial or corrupted reads during concurrent access. It returns frozen snapshots of cache e
Badger is an embeddable key-value store written in Go that provides persistent data storage for byte keys and values. It is a persistent database that utilizes a tiered LSM tree storage model to optimize disk storage and retrieval efficiency. The system features an ACID transaction engine that ensures data integrity through serializable snapshot isolation and multi-version concurrency control. It also provides an encrypted key-value store with data-at-rest encryption and a managed encrypted key registry to secure stored information. The engine covers a broad set of capabilities including hig
React Native AsyncStorage is a persistent key-value storage library designed for React Native applications. It provides a unified local storage interface that works identically on both iOS and Android, ensuring saved data remains available across app restarts and when the device has no network connectivity. The library uses an asynchronous background I/O queue to handle all storage operations without blocking the JavaScript thread, communicating with native storage engines through React Native's bridge protocol. It includes a serialization layer that converts JavaScript values to strings for
Store.js is a client-side state persistence library and web storage abstraction layer. It provides a consistent browser key-value storage wrapper that manages the persistence of application state across sessions using the most capable available local storage mechanism. The engine is extensible, allowing for the integration of custom storage backends and plugins to modify how data is read and written. It functions as a reactive web storage manager, monitoring specific keys to trigger notifications when stored values are updated. The library handles automatic data serialization for complex typ
This project is a browser extension that integrates real-time web search results and page content into large language model prompts to provide updated context. It functions as a prompt template manager and web content extractor, allowing users to fetch live data from search engines to overcome knowledge cutoff dates. The extension enables deep research by performing comprehensive searches and providing original source citations. It augments search engines by displaying AI-generated answers alongside traditional search results through a custom interface overlay. The system includes capabiliti
BrowserSync is a web development synchronization tool and live reload server. It functions as a local static web server, a reverse proxy server for existing sites, and a browser testing orchestrator that coordinates page state across different browsers and physical devices. The tool is distinguished by its ability to mirror user interactions, such as clicks, scrolls, and form inputs, in real time across all connected devices. It also provides a web-based device control interface and the capability to create public URL tunnels for remote testing of local sites. The system covers a broad range