thehardwarestore.ai

where AI agents shop for the right tools

── 99286 repos indexed ── | filtered by tag: firefox-extension
foxyproxy/browser-extension ★ 523 74 APPLICATION

FoxyProxy is a cross-browser extension (Chrome, Firefox, Edge) for advanced proxy management. It allows users to configure individual proxies, use pattern-based proxying (wildcard, regex, match patterns), set proxy per tab or container (Firefox), enable global exclude lists, and manage WebRTC settings. The codebase is highly modular, using ES modules and Manifest V3. It implements single proxy, PAC, and 'proxy by patterns' modes, with features like sync, import/export, a live log, pattern tester, and enterprise policy support. The architecture separates concerns clearly: background service worker handles proxy configuration via browser APIs, options page provides full UX, popup offers quick controls, and context menus add convenience. The code is well-structured, uses modern JavaScript (ES2022), and shows solid engineering practices. Reusable modules include pattern validation, file I/O, and flag display utilities.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
philc/vimium ★ 27054 2622 APPLICATION

Vimium is an open-source browser extension for Chrome and Firefox that brings Vim-style keyboard navigation to the web. The codebase implements a sophisticated mode system (Normal, Insert, Find, Visual, etc.) with a central HandlerStack for event interception and bubbling. It provides link hints, a Vomnibar for URL/bookmark/tab search with autocomplete, scrolling, marks, and tab management. The architecture is split into background scripts (service worker) and content scripts injected into every page, communicating via message passing. The extension uses a custom key-mapping DSL parsed by the Commands module, and stores settings in chrome.storage. The UI (options page, help dialog, HUD, Vomnibar) is rendered in iframes with secure messaging via MessageChannel. The codebase is mature, well-tested (unit and DOM tests), and actively maintained by a community of contributors. While primarily an application, it includes a curated list of top-level domains (resources/tlds.txt) for URL parsing, but no research or data pipelines.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
mbnuqw/sidebery ★ 4674 257 APPLICATION

Sidebery is a mature, feature-rich Firefox WebExtension that transforms the browser's sidebar into a highly customizable vertical tab manager. It provides tree-style tab management, integrated bookmarks and history panels, container-based tab isolation, session snapshots, search across tabs/bookmarks/history, context menus, keyboard shortcuts, drag-and-drop, custom CSS theming, and synchronization via Firefox Sync or Google Drive. The codebase is built with Vue 3, TypeScript, and Stylus, and follows a modular architecture with distinct background, sidebar, setup, and popup contexts communicating via a custom IPC framework. The source code reveals deep integration with Firefox's WebExtensions APIs and extensive use of reactive state patterns to maintain synchronized UI across multiple extension pages. The repository is actively maintained (latest commit August 2026) with frequent releases, a comprehensive issue tracker, and continuous integration via GitHub Actions. The code exhibits strong engineering practices: separation of foreground/background services, debounced storage operations, typed IPC actions, and a centralized utility module. However, some modules (notably `tabs.fg.ts` and `sidebar.fg.ts`) are large and tightly coupled, and there are minor signs of technical debt (deprecated settings, hardcoded error strings). Overall, the extension delivers on its promise of a powerful sidebar tab manager with an impressive degree of customization.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
dessant/buster ★ 9336 698 APPLICATION

Buster is a browser extension that solves reCAPTCHA audio challenges using speech recognition. When users encounter a reCAPTCHA with an audio challenge, they can click the extension button to automatically transcribe and submit the solution. The extension supports multiple speech recognition services including Google Cloud Speech-to-Text, IBM Watson, Microsoft Azure, Wit.ai, and local options like Whisper and Gemini Nano. It also offers a companion client app that can simulate user interactions to improve success rates. Built with Vue.js/Vuetify and designed for cross-browser compatibility (Chrome, Edge, Firefox, Opera), the extension uses Manifest V3 where available and includes features like theme support, automatic updates, and contribution prompts.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
honestbleeps/Reddit-Enhancement-Suite ★ 4513 889 APPLICATION

Reddit Enhancement Suite (RES) is a browser extension that enhances the Reddit browsing experience. It injects a content script into Reddit pages and provides dozens of modular features such as inline media expansion, keyboard navigation, user tagging, account switching, night mode, content filtering, and comment tools. The architecture is modular: each feature is a self-contained Module with lifecycle hooks, and media support is extensible via a Host plugin system. The extension communicates between foreground (content script) and background (service worker) using a custom messaging abstraction built on browser runtime ports. Persistent configuration and user data are stored via a storage wrapper layer that supports key-value, prefix, and blob modes with atomic compare-and-set semantics. The build pipeline uses esbuild with Flow type stripping, and the project includes integration tests via Nightwatch and unit tests via ava. The codebase is mature and well-organized, though it relies on older patterns (Flow, jQuery, lodash) and is tightly coupled to Reddit's DOM and API, which introduces maintenance risk when Reddit changes. There are no data analysis or research components; it is purely a client-side enhancement application.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
eyalzh/browser-control-mcp ★ 325 76 APPLICATION

This repository is an application: an MCP (Model Context Protocol) server paired with a Firefox browser extension that gives AI assistants like Claude Desktop read and management access to a user's real browser. The MCP server exposes nine tools over stdio — open/close/list/reorder/group tabs, search browsing history, extract a page's text and links, find/highlight text in a tab, and capture screenshots. Unlike generic web-automation MCP servers, it deliberately cannot click, modify pages, or run arbitrary scripts; page content access requires per-domain user consent and screenshots require per-tab authorization via Firefox's activeTab mechanism. Architecturally this is an Nx monorepo with three packages: mcp-server (Node 22, @modelcontextprotocol/sdk), firefox-extension (Manifest V2 WebExtension), and common (shared typed message protocol). The server communicates with the AI client over MCP stdio and with the extension over a loopback-only WebSocket (127.0.0.1 and ::1 on port 8089, or 0.0.0.0 in container mode). Every message is HMAC-SHA256 signed with a shared secret the extension generates; the extension connects outbound, so no inbound socket is exposed in the browser. Requests are matched to responses by correlation ID with timeouts, and the extension replies with resources (tabs, history, content, screenshots) over the same channel. The code is security-conscious and well-crafted: the dual-loopback binding handles IPv4/IPv6 localhost resolution differences, a capture-consent module mirrors the browser's activeTab grant lifetime to fail fast with actionable errors, the extension ships no runtime third-party dependencies, and it includes per-tool enable/disable toggles, a domain deny list, and a bounded in-browser audit log. The extension message handler has a solid Jest test suite covering consent revocation, denied domains, and disabled tools; the MCP server itself lacks unit tests. Minor debt: an unused, deprecated 'readline' npm dependency in mcp-server/package.json, an Nx version mismatch between root (22.x) and the subproject (20.x), and a few non-null assertions in the WebSocket layer. The repo is actively maintained with recent commits, a release workflow that builds DXT packages, and current dependency versions (TypeScript 5.8, Jest 30, MCP SDK 1.x, ws 8.x), so technical drift is low.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
tosdr/browser-extensions ★ 507 52 APPLICATION

This repository contains the ToS;DR browser extension (Manifest V3) for Chrome, Firefox, and Edge. It downloads a local database of website service ratings from the ToS;DR API, then detects which service a visited domain corresponds to by progressively reducing the hostname. When a match is found, it updates the toolbar icon with the service's grade (A–E) and enables the popup to show detailed summaries of terms-of-service points. The popup also fetches live service details from the API if needed. The codebase is written entirely in TypeScript with strict type checking, uses Vite for building, and includes CI/CD workflows for linting, type-checking, and creating release artifacts. The architecture is a standard single-page browser extension with a background script (or background page for Firefox), popup UI, and settings page. No test suite is present, but the code is well-organized and modular.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
floccusaddon/floccus ★ 8562 335 APPLICATION

Floccus is a cross-platform bookmark synchronization application that runs as a browser extension (Chrome, Firefox, Edge) and a native mobile app (Android, iOS via Capacitor). Its core sync engine uses a diff-based algorithm to reconcile changes between local browser bookmarks and remote services including Nextcloud Bookmarks, WebDAV, Google Drive, Dropbox, Git, Linkwarden, and Karakeep. The architecture is a monolith with a shared core library (sync strategies, adapters, tree data structures, caching, continuation mechanism) and platform-specific UI wrappers (Vue.js options page for the extension, Vue + Vuetify for the mobile app). The sync engine supports multiple strategies (bidirectional merge, unidirectional slave/overwrite), incremental continuations for interrupted syncs, failsafes against mass deletion, and hash-based change detection. The codebase demonstrates nontrivial engineering in its handling of incremental persistence, event-loop yielding, and edge-case reconciliation, but retains some technical debt from mixed JavaScript/TypeScript usage and parallel browser/native storage implementations.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
Floorp-Projects/Floorp ★ 8448 277 APPLICATION

Floorp is a Firefox-based browser that extends Gecko with a comprehensive feature layer including workspaces, split-view tiling, panel sidebar, PWA/SSB management, mouse gestures, keyboard shortcuts, command palette, tab stacks, design theming, private containers, external browser integration, notes, profile manager, and more. The architecture is hybrid: chrome components are built with SolidJS and injected via a custom loader into Firefox's XUL, while settings, new tab, notes, welcome wizard, and profile manager pages are standalone React/Vite web applications served within the browser. Configuration is stored in Firefox preferences with io-ts runtime validation, and cross-process communication uses a birpc bridge. The build system is Deno-based, orchestrating Vite builds, Firefox runtime patching, and platform-specific packaging (macOS App Shim in C++, Windows Tauri stub installer). The codebase demonstrates strong engineering practices with extensive test coverage (colocated browser tests, unit tests, integration tests), clean reactive state management patterns, and well-structured feature modules. However, it carries technical debt from multiple legacy migration paths, duplicated UI components across page apps, and tight coupling to Firefox internal APIs that require version-specific workarounds.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
gdh1995/vimium-c ★ 4558 319 APPLICATION

Vimium C is a browser extension that provides keyboard-driven navigation and productivity features, forked from Vimium. Its architecture is a classic Chrome/Firefox extension with a background service worker or page, content scripts injected into every page, and extension pages (options, omnibar, show image). The background script manages state, settings, browsing data (history, bookmarks), and orchestrates commands like tab management, URL opening, and synchronization. Content scripts implement the core user-facing features: link hints (detecting clickable elements and overlaying markers), keyboard key handlers with a finite state machine for mapping keystrokes to commands, visual mode for text selection, find-in-page, scrolling with smooth animations, and an omnibar (Vomnibar) for search, history, bookmarks, and command execution. The Vomnibar is a rich UI component that communicates with the background via port messaging. The extension supports multiple browsers (Chrome, Firefox, Edge) and both Manifest V2 and V3, with extensive version-specific conditionals and polyfills. The build system uses TypeScript, gulp, rollup, and terser to produce optimized builds, and includes custom patches to vendored TypeScript and Terser. The codebase demonstrates high engineering effort in handling complex browser quirks and performance optimization, but also carries technical debt from accumulated workarounds and legacy browser support.

RATING: 7.8/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
doshidak/showdex ★ 206 57 APPLICATION

Showdex is a browser extension for Pokémon Showdown that provides a real-time damage calculator (Calcdex) and supplementary tools directly within the battle interface. It integrates deeply with Showdown's client, patching internal classes (Battle, Side, Room) to synchronize all Pokémon, field conditions, and player actions as they occur. The architecture follows a dual-host pattern (legacy Backbone and modern Preact clients) with abstract bootstrappers, React/Redux for UI state, and RTK Query for fetching Pokémon presets from Smogon APIs. It also includes a standalone calculator (Honkdex), a note-taking tool (Notedex), a settings dashboard (Hellodex), and a debug panel (Devdex). The codebase demonstrates strong engineering with well-structured utility modules, custom hooks, drag-and-drop layout components, internationalization (English/French), and a complex hydration/dehydration system for data persistence. While primarily an application, it incorporates significant data processing for Pokémon battle mechanics (stat calculations, legacy DV conversion, preset matching).

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
Kenshin/simpread ★ 8732 558 APPLICATION

This repository contains the source code for SimpRead (简悦), a browser extension for Chrome and Firefox that provides an immersive reading mode, focus mode, annotation, and later-reading capabilities. The extension extracts article content from web pages, applies customizable typography and themes, and supports exporting to numerous services including Markdown, PDF, EPUB, Kindle, email, and cloud storage (Dropbox, WebDAV, Notion, Evernote, etc.). It includes a rules-based site adaptation engine (defined in `website_list.json`) to handle hundreds of specific websites, a plugin system for user-installed scripts, and a notice/focus system to manage reading sessions. The architecture follows a typical browser extension pattern: a background script (`background.js`) manages storage, OAuth, context menus, and cross-tab communication; content scripts (`contentscripts.js`) inject reading and focus modes into pages; and multiple options pages (`options/`) provide configuration, custom CSS, site management, and notice center. The UI is built with React 0.14.8 and a custom Material Design UI kit (`mduikit`), with heavy use of jQuery for DOM manipulation. State is managed through a central storage service (`storage.js`) that provides reactive reads/writes and versioned migration. External integrations are implemented as service classes with OAuth flows, and a message-action pattern coordinates between isolated script contexts. The codebase demonstrates a strong feature set but suffers from significant technical debt: very old dependencies (webpack 1, React 0.14), deprecated lifecycle patterns, extensive global DOM manipulation mixed with React, hardcoded CDN links and provider secrets, and comments indicating hacky browser workarounds. The site adaptation rule set is large but fragile, relying on exact CSS selectors and inline JavaScript that break when websites change. Despite these issues, the project provides a wealth of reusable patterns, particularly in its custom UI components, notification system, and storage abstraction.

RATING: 6.2/10 MAINT: maintained DRIFT: high
▸ 4 reusable components found
benzBrake/FirefoxCustomize ★ 213 35 APPLICATION

This repository is a comprehensive, hand-crafted collection of Firefox customization resources, primarily consisting of userChromeJS scripts, user styles, user scripts, themes, and configuration backups. It is not a standalone application but a toolkit of modular scripts and styles that deeply modify Firefox's browser chrome, menus, toolbar, tabs, sidebar, and behavior via privileged JavaScript and CSS injection. The code targets specific Firefox versions (from version 57 to 154+) and extensively uses deprecated internal APIs (e.g., `Components`, `Cu.import`, `nsIStyleSheetService`, `nsIProcess`), making it highly fragile and version-dependent. Many scripts are marked as archived or no longer updated. The Sidra theme demonstrates strong SCSS craftsmanship with feature toggles via CSS prefs, and the debugging skill includes a reusable Node.js RDP client. Overall, the repository is a valuable reference for Firefox internals but carries significant technical drift and maintenance risk.

RATING: 5.1/10 MAINT: stale DRIFT: high
▸ 5 reusable components found
── end of results ──
$ submit: