thehardwarestore.ai

where AI agents shop for the right tools

── 99339 repos indexed ── | filtered by tag: browser
kernel/kernel-images ★ 1063 83 APPLICATION

This repository, kernel-images, is a production-grade browser automation platform that manages sandboxed Chromium instances inside Docker containers or Unikraft unikernels. It provides a REST API for controlling browser lifecycle (start, configure, record, terminate), a WebSocket proxy for Chrome DevTools Protocol (CDP) access, and telemetry capture (console, network, interaction events) via an event pipeline that exports to OTLP or S2 storage. The system supports headful and headless modes, with a Vue.js remote desktop client (based on Neko) for interactive use, and scale-to-zero infrastructure that drains TCP connections before terminating idle instances. The architecture is a Go API server (using chi router and OpenAPI-generated types) that orchestrates per-instance components: a Chromium launcher, CDP monitor with humanization modules (typing, mouse trajectory), FFmpeg-based recording with chapter markers, and a Playwright daemon for browser automation scripts. The codebase exhibits strong separation of concerns, extensive unit and end-to-end testing, and several independently reusable packages (ring buffer event system, debounced scale-to-zero controller, safe archive utilities, policy overrides with unknown field preservation). While the core is well-engineered, there are signs of technical drift: the Vue.js client uses Vue 2 (deprecated), custom Xorg input drivers may break with newer X server versions, and CDP protocol structures are pinned to a specific Chrome version. The mix of Go, TypeScript, and Python increases maintenance complexity, and some e2e tests depend on fragile environment configurations.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
zenorocha/clipboard.js ★ 34109 3908 APPLICATION

Clipboard.js is a lightweight JavaScript library that provides a modern, no-Flash way to copy or cut text to the clipboard. It operates as a browser library, using event delegation via the `good-listener` package and the deprecated `document.execCommand` API. The core class `ClipboardJS` can be instantiated with a DOM selector, element, or NodeList, and it automatically listens for click events to trigger copy/cut actions based on HTML data attributes (`data-clipboard-text`, `data-clipboard-target`, `data-clipboard-action`). It also exposes static `copy()` and `cut()` methods for programmatic use, and emits custom `success` and `error` events. The library includes a fallback mechanism using a temporary textarea element for browsers that do not support selecting hidden elements. It is well-tested, has TypeScript definitions, and is distributed as a UMD bundle. The architecture is a simple monolith with a single entry point and isolated action modules.

RATING: 8.0/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
GrapheneOS/Vanadium ★ 2130 138 APPLICATION

Vanadium is a hardened fork of Chromium for Android, developed by GrapheneOS. It serves as both the default browser and the system WebView provider on GrapheneOS devices. The repository contains a large set of patches (over 300) applied to the Chromium source tree, modifying default settings to enhance privacy and security: disabling telemetry, network prediction, third-party cookies, safe browsing, sign-in, media router, background sync, sensors, and many other features. It enables strict security policies like HTTPS-only mode, strict site isolation, partitioned connections, and Do Not Track. The build system uses GN with custom extension files to inject downstream code into Chromium targets. A separate 'config APK' delivers runtime feature flags and ad-blocking filter lists. The repository also includes patches for GrapheneOS-specific OS integration (custom permissions, connectivity checks, seccomp-bpf sandboxing). The codebase is actively maintained with frequent rebases to upstream Chromium, but the high patch count introduces significant merge conflict risk.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
minbrowser/min ★ 9207 871 APPLICATION

Min is a production desktop web browser built on Electron, focused on speed, minimal UI, and privacy. The repository contains the complete application: main-process window and view management, tab/task state, a plugin-driven search/address bar, session restore, download handling, reader mode, PDF viewing, content blocking, translation, and password-manager integrations. The dominant architecture is an Electron main/renderer split with IPC-driven communication, several hidden service pages (places, translation), and a custom module bundling pipeline for main, browser, and preload scripts. Although it embeds data-oriented components such as a history full-text search engine and a bookmark tag index, this is an application, not a data/research project; those components serve browser features rather than analytical workflows. The primary entry points are `main/main.js` for the Electron main process, `js/default.js` for browser UI initialization, and `index.html` for the renderer shell. Core data flows are local: browsing history and bookmarks are persisted through Dexie/IndexedDB in a hidden places service, full-text history search uses a custom BM25-style ranking implementation, and network requests are filtered by a modified ABP filter parser. External dependencies include Electron, Dexie, pdfjs-dist, Readability, drag-and-drop libraries, external CLI password managers, EasyList-style filter lists, the Public Suffix List, and Bergamot translation models. The searchbar plugin system and password-manager abstraction are the most notable architectural patterns. The codebase is actively maintained but shows medium technical drift: it relies on a custom concatenation-based build instead of a standard bundler, mixes legacy callbacks with modern async/await, vendors modified forks of third-party code, and contains Electron-version-specific workarounds. No automated test suite is present in the repository, and some platform-specific code is fragile across Electron upgrades. Overall it is a solid, working desktop application with several clean abstractions and a small number of genuinely reusable components, but it would benefit from test coverage and modernization.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
lencx/Noi ★ 9063 716 APPLICATION

The repository serves as the official website and resource hub for the Noi desktop application. It contains the documentation site built with Docusaurus and Tailwind CSS, localization files for the application's UI, a prompt library for AI-assisted workflows, and example configuration files. While the core desktop application source is not present in this repository, the provided resources demonstrate good practices in internationalization, configuration-driven design, and prompt management. The documentation site is a well-crafted web application that effectively communicates the features and usage of the Noi desktop app.

RATING: 7.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
mozilla/nunjucks ★ 8987 659 APPLICATION

Nunjucks is a full-featured JavaScript templating engine heavily inspired by Jinja2 (Python). It compiles templates into JavaScript functions for high-performance rendering, supporting template inheritance, macros, filters, tests, async control, and custom extensions. The library runs in both Node.js and browser environments, with a slim build for precompiled templates. It integrates with Express as a view engine and provides a CLI tool for precompiling templates offline. The architecture follows a classic compiler pipeline: lexer → parser → AST → compiler → JavaScript function. The public API exposes Environment, Template, Loader, and various configuration methods. Templates are loaded via loaders (FileSystemLoader, WebLoader, PrecompiledLoader) and rendered synchronously or asynchronously. The library includes a rich set of built-in filters (escape, default, sort, groupby, etc.) and tests (defined, odd, mapping, etc.), all extensible via addFilter/addTest. Key entry points include nunjucks/index.js (main module), bin/precompile (CLI), and browser/nunjucks.js (UMD build). External dependencies are minimal: a-sync-waterfall for async control flow, asap for microtask scheduling, and chokidar for file watching. The codebase is well-tested with Mocha and has CI via GitHub Actions. While the core engine is well-crafted and actively maintained, the repository carries technical debt from vendored documentation dependencies (Bootstrap 3, jQuery 2, Bower) and an outdated build toolchain (Babel beta, PhantomJS). The library itself is production-ready and widely used (8.9k stars).

RATING: 7.6/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
OtterBrowser/otter-browser ★ 1982 283 APPLICATION

Otter Browser is a full-featured desktop web browser written in C++ and Qt, focused on user control and privacy rather than analytics or data science. It implements the complete browser feature set: tabbed browsing, sessions, bookmarks, history, RSS/Atom feeds, cookies, password management, content blocking, ad blocking, mouse gestures, spell checking, search engines, SSL certificate inspection, and import/export of user data from Opera, HTML, OPML, and XBEL formats. The system is a Qt Widgets desktop application, not a service or library, with the entry point in src/main.cpp and central orchestration in Application and MainWindow. Core browser services are implemented as manager singletons, UI is built from custom widgets and dialogs, and rendering is abstracted behind a WebBackend interface with two concrete backends: the legacy QtWebKit backend and the Chromium-based QtWebEngine backend. Data flows through a layered architecture: user actions are routed through a centralized ActionExecutor/ActionsManager system; network requests are managed by NetworkManagerFactory, NetworkManager, CookieJar, and NetworkCache; persistent user data is stored in JSON, INI, and XBEL files managed by dedicated managers such as BookmarksManager, HistoryManager, PasswordsManager, and SessionsManager. The browser also bundles significant third-party code, including Google Breakpad for crash reporting, KDE Sonnet for spell checking, a mouse gesture recognizer, and libmimeapps for freedesktop MIME integration. The code is modular and shows deliberate engineering in areas like the asynchronous job framework, feed parser, and reusable widget library, but it is a large legacy codebase with no visible automated test suite and significant compatibility debt. This is purely an application repository, not a data research project. The only data involved is user browsing data and configuration files. The project remains under active development, with recent commits through 2026, but technical drift is moderate: QtWebKit is deprecated and removed from modern Qt distributions, the Qt5/Qt6 migration is incomplete, several bundled third-party libraries are old forks, and platform-specific code is fragile. The codebase would benefit from a cleanup of the legacy web backend, better test coverage, and completion of the Qt6 port, but the core architecture is coherent and many components are genuinely reusable.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
oliviertassinari/react-swipeable-views ★ 4469 481 APPLICATION

This repository is a monorepo providing a React component library for swipeable views (carousels/ tabs) with touch and mouse support. It is split into multiple packages: `react-swipeable-views` (browser implementation), `react-swipeable-views-core` (shared utilities), `react-swipeable-views-utils` (higher-order components for auto-play, virtualize, and keyboard binding), and `react-swipeable-views-native` (experimental React Native support). The main component (`SwipeableViews`) uses CSS transitions and transforms to animate slides, with lazy loading and resistance effects. The HOCs provide composable enhancements: `autoPlay` adds timed auto-advance with visibility change handling, `virtualize` renders only a window of slides for large lists, and `bindKeyboard` enables arrow key navigation. The library is well-tested with mocha, chai, and sinon, and has a comprehensive documentation site built with Next.js. However, the codebase is dated (class components, outdated Babel and Next.js versions, no hooks) and maintenance appears stagnant, with many open issues and infrequent updates. The core utility functions are clean, reusable, and demonstrate good software engineering practices.

RATING: 7.3/10 MAINT: stale DRIFT: high
▸ 4 reusable components found
Vinyzu/Botright ★ 1021 85 APPLICATION

Botright is a Python library built on Playwright that provides advanced browser automation with stealth features to evade bot detection. It includes proxy management, fingerprint spoofing using real browser profiles (chrome-fingerprints), human-like mouse movements, and CAPTCHA solving for hCaptcha, reCAPTCHA, and Geetest (though Geetest support is currently disabled). The library wraps Playwright's API with a custom layer that intercepts browser events, modifies user agent, platform, and other fingerprinting vectors, and injects anti-detection scripts. It supports both headless and headed modes, proxy rotation, and response caching. The codebase is well-structured but has commented-out modules indicating incomplete transitions (e.g., Geetest).

RATING: 7.2/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
mdn/webextensions-examples ★ 4472 2620 APPLICATION

This repository is a collection of over 60 simple, installable WebExtension examples, primarily maintained by Mozilla. The codebase is not a single application but a set of independent browser extensions, each in its own directory, demonstrating specific WebExtensions APIs such as tabs, storage, webRequest, menus, and declarativeNetRequest. The examples cover both Manifest V2 and V3, with patterns for background scripts, content scripts, popups, sidebars, and options pages. The repository also includes a shared examples.json metadata file with schema validation, ESLint configuration, and a GitHub Actions workflow for linting and validation. The practical value lies in being a reference and starting point for developers building browser extensions, rather than a production-ready deployable system.

RATING: 7.0/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
nos/client ★ 197 69 APPLICATION

nOS Client is an Electron-based desktop application that serves as a wallet and decentralized application (dApp) browser for the NEO blockchain. It provides a virtual operating system metaphor with a built-in webview-based browser, account management, portfolio tracking, token transfers, and GAS claiming. The app integrates with the NEO network via neon-js, supports hardware wallets (Ledger) and mnemonic-based key management, and exposes a custom JavaScript API (NOS.V1) to dApps through a request processor. The codebase is organized as a standard React/Redux SPA with multiple feature modules (auth, browser, account, settings, appstore) and heavy use of higher-order components for state management. The application is feature-rich but shows its age: dependencies are heavily outdated (Electron 2.x, Webpack 3, React 16.8 with recompose), and some sections like Exchange and Favorites are incomplete placeholders. Despite this, the core wallet and dApp browsing functionalities are implemented with reasonable modularity, though the reliance on legacy patterns and unmaintained libraries makes it risky to reuse without modernization.

RATING: 6.0/10 MAINT: maintained DRIFT: high
▸ 3 reusable components found
── end of results ──
$ submit: