thehardwarestore.ai

where AI agents shop for the right tools

── 98892 repos indexed ── | filtered by tag: browser
algorand/js-algorand-sdk ★ 297 213 APPLICATION

This is the official JavaScript/TypeScript SDK for the Algorand blockchain, version 3.7.0. It provides a comprehensive set of tools for constructing, signing, encoding, and submitting transactions to Algorand nodes, as well as querying blockchain state via the Algod v2, Indexer, and KMD APIs. The SDK supports all transaction types (payment, asset management, application calls, key registration, state proofs, heartbeats), atomic transaction groups, ABI encoding/decoding for smart contract interactions, logic signatures (escrow, delegation, multisig), and post-quantum Falcon-1024 signatures. It is designed for both Node.js and browser environments, with CommonJS, ESM, and webpack bundle outputs. The architecture is modular: a core encoding layer (schema-based msgpack/JSON serialization) underpins all data types; a client layer abstracts HTTP communication with token-based authentication; a transaction builder pattern provides ergonomic construction; and a signer abstraction decouples signing logic from transaction assembly. Key entry points include the `Algodv2`, `Indexer`, and `Kmd` client classes, the `Transaction` class, `AtomicTransactionComposer` for atomic groups, and the `LogicSig`/`LogicSigAccount` classes. Data flows involve constructing transactions, signing them (via raw keys, multisig, or external signers), encoding to msgpack, and submitting to the network. The SDK also handles decoding of responses, including complex structures like block headers, state deltas, and simulation results. External dependencies include the `algorand-msgpack` package for msgpack encoding, `@algorandfoundation/falcon-wasm` for post-quantum signatures, and `hi-base32` for address encoding. The SDK is extensively tested with unit tests (Mocha), integration tests (Cucumber with mock servers), and browser tests (Selenium). It is actively maintained with regular releases, automated code generation from Algorand API specifications, and CI/CD pipelines for linting, testing, and publishing.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
ChromeDevTools/chrome-devtools-mcp ★ 52937 5580 APPLICATION

This repository implements an MCP (Model Context Protocol) server that exposes Chrome DevTools capabilities as tools for AI coding assistants. In production, it launches a headless or headed Chrome browser via Puppeteer, connects to the DevTools frontend SDK, and provides over 50 tools covering navigation, input automation, network inspection, performance tracing, heap snapshot analysis, CSS inspection, accessibility auditing (via Lighthouse), PWA management, and extension debugging. The architecture is a Node.js server that runs either as a long-lived daemon (Unix socket IPC) or as a CLI tool, with a configuration pipeline supporting CLI flags, config files, and environment variables. Key entry points are `src/bin/chrome-devtools-mcp.ts` (MCP server) and `src/bin/chrome-devtools.ts` (standalone CLI). Data flows involve collecting console messages, network requests, and DevTools issues per page via `PageCollector`, processing performance traces via `ChunkedTraceParser` and `PerformanceTrace`, and formatting results through specialized formatters (`ConsoleFormatter`, `CssFormatter`, `HeapSnapshotFormatter`, etc.) that support both text and structured JSON output. External dependencies include Puppeteer for browser control, the DevTools frontend SDK for advanced features (heap snapshots, stack traces), Lighthouse for audits, and a telemetry system (Clearcut) for usage statistics.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
validatorjs/validator.js ★ 23736 2520 APPLICATION

This repository is a comprehensive string validation and sanitization library for Node.js and browser environments. It provides a large collection of validator functions (e.g., isEmail, isURL, isMobilePhone, isCreditCard) and sanitizers (e.g., trim, escape, whitelist). The library is designed as a set of small, self-contained modules under src/lib/, each exporting a single function. The main entry point is src/index.js, which aggregates all validators and sanitizers into a single export. The library has no runtime dependencies and can be used both server-side and client-side (via a UMD bundle). It includes extensive locale-specific data for phone numbers, postal codes, tax IDs, etc., making it suitable for international validation. The architecture follows a consistent pattern: each validator imports assertString for type checking and optionally merge for options handling, then performs validation using regex or algorithmic checks. The library is actively maintained with frequent releases and a formal security threat model.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
plateaukao/einkbro ★ 2009 134 APPLICATION

EinkBro is a full-featured Android WebView-based browser specifically optimized for e-ink displays. It provides a rich reading experience with features like ad blocking (via a native C++ engine forked from Brave), paragraph-level translation (Google/DeepL/OpenAI/Gemini), text-to-speech (Edge TTS, system TTS, Web Speech polyfill), reader mode, EPUB reading, user script support, and AI agent capabilities (chat-with-web, multi-step browsing tasks). The architecture is a monolith Android app with three Gradle modules (app, ad-filter, adblock-client) using Kotlin, Jetpack Compose, Koin DI, Room database, and OkHttp. Key entry points include BrowserActivity (main browser), EBWebView (custom WebView wrapper), and various delegate classes for tab management, translation, AI chat, and gesture handling. The codebase demonstrates strong engineering practices with extensive unit tests, a well-structured delegate pattern, and several reusable components such as type-safe SharedPreferences delegates, a standalone PDF parser, and a jsdom-based test harness for WebView-injected JavaScript.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
lifo-sh/lifo ★ 539 35 APPLICATION

Lifo is a browser-based virtual machine and sandbox environment that emulates a Linux-like OS entirely in JavaScript. It provides a virtual filesystem (VFS), network stack, process management, shell, and an extensive Node.js compatibility layer that allows running real npm packages, dev servers (Vite, Expo, Express), and CLI tools inside the sandbox. The repository is a pnpm monorepo containing multiple packages: `@lifo-sh/core` (kernel, VFS, shell, node-compat), `@lifo-sh/ui` (React components for terminal, file explorer, preview), `lifo-sh` (CLI for daemon/session management), `apps/playground` (interactive web demo), `apps/desktop` (macOS-style web desktop), and many `lifo-pkg-*` command packages (git, ffmpeg, vi, etc.). The architecture is modular: the core kernel is framework-agnostic and can be embedded in Node.js or browser environments, while the UI and CLI are separate consumers. Key data flows involve user input through the shell, command execution against the VFS and network stack, and Node API calls intercepted by the compatibility layer. External dependencies include `acorn`, `browser-metro`, `ws`, and optional `esbuild`. The project is actively maintained with frequent releases, extensive tests, and a clear roadmap for expanding the sandbox capabilities.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
zen-browser/desktop ★ 44766 1803 APPLICATION

This repository is the source code for the Zen Browser, a Firefox-based desktop browser focused on productivity and customization. The codebase is a heavily modified Firefox fork that adds custom features such as workspaces (called Spaces), visual page boosts (duotone color filters), split-view tabs, glance previews, tab folders, compact mode, live folders, and a device sync system for workspace/folder/tab state. The architecture is a monolithic browser application built on top of the Gecko engine, with custom C++ XPCOM components for platform-specific functionality (e.g., native window dragging, mouse tracking for compact mode, color filter backend using Oklab color space) and JavaScript modules for the UI layer. The project includes an extensive test suite covering session restore, sync engines, shell integration, and pixel-level boost validation. It relies on upstream Firefox source code (patched via .patch files) and external services like Firefox Sync and Remote Settings. The codebase demonstrates strong engineering with well-organized custom modules, reusable test infrastructure, and a focus on state persistence and synchronization, though it carries the inherent complexity and coupling of a browser fork.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
servo/servo ★ 37732 3752 APPLICATION

Servo is a parallel web browser engine written in Rust, designed to leverage modern hardware capabilities for rendering and script execution. The codebase is structured as a large Rust workspace with distinct components for scripting, layout, networking, styling, and media handling. The primary entry point is the 'servoshell' port, which acts as the browser host application. The repository includes extensive Web Platform Tests (WPT) to ensure standards compliance, alongside a custom Python-based build and test infrastructure ('mach'). While the core engine is tightly coupled, several tooling components and specific subsystems (like storage and bindings) exhibit reusable architectural patterns. The project demonstrates high engineering craftsmanship in memory safety and parallelism, utilizing Rust's ownership model to prevent data races in the rendering pipeline. However, the sheer scale of the test suite (Web Platform Tests) and the reliance on auto-generated test files introduce significant maintenance complexity. The codebase maintains its own forks of core libraries (e.g., 'stylo', 'servo_arc'), which creates a medium risk of technical drift if upstream changes are not synchronized. The build system and test infrastructure are robust but complex, requiring specific tooling to reproduce builds across platforms.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
lightpanda-io/browser ★ 35686 1695 APPLICATION

A production-grade headless browser built from scratch in Zig, powered by V8 for JavaScript execution. It implements a vast subset of Web Platform APIs (DOM, CSSOM, HTML/SVG elements, canvas, WebGL, IndexedDB, workers, fetch, WebSocket, etc.) and exposes them through Chrome DevTools Protocol (CDP), WebDriver BiDi, and MCP (Model Context Protocol) servers. Includes a built-in LLM agent mode for natural-language-driven automation, a scripting system (PandaScript) for deterministic replay, and a full network stack with ad blocking, rate limiting, caching, and TLS. Designed for AI agents and automation workloads, it claims significant performance advantages over Chromium in startup time and resource usage. Architecturally, the browser is a monolithic server binary with distinct internal modules: a browser core managing pages, frames, and V8 isolates; a network layer using libcurl with connection pooling and request deduplication; protocol servers (CDP, BiDi, MCP) communicating over WebSocket or HTTP; and an agent subsystem that wraps LLM APIs for task planning and execution. The codebase is heavily tested with hundreds of hand-written HTML conformance tests and runs Web Platform Tests via CI. The engineering demonstrates high craftsmanship: custom arena allocators with V8 memory accounting, compile-time prototype hierarchy reflection for Web IDL bindings, a GCRA rate limiter, a singleflight pattern for request deduplication, and a generic live-collection iterator. While some APIs are stubbed or partially implemented (e.g., WebGL always returns null, video dimensions are hardcoded), the core functionality is extensive and spec-compliant where implemented. The project is actively maintained with nightly orderfile optimizations and regular CI.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
zellwk/zl-fetch ★ 296 32 APPLICATION

zlFetch is a lightweight JavaScript library that wraps the native Fetch API with quality-of-life improvements. It automatically parses response bodies based on `Content-Type` (JSON, text, form-urlencoded, NDJSON, Blob), provides promise-based error handling that rejects on 4xx/5xx status codes, supports request aborting, and includes shorthand methods for GET, POST, PUT, PATCH, DELETE. The library also offers streaming capabilities (SSE, NDJSON, chunked transfer), an EventSource wrapper for server-sent events, query string helpers, authorization header helpers, and a `createZlFetch` factory for pre-configured instances. The code is modular, well-typed with JSDoc, and thoroughly tested across browser and Node.js environments using vitest.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
DevExpress/testcafe ★ 9895 676 APPLICATION

TestCafe is a free, open-source end-to-end web testing framework that runs tests in real browsers without requiring WebDriver. It provides a comprehensive API for writing tests in JavaScript or TypeScript, including actions (click, type, drag), assertions, selectors, client functions, roles, request mocking/logging, and hooks. The framework operates via a proxy-based architecture (using the custom 'hammerhead' proxy) or native Chrome DevTools Protocol (CDP) automation, enabling cross-browser testing on Chrome, Firefox, Edge, Safari, and remote/cloud browsers. Key entry points include the CLI (`bin/testcafe.js`), the programmatic API (`src/testcafe.js`), and the test file compilers that support ES6+, TypeScript, CoffeeScript, and a raw JSON format. The system manages browser connections, test execution (including quarantine mode, live mode with hot reload, and concurrency), screenshot capture, video recording, and detailed reporting with plugin support. External dependencies include custom internal libraries (hammerhead, browser-tools, legacy-api), Babel for compilation, and ffmpeg for video recording. The codebase is large and well-structured, with clear separation between client-side automation, server-side orchestration, and shared utilities, though it exhibits some technical debt from dual automation paths and legacy API support.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
artilleryio/artillery ★ 9093 571 APPLICATION

Artillery is a cloud-scale load testing and functional testing framework for backend services and APIs. It supports multiple protocols (HTTP, WebSocket, Socket.IO, Playwright, PostHog) through a plugin-based engine architecture. The system is primarily a CLI tool (built on oclif) that executes YAML/JSON test scripts defining virtual user flows with configurable arrival phases, payloads, and assertions. It provides distributed execution across local worker threads, AWS Lambda, AWS ECS/Fargate, and Azure ACI, with a bill-of-materials (BOM) system that bundles test dependencies for cloud workers. Metrics are aggregated via a custom Simple Statistics Measurement System (SSMS) supporting counters, histograms (DDSketch), and rates, and can be published to Datadog, CloudWatch, Prometheus, OpenTelemetry, Splunk, New Relic, and other observability platforms. The codebase is a monorepo managed with Turborepo, containing the core runner, platform integrations, first-party plugins (expect, ensure, apdex, slack, fake-data, metrics-by-endpoint, publish-metrics, memory-inspector), and shared type definitions. Key entry points include the `artillery` binary (`packages/artillery/bin/run`), the core runner (`packages/artillery/lib/core/runner.ts`), and platform launchers (`packages/artillery/lib/launch-platform.ts`). External dependencies include AWS SDK, Azure SDK, Playwright, got (HTTP client), and various metric publishing SDKs. The architecture is event-driven, using EventEmitter for lifecycle events and plugin hooks, with a global `global.artillery` object for shared state.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
johnste/finicky ★ 5052 207 APPLICATION

Finicky is a macOS application that acts as a user-configurable default browser router. When the OS hands an http/https/finicky URL to Finicky, the Go core captures the originating app (name, bundle ID, path, window title), expands known short URLs via redirect following, and evaluates a user-provided JavaScript or TypeScript configuration inside an embedded goja runtime. The configuration supports wildcard, regex, and function matchers, URL rewrites, per-browser profiles, and custom launch arguments. The resolved target browser is then opened via the macOS `open` command with appropriate profile flags for Chromium and Firefox. The app also includes a WKWebView-based configuration and troubleshooting window built with Svelte, a JSON rules fallback mode for users who don't want to write JS, and a browser extension for alt-click or context-menu opening through Finicky.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
opal/opal ★ 4927 336 APPLICATION

Opal is a Ruby-to-JavaScript source-to-source compiler that translates Ruby code into JavaScript, enabling Ruby developers to run their code in browsers, Node.js, Deno, and other JavaScript environments. The system includes a full Ruby core library (corelib) and standard library (stdlib) implemented in JavaScript, along with a CLI tool for compilation, a builder with caching and parallel scheduling, and support for source maps. Key entry points include the `bin/opal` CLI, the `Opal::Compiler` class, and the `Opal::Builder` for dependency resolution. External dependencies include the `parser` gem for Ruby AST parsing, and platform-specific runners (Node.js, Chrome, Firefox, etc.) for execution. The architecture is modular: the compiler transforms Ruby AST into JavaScript fragments, which are then assembled by the builder. The runtime provides core Ruby semantics (classes, modules, method dispatch, etc.) on top of JavaScript primitives. The codebase is large and well-structured, with many reusable patterns, but also has significant known compatibility gaps with MRI Ruby, reflected in extensive bug filter files.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
chromiumembedded/cef ★ 4774 654 APPLICATION

The Chromium Embedded Framework (CEF) is a mature, production-grade open-source library for embedding a full Chromium browser into native applications. It provides a rich public C/C++ API (including a C API for non-C++ languages) that exposes browser control, off-screen rendering, views, networking, media routing, crash reporting, and more. The codebase is organized into a core library (`libcef/`), a wrapper/DLL layer (`libcef_dll/`), example applications (`tests/cefclient`, `tests/cefsimple`), and an extensive test suite (`tests/ceftests`). It supports two runtime styles: Alloy (custom UI) and Chrome (wraps Chrome's native UI), and runs on Windows, macOS, and Linux. Build system integration includes GN, CMake, and Bazel, with a suite of Python code generators for maintaining the C API and wrappers. While not a data-research project, it contains structured data pipelines for version management and an installer bootstrap with integrity verification. The framework is well-tested, actively maintained, and widely deployed in hundreds of millions of instances, though its tight coupling to Chromium internals and platform-specific code introduces moderate technical drift risk.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
SerenityOS/serenity ★ 33870 3544 APPLICATION

SerenityOS is a graphical Unix-like operating system built from scratch, comprising a custom kernel (x86_64, AArch64, RISC-V), a POSIX-compatible C library, a GUI toolkit (LibGUI), a web browser engine (LibWeb), a JavaScript engine (LibJS), and hundreds of userland applications and services. The codebase demonstrates high engineering effort with consistent patterns (ErrorOr, reference counting, IPC frameworks, object macros) and extensive test coverage across kernel, libraries, and web standards. However, it bears some technical drift: many POSIX functions are stubs, kernel features are incomplete on newer architectures, and the ports system for third-party software requires ongoing maintenance. The repository is actively developed with frequent commits and issue triage.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
H-M-H/Weylus ★ 9665 410 APPLICATION

Weylus is a cross-platform application that turns tablets and smartphones into graphic tablets/touch screens for computers. It operates by running a local web server that serves a web page to the tablet's browser. The web page captures pointer, touch, stylus, keyboard, and wheel events via JavaScript PointerEvents and sends them over a WebSocket connection to the server. The server then simulates these input events on the host machine using platform-specific mechanisms: on Linux it uses the uinput kernel module for full stylus/touch/mouse/keyboard support; on macOS and Windows it falls back to the autopilot library for mouse/keyboard simulation and Windows-specific synthetic pointer injection for touch/pen. Simultaneously, Weylus captures the screen (or a selected window/monitor) using platform-native APIs: X11 shared memory (XShm) on Linux X11, PipeWire/GStreamer on Wayland, CoreGraphics on macOS, and DirectX via captrs on Windows. The captured frames are encoded into a fragmented MP4 H.264 video stream using a statically linked ffmpeg (libx264) with optional hardware acceleration (VAAPI, NVENC, VideoToolbox, MediaFoundation). The video stream is sent to the browser via the same WebSocket connection and played using the Media Source Extensions API. The application provides a GUI (built with FLTK) for configuration and a headless mode for automation. It supports access codes, custom input areas, and multiple simultaneous clients.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
LinkSheet/LinkSheet ★ 2095 53 APPLICATION

LinkSheet is an Android application that intercepts URL intents and presents a Material3 bottom sheet allowing users to choose which app or browser handles the link. In production, it replaces the removed Android 12+ chooser, supporting preferred app per domain, usage-based sorting, browser modes (always ask, none, whitelisted, single browser), and advanced URL processing including AMP to HTML conversion, redirect following, ClearURLs (tracker removal), FastForward (redirect bypass), LibRedirect (privacy-friendly frontends), and a custom rule engine (scenarios) for fine-grained link routing. The architecture is multi-modular: core app module, feature modules (analytics, backup, browser, device compat, downloader, engine, libredirect, profile, remote config, shizuku, wiki), integration libraries (amp2html, clearurl, embed-resolve, fastforward, mime-types), and shared libraries (api, compose, bottom-sheet, scaffold, http). Key entry points are `BottomSheetActivity`, `MainActivity`, and `LinkEngineService`. The system uses Koin dependency injection, Jetpack Compose for UI, Room for local caching, Ktor/OkHttp for networking, and Shizuku for privileged operations. It is actively maintained with nightly builds, extensive unit/instrumentation tests, and a large localization effort across 20+ languages.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 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
capricorn86/happy-dom ★ 4631 317 APPLICATION

Happy DOM is a JavaScript implementation of a web browser without a graphical user interface, designed to run in Node.js. It provides a comprehensive simulation of browser APIs including the DOM, HTML/SVG elements, CSSOM, Fetch, WebSocket, Canvas, Custom Elements, Shadow DOM, and more. The library is primarily used as a test environment for JavaScript frameworks (React, Vue, Angular, Lit, etc.) and supports server-side rendering via an optional server-renderer package. The codebase is a monorepo containing the core happy-dom package along with companion packages for global registration, Jest environment, server rendering, and a pluggable canvas adapter. It is actively maintained with thousands of tests and a large community. However, it exhibits moderate technical drift: some APIs are incomplete, there is significant boilerplate duplication across SVG/HTML element implementations, and a few deprecated settings linger. Overall, it is a solid, well-structured library but not exceptional in craftsmanship due to the repetitive patterns and some incomplete implementations.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
cyrus-and/chrome-remote-interface ★ 4552 323 APPLICATION

chrome-remote-interface is a well-crafted Node.js library that provides a clean, dynamic API for interacting with the Chrome DevTools Protocol (CDP). It connects to a remote debugging endpoint (e.g., Chrome with --remote-debugging-port), fetches the full protocol descriptor dynamically, and generates typed JavaScript methods and events for every domain, command, and notification. The library supports callback and Promise patterns, includes a comprehensive CLI with an interactive REPL, and works across multiple implementations (Chrome, Node.js, Edge, Firefox, etc.). It does not bundle a browser; instead, it focuses on low-level protocol access, making it a foundational tool for browser automation, debugging, and custom DevTools clients.

RATING: 8.1/10 MAINT: maintained DRIFT: medium
▸ 1 reusable components found
$ loading more...
$ submit: