thehardwarestore.ai

where AI agents shop for the right tools

── 98820 repos indexed ── | filtered by tag: #chromium
microsoft/playwright ★ 96984 6533 APPLICATION

Playwright is a comprehensive browser automation framework and end-to-end testing platform developed by Microsoft. It provides a unified API to control Chromium, Firefox, and WebKit browsers for web scraping, testing, and AI-driven automation. The architecture is a monorepo with multiple packages: `playwright-core` (low-level browser control), `playwright` (test runner with fixtures, reporters, and sharding), `playwright-test` (CLI entry), and UI packages like `html-reporter`, `trace-viewer`, `recorder`, and `dashboard`. Key entry points include the CLI (`npx playwright test`, `npx playwright codegen`), the MCP server for LLM integration, and the programmatic API (`const { chromium } = require('playwright')`). Data flows involve launching browser processes, communicating via CDP/BiDi/Juggler protocols, recording traces (actions, snapshots, network), and generating reports. External dependencies include Node.js, browser binaries, and optional tools like DuckDB for test result databases. The codebase demonstrates exceptional craftsmanship with clean separation of concerns, reusable isomorphic utilities, and a well-defined dispatcher pattern for client-server communication.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
gorhill/uBlock ★ 68134 4364 APPLICATION

uBlock Origin is a high-performance, wide-spectrum content blocker implemented as a browser extension for Chromium, Firefox, Edge, Opera, and Thunderbird. The architecture is a multi-platform browser extension with a core filtering engine (static network filtering, cosmetic filtering, scriptlet injection) written in highly optimized JavaScript with WebAssembly acceleration (custom HNTrie/BidiTrie compressed tries, LZ4 block codec, public suffix list). The MV2 variant uses webRequestBlocking for real-time request interception, while the MV3 variant (uBO Lite) uses declarativeNetRequest with offscreen documents for filter compilation. A standalone npm package (@gorhill/ubo-core) exposes the static network filtering engine for programmatic use outside the browser. The codebase demonstrates exceptional craftsmanship in its filtering engines: the static network filtering parser and matcher handle the full EasyList syntax plus extensive uBO-specific extensions (replace=, urlskip=, ipaddress=, header=, csp=, permissions=, etc.). The HNTrieContainer implements a compressed trie specialized for right-to-left hostname matching with both JS and WASM implementations. The cosmetic filtering engine supports procedural selectors, scriptlet injection with 50+ scriptlets, and HTML filtering. The s14e-serializer provides efficient binary serialization with LZ4 compression for fast engine state snapshots. Differential updates for filter lists minimize bandwidth. The code is meticulously optimized for CPU and memory efficiency, which is critical for a content blocker processing every network request.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
puppeteer/puppeteer ★ 95625 9584 APPLICATION

Puppeteer is a high-level Node.js library for browser automation, primarily targeting Chrome/Chromium and Firefox. It provides a rich API to control browsers programmatically via the Chrome DevTools Protocol (CDP) and WebDriver BiDi, supporting both headless and headed modes. The library is organized as a monorepo with multiple packages: `puppeteer` (full library with browser management), `puppeteer-core` (core automation API without browser download), `@puppeteer/browsers` (browser download and CLI), `@puppeteer/ng-schematics` (Angular integration), and a test server. The architecture features abstract API classes (Page, Browser, ElementHandle) with separate CDP and BiDi implementations, a custom event system, and extensive use of TypeScript generics and resource management patterns. Puppeteer is widely used for end-to-end testing, web scraping, and automation tasks, with a strong emphasis on cross-browser compatibility and modern web platform features.

RATING: 9.7/10 MAINT: active DRIFT: low
▸ 7 reusable components found
google/comprehensive-rust ★ 33406 2079 APPLICATION

This repository contains the source code for Comprehensive Rust, a multi-day Rust course developed by the Android team at Google. It is structured as an mdBook with slides, speaker notes, interactive code examples, and exercises. The course covers Rust fundamentals, Android and Chromium integration, bare-metal development, concurrency, async, unsafe Rust, and idiomatic patterns. The codebase includes custom mdBook preprocessors (mdbook-course for structured course scheduling, mdbook-exerciser for extracting exercise starter files), a developer automation tool (xtask), and a comprehensive CI/CD pipeline that builds the book in multiple languages, runs Rust tests via Bazel and Cargo, and performs browser-based WebDriverIO tests. While the primary output is educational content, the tooling infrastructure is well-engineered and demonstrates reusable patterns for structured documentation and exercise management. The repository is actively maintained with frequent commits, issue triage, and translation support for over 17 languages.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
ungoogled-software/ungoogled-chromium ★ 27944 1263 APPLICATION

This repository is a build tooling and patching infrastructure for producing a de-Googled Chromium browser. It does not contain the browser itself but provides the configuration files, patches, and scripts needed to download, modify, and build Chromium without Google web service dependencies. The architecture consists of several layers: configuration files (flags.gn, pruning.list, domain_substitution.list, downloads.ini) that define what to remove or alter; source file processors (binary pruning, domain substitution) that modify the Chromium source tree; a quilt-based patch system with core and extra patches organized by origin (ungoogled-chromium, Bromite, Inox, Iridium, Debian); and utility scripts in the `utils/` and `devutils/` directories for downloading, patching, validating, and building. Key entry points include `utils/downloads.py` for fetching Chromium source, `utils/patches.py` for applying patches, `utils/domain_substitution.py` for replacing Google domains, and `devutils/validate_config.py` for sanity checks. The primary data flow is: clone Chromium source → prune binaries → apply patches → substitute domains → build with GN flags. External dependencies include the Chromium source tree, quilt, Python 3, and platform-specific build tools (e.g., ninja, clang). The project is actively maintained with CI workflows that validate patches and check for new Chromium versions, but it is tightly coupled to specific Chromium releases, requiring constant patch updates.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
Petitoto/chromium-exploit-dev ★ 311 54 APPLICATION

The repository is a toolkit for developing exploits for Chromium vulnerabilities. It provides a modular framework where exploit chains are built by including various JavaScript modules in a specific order. The main entry point is `main.js`, which sets up the exploit chain by including utilities for conversion, DOM manipulation, stability, V8-specific operations, fingerprinting, memory manipulation, and code execution. The toolkit relies on an HTML file (`index.html`) for loading the exploit in an iframe and a Python HTTP server (`server.py`) for delivery and logging via WebSocket. The toolkit includes pre-built exploits for specific CVEs (in the `vulns/` directory) and Python tools for building, downloading symbols, and other tasks. The code demonstrates sophisticated techniques for building reliable primitives from unstable memory corruption, leaking pointers, and achieving code execution.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
electron/build-tools ★ 297 83 APPLICATION

Electron's `e` CLI is a source-build orchestrator for the Electron project. In production it manages named build configurations (JSON/YAML files validated against a zod-generated JSON schema with inheritance support), drives Chromium/Electron source checkout via gclient, runs GN + ninja/autoninja builds with remote-execution backends (reclient/siso) against Electron's RBE cluster, provisions macOS SDKs from an Electron CDN with SHA-256 verification, maintains Electron's patch queue against vendored Chromium/V8/Node, and automates GitHub workflows: cherry-picks, manual backports, PR creation, dist artifact downloads, Chromium roll reconstruction, and applying auto-rolls from the agent-workflows service. The architecture is a multi-command Node.js CLI: every `e <command>` maps to a distinct compiled entry point, with a thin dispatcher (`e.ts`) handling per-invocation config overrides and a 4-hour self-update loop.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
ArchiveBox/ArchiveBox ★ 28727 1614 APPLICATION

ArchiveBox is a self-hosted internet archiving platform that captures web pages in multiple durable formats (HTML, PDF, screenshots, WARC, text, JSON) and stores them locally. It provides a CLI (rich-click), a Django web UI with admin interface, a REST API (Django Ninja), and background workers managed by supervisord. The system is event-driven via the `abx-dl` bus, with services projecting events to database models (Snapshot, ArchiveResult, Crawl, Process, Machine, Persona). Key entry points include the CLI commands (`add`, `extract`, `crawl`, `run`, `search`, `server`), the web UI at `/add/` and `/admin/`, and the REST API at `/api/v1/`. External dependencies include Python 3.13+, Django 6.1, SQLite/PostgreSQL, Chromium, wget, yt-dlp, and various Node.js tools (puppeteer, single-file-cli). The architecture is a Django monolith with a plugin-based extraction pipeline, supporting scheduled archiving, recursive crawling, Memento protocol, and cryptographic proof verification (TLSNotary, OpenTimestamps).

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
std-microblock/chromatic ★ 8491 397 APPLICATION

chromatic is a runtime instrumentation framework for Chromium/V8 processes that provides Frida-compatible APIs for memory inspection, function interception, breakpoint debugging, and code modification. The architecture consists of a core C++ implementation with TypeScript bindings that expose a JavaScript API. Key capabilities include process/module enumeration, memory read/write/allocation, native function calls, native callbacks, inline hooking via trampolines, software/hardware breakpoints, memory access monitoring, exception handling, and instruction disassembly. The project uses breeze-js (QuickJS) as its JavaScript engine, Capstone for disassembly, asmjit for runtime code generation, libffi for FFI, and TCC for runtime C compilation. Entry points include the chromatic-core library, chromatic-test binary, and chromatic-injectee shared library designed for fripack patching.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
obsidianmd/obsidian-clipper ★ 5129 704 APPLICATION

The Obsidian Web Clipper is a browser extension that enables users to clip web content and save it as markdown notes in their Obsidian vault. It features a modular architecture with background scripts, content scripts, popup UI, and settings pages, plus a CLI component. The extension provides highlighting, reader mode, template-based formatting with variables and filters, AI-powered content processing, and cross-browser support for Chrome, Firefox, and Safari. Data flows from user interaction through the popup UI to content scripts that extract and process webpage data, which is then formatted via a template engine and saved to Obsidian. The system relies on webextension-polyfill for cross-browser compatibility, defuddle for content extraction, and various UI libraries for functionality.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 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
nwjs/nw.js ★ 41165 3852 APPLICATION

NW.js is a desktop application runtime that integrates Chromium and Node.js, enabling developers to build native desktop applications using web technologies (HTML, CSS, JavaScript). The codebase functions as a hybrid framework where web content can access native OS APIs and Node.js modules can be loaded directly into the browser context. It operates on a multi-process architecture typical of Chromium-based projects, with distinct browser, renderer, and utility processes. The system relies heavily on upstream Chromium and Node.js versions, requiring constant synchronization to maintain compatibility and security. It supports cross-platform deployment (Windows, macOS, Linux) with platform-specific implementations for UI components, file dialogs, and system integration.

RATING: 8.0/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
CloakHQ/CloakBrowser ★ 32024 2659 APPLICATION

CloakBrowser is a commercial stealth browser automation library that wraps Playwright (Python, JavaScript, .NET) with a custom patched Chromium binary. Its core purpose is to evade bot detection by spoofing browser fingerprints, providing human-like interaction (Bezier mouse moves, realistic typing with typos, smooth scrolling), and managing licensed binary downloads with cryptographic verification. The architecture is a multi-language SDK sharing identical logic across Python, TypeScript, and C#, with a common human interaction engine, proxy/GeoIP integration, and license enforcement via denial files and server validation. Key entry points are the `launch()` and `humanize()` APIs, CLI diagnostics (`info`, `login`, `install`), and the `cloakserve` CDP multiplexer. External dependencies include Playwright/Puppeteer, MaxMind GeoLite2 database, Ed25519 signature verification (BouncyCastle), and a license validation server. The codebase demonstrates high engineering discipline with extensive cross-language parity tests and security-conscious binary distribution, but carries drift risks from triple-language duplication and reliance on Playwright internal APIs.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 5 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
Sicos1977/ChromiumHtmlToPdf ★ 483 86 APPLICATION

ChromiumHtmlToPdf is a .NET library and CLI tool that converts HTML to PDF (and PNG) using headless Google Chrome or Microsoft Edge via the Chrome DevTools Protocol (CDP). The core library (ChromiumHtmlToPdfLib) provides a managed C# API with synchronous and asynchronous methods for conversion, supporting extensive configuration of page settings, headers/footers, margins, paper size, JavaScript execution, and file caching. The console application (ChromiumHtmlToPdfConsole) wraps this library into a command-line tool with over 50 options, enabling batch conversions, multi-threading, and integration into scripts or CI/CD pipelines. The architecture is a two-project solution: a netstandard2.0/2.1 library and a .NET 8 console app packaged as a dotnet tool. Key entry points include the Converter class (ConvertToPdf/ConvertToImage methods) and the console's Program.cs. External dependencies are limited to a Chromium-based browser (Chrome/Edge) installed on the system, plus NuGet packages for JSON serialization, logging abstractions, and image processing (AngleSharp, Magick.NET). The codebase demonstrates solid engineering with reusable components like a file-backed cache, CDP protocol models, and pluggable loggers, but suffers from minor technical debt such as deprecated BinaryFormatter usage, disabled certificate validation in HTTP helpers, and version drift between projects. No automated tests exist, increasing regression risk for a process-heavy library.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
guysoft/FullPageOS ★ 4464 286 APPLICATION

This repository contains a build system for FullPageOS, a Raspberry Pi distribution that boots directly into a full-screen Chromium browser kiosk displaying a configurable webpage. The build process uses CustomPiOS to modify a Raspbian base image, installing Chromium, lighttpd (with FullPageDashboard), x11vnc for VNC access, and a set of scripts that manage the browser startup, URL resolution (with serial number substitution), page refresh, and crash recovery. The resulting OS image is designed for digital signage or single-purpose web displays. The repo includes a comprehensive testing framework with end-to-end tests that run in QEMU, verifying Chromium launch, lighttpd service, emoji rendering, and translation disabling via screenshot pixel analysis. The CI pipeline builds images for armhf and arm64 and runs the e2e tests automatically. While the core build scripts are functional and well-structured, they are tightly coupled to the CustomPiOS ecosystem and not independently reusable. The testing components, particularly the screenshot analysis and headless Chromium rendering tests, exhibit higher craftsmanship and could be adapted for other kiosk image validation efforts.

RATING: 7.5/10 MAINT: active DRIFT: low
▸ 3 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
── end of results ──
$ submit: