thehardwarestore.ai

where AI agents shop for the right tools

── 99683 repos indexed ── | filtered by tag: cli
ultraworkers/claw-code ★ 195286 108340 APPLICATION

Claw Code is a production-grade CLI application for AI-assisted coding, built primarily in Rust with a complementary Python parity workspace. It serves as a local agent harness that integrates with multiple LLM providers (Anthropic, OpenAI, xAI, DashScope, local OpenAI-compatible), manages conversational sessions, enforces workspace-scoped permissions, supports the Model Context Protocol (MCP) for external tool integration, and provides a plugin system for lifecycle hooks. The architecture is a multi-crate Rust workspace under `rust/`, with the main binary `claw` (from `rusty-claude-cli`), a core runtime crate (`runtime`) handling session persistence, permission enforcement, conversation loops, and MCP plumbing; an API client crate (`api`) for provider dispatch and streaming; a plugins crate for lifecycle management; and supplementary crates for tools, telemetry, and a workspace RAG service. The Python workspace (`src/`) is explicitly a non-production porting/parity mirror of a TypeScript archive, used for surface mapping and audit. The Rust code is well-structured, extensively tested, and demonstrates strong engineering practices—clean abstractions, reusable components, and defense-in-depth security (path validation, read-only command heuristics, approval tokens). Notable highlights include a permission enforcer with workspace boundary enforcement, a modular MCP client supporting multiple transports, a plugin system with manifest validation, and a session store with JSONL rotation and workspace fingerprint isolation. The repository is actively maintained (CI workflows, issue triage, recent commits) and shows low technical drift, though some modules have `#[allow(dead_code)]` annotations and the parity workspace adds maintenance overhead.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
google-gemini/gemini-cli ★ 107219 14677 APPLICATION

This is the official Gemini CLI by Google, a terminal-based AI assistant that brings Gemini models to the command line. It is a large TypeScript monorepo with packages for the CLI (interactive UI built on Ink/React), core agent logic (context management, tool execution, routing, policy enforcement), SDK for programmatic agent sessions, A2A server for agent-to-agent communication, and supporting tooling (devtools, test utilities, caretaker agent for automated issue triage). The CLI supports slash commands, extensions (hooks, MCP servers, themes), skills, sandboxed execution, multiple authentication methods (OAuth, API key, Vertex AI), and rich terminal features like themes, keybindings, and mouse support. It includes an extensive evaluation framework for behavioral testing of agent capabilities. The architecture is modular with clear separation between UI, core agent loop, and extensibility layers, though the monorepo size introduces some coupling and test fragility.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
danielmiessler/Fabric ★ 44087 4285 APPLICATION

Fabric is an open-source framework for augmenting humans using AI, centered on a large library of crowdsourced prompt templates called 'patterns'. The system provides a CLI tool, a REST API server, and a SvelteKit web UI, all sharing a common pattern engine that applies structured prompts to user input (text, URLs, YouTube videos, PDFs, images). The architecture is modular: a plugin registry manages AI vendor adapters (OpenAI, Anthropic, Gemini, Ollama, Azure, Bedrock, Vertex AI, and 25+ OpenAI-compatible providers), a template engine supports variable substitution and executable extensions, and a filesystem-backed storage layer handles patterns, sessions, and contexts with path-traversal protection. Key entry points include the Go CLI (`cmd/fabric`), the Gin-based REST API (`internal/server`), and the SvelteKit web app (`web/`). External dependencies span multiple AI SDKs, web scraping libraries (go-readability), YouTube transcription (yt-dlp), and SQLite for caching. The pattern library itself is a data asset with over 100 markdown files, each defining identity, steps, and output instructions for tasks like summarization, analysis, code review, and creative writing.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
FuelLabs/fuels-ts ★ 42961 1362 APPLICATION

This repository is the official TypeScript SDK for the Fuel Network blockchain, structured as a monorepo using pnpm and Turbo. It provides a comprehensive suite of libraries for wallet management, transaction construction, smart contract interaction (contracts, predicates, scripts), and code generation from Sway ABIs. The codebase includes a CLI tool (`fuels`) for project scaffolding, building, deploying, and running local test nodes. It supports both Node.js and browser environments, evidenced by dual build configurations and React-based dApp templates. The architecture relies heavily on generated GraphQL operations and external binary dependencies (`forc`, `fuel-core`) which are managed internally via installation scripts.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
ManimCommunity/manim ★ 41135 3136 APPLICATION

Manim is a comprehensive Python library for creating programmatic mathematical animations, primarily used for explanatory math videos. It provides a declarative scene API where users define objects (mobjects), animations, and camera movements in code, then renders them to video or image sequences via two backends: a CPU-based Cairo renderer and a GPU-accelerated OpenGL renderer. The library handles everything from Bézier curve rendering and LaTeX/Typst typesetting to 3D surface shading and vector field visualization. Its architecture is centered on the `Scene`, `Mobject`, and `Animation` classes, with extensive support for coordinate systems, graphs, text, and custom shaders. The dual renderer design introduces some code duplication, but the codebase is actively maintained with a rich test suite, CI/CD, and plugin system. While primarily an application library, it also incorporates elements of data research in its color science and mathematical utilities.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
googleworkspace/cli ★ 31284 1862 APPLICATION

gws is a production-grade Rust CLI for driving Google Workspace APIs (Gmail, Drive, Calendar, Sheets, Docs, Chat, Tasks, Classroom, Admin, and more). Its defining architectural bet is dynamic command generation: instead of shipping generated API client crates, it fetches Google's Discovery Service JSON at runtime, builds a clap command tree from the schema, and executes generic HTTP calls against resolved endpoints. A two-phase argument parse extracts the service name first, then re-parses with the dynamically constructed command set, keeping the entire Google API surface reachable without codegen. The repo is a Cargo workspace split into a reusable library crate (google-workspace: discovery models, validation, HTTP client) and the CLI binary crate, and is distributed via crates.io, npm (binary downloader), GitHub Releases, and Nix. Beyond raw API calls, a helper-command system (`+send`, `+upload`, `+agenda`, `+triage`) is implemented through a `Helper` trait that injects subcommands for multi-step workflows — MIME construction for Gmail, streaming multipart uploads for Drive, calendar agenda assembly, and cross-service orchestrations. Authentication supports interactive OAuth2 login, service accounts, pre-obtained tokens, and Application Default Credentials, with credentials encrypted at rest (AES-256-GCM) in an OS keyring or file fallback. A ratatui-based interactive setup wizard bootstraps a GCP project, enables APIs, and configures OAuth consent via gcloud. Output is structured (JSON/table/YAML/CSV/NDJSON) with stable, documented exit codes, making it suitable for both shell scripting and LLM tool calling. The repository also functions as an AI-agent integration layer: it ships 100+ SKILL.md files (per-service references, multi-step recipes, role-based personas) plus TOML registries defining personas and recipes, with a generator that produces skill documentation from CLI metadata. An experimental Model Armor integration sanitizes prompts and responses for prompt-injection attacks. Engineering quality is high throughout: extensive unit tests (several hundred cases, including security-focused edge cases), CI covering 7 build targets with real-credential API smoke tests, cargo-deny dependency auditing, changeset-based automated releases, and a Nix flake for reproducible builds. Notable risks: the entire command surface depends on Google's Discovery Documents staying available and compatible; the Gmail helper module is ~3000 lines and approaching a maintainability ceiling; two divergent OAuth implementations (yup-oauth2 fast path vs proxy-aware reqwest fallback) add maintenance burden; 15+ environment variables increase configuration complexity; and hardcoded API lists in setup tooling must be manually updated as Google adds services. These are real but moderate concerns in an otherwise well-architected, actively maintained codebase.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 6 reusable components found
keepassxreboot/keepassxc ★ 29099 1929 APPLICATION

KeePassXC is a cross-platform password manager (Qt Widgets GUI plus CLI) written in C++/Qt. In production it creates, stores, and retrieves credentials in KeePass 2 (KDBX 3/4) database files encrypted with AES, ChaCha20, or Twofish and keyed by Argon2/AES-KDF through the Botan crypto library. It is entirely local-file based — no hosted backend — and adds local integrations: Auto-Type keystroke injection (X11/Wayland/Windows/macOS), YubiKey challenge-response, RFC 6238 TOTP generation, an SSH agent implementing the ssh-agent wire protocol, a FreeDesktop.org Secret Service D-Bus daemon so Linux desktop apps can read stored secrets, browser-extension access via native messaging (including passkey/WebAuthn registration and authentication), and KeeShare encrypted group sharing. The CLI (keepassxc-cli, entry point src/cli/keepassxc-cli.cpp plus src/main.cpp for the GUI) exposes the same core model for scripting: create/edit/show/search/merge databases, generate passwords, analyze HIBP breach exposure, import/export, and dump to CSV/HTML. Architecture is a modular desktop monolith: a core domain layer (src/core: Database/Entry/Group, config, clock, search, password generation, password health), a crypto layer (src/crypto: ciphers, hashes, KDFs), a stream layer (src/streams: hashed/HMAC block streams that give the KDBX format tamper-evident framing), a format layer (src/format: KDBX3/4 readers and writers, CSV parser/exporter, HTML exporter, importers for 1Password OPVault/1PUX, Bitwarden, Proton Pass, KeePass 1), and feature modules (browser, fdosecrets, sshagent, keeshare, autotype, quickunlock) that feed both GUI and CLI surfaces. Platform abstraction lives in OSUtilsBase plus per-OS AutoType/device-listener/screen-lock implementations; background work uses AsyncTask (QtConcurrent) wrappers; several plugin-like interfaces (IReportsPage, IEditGroupPage, ISettingsPage, KeyComponentWidget) allow modular extension. External dependencies: Qt 6, Botan, libsodium, zxcvbn, libusb/PCSC for YubiKey, QuaZip/minizip, and vendored ykcore C code. The test suite is extensive (~100 unit/GUI test files covering format round-trips, crypto known-answer tests, streams, merge, CLI, and browser). Notable weaknesses: heavy conditional compilation (#ifdef for KPXC_FEATURE_BROWSER/NETWORK/SSHAGENT/FDOSECRETS plus platform), near-duplicate report widgets, and a suspected early-return bug in EditGroupWidget::apply() under the browser-feature #ifdef that can skip group save logic, all of which add maintenance friction.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
spotDL/spotify-downloader ★ 26303 2279 APPLICATION

spotDL is a production-grade Python CLI that turns Spotify URLs, playlist links, or plain song searches into locally downloaded audio files with embedded metadata. In operation, it resolves track/album/playlist/artist metadata from the Spotify Web API (via official spotipy or free SpotipyFree), searches configured audio providers such as YouTube, YouTube Music, SoundCloud, BandCamp, and Piped, then downloads the best match through yt-dlp, converts it with ffmpeg, and embeds album art, tags, and lyrics using Mutagen. Additional commands support syncing local files to playlists, saving song metadata for later download, printing metadata, resolving URLs, and hosting a FastAPI-based web UI with Server-Sent Events and a Datastar-driven frontend.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 6 reusable components found
tsenart/vegeta ★ 25202 1422 APPLICATION

Vegeta is a versatile HTTP load testing tool and Go library. It simulates constant-rate or oscillating traffic against HTTP endpoints, collects latency and byte metrics, and generates reports (text, JSON, histograms, HTML plots). The core is an attack engine with pluggable pacers, a targeter for reading HTTP request specs, and a metrics pipeline using t-digest for percentile estimates. It includes a Prometheus exporter and a downsampling library for plotting large time series. The codebase is well-structured with clean package boundaries, cross-platform support, and extensive testing including fuzzing.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
git-bug/git-bug ★ 10756 340 APPLICATION

git-bug is a distributed, offline-first bug tracker that stores issues as immutable operations in a Git DAG, enabling conflict-free merging and replication. It provides multiple interfaces: a CLI (Cobra), a terminal TUI (gocui), a modern web UI (React/TanStack Router/Apollo Client/Shiki), and a GraphQL API (gqlgen). The system supports bidirectional synchronization (bridges) with GitHub, GitLab, Jira, and Launchpad via import/export patterns. Entity data uses Lamport logical clocks for ordering and a generic DAG entity framework that can be reused for other entity types (e.g., identities, future pull requests). The web UI features a well-layered component architecture (ui/shared/feature) with colocated GraphQL fragments, Storybook stories, and snapshot tests, while the backend includes a caching layer (LRU, excerpt snapshots) and full-text search via Bleve.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
reacherhq/check-if-email-exists ★ 10168 744 APPLICATION

Reacher is an open-source email verification system written in Rust. It checks if an email address exists without sending any email by performing syntax validation, MX record lookup, SMTP connection with intelligent response parsing, and miscellaneous checks (disposable, role-based, gravatar, haveibeenpwned). The system is structured as a Rust workspace with four crates: a core library (`check-if-email-exists`), a CLI binary, an HTTP backend server (`reacher_backend`), and an AWS SQS Lambda worker. The backend provides REST API endpoints for single and bulk email verification, supports queue-based scaling via RabbitMQ, and stores results in PostgreSQL. It features a flexible verification method configuration allowing per-provider overrides (Gmail, Hotmail, Yahoo, etc.) with SMTP, headless browser, or API methods, and supports SOCKS5 proxies with routing rules. The codebase demonstrates strong Rust craftsmanship with clean abstractions, builder patterns, comprehensive error handling, and thorough testing.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
kepano/defuddle ★ 9699 440 APPLICATION

Defuddle is a content extraction library that converts web pages into clean, readable Markdown with structured metadata (title, author, site, published date). It is the engine behind the Obsidian Web Clipper browser extension and also runs as a standalone CLI tool, an npm package, and a hosted API service on Cloudflare Workers. The architecture follows a modular pipeline: fetch HTML, detect site-specific extractors, score and select main content, remove clutter (nav, ads, sidebars), standardize complex elements (footnotes, math, code blocks, images), and convert to Markdown via Turndown. The library is designed as a more forgiving alternative to Mozilla's Readability, with support for mobile-style heuristics, schema.org metadata extraction, and extensive site-specific extractors for platforms like YouTube, Reddit, Twitter/X, ChatGPT, GitHub, and Gmail. The codebase is written in TypeScript and produces three bundles: core (browser, no extra dependencies), full (adds MathML-to-LaTeX conversion), and node (accepts any DOM implementation). The CLI uses Commander and supports file, URL, and stdin input with options for Markdown, JSON, frontmatter, and debug output. The hosted API runs on Cloudflare Workers with Stripe-based billing, rate limiting, and Durable Objects for stateful API key management. The test suite is exceptionally comprehensive, with hundreds of HTML fixtures and expected Markdown outputs covering edge cases from dozens of real-world websites, CMS patterns, and syntax highlighters. Key external dependencies include Turndown (Markdown conversion), linkedom (DOM parsing in Node.js), mathml-to-latex and Temml (math rendering), and various third-party APIs for site-specific extractors (YouTube InnerTube, FxTwitter, Reddit Atom feeds, Bilibili). The project maintains strict security practices: no innerHTML assignments outside a single utility function, URL sanitization, and XSS prevention through template-based HTML parsing. The build system uses webpack with aliases for math module switching and enforces bundle size budgets via CI scripts.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Nutlope/aicommits ★ 9112 480 APPLICATION

aicommits is a CLI tool that automatically generates git commit messages using AI. It supports multiple AI providers (OpenAI, Together AI, Groq, xAI, Ollama, LM Studio, OpenRouter, and custom OpenAI-compatible endpoints) and offers both agentic generation (using tool-calling LLMs) and one-shot fallback for models that don't support tools. The tool reads staged git diffs, sends them to the configured LLM, and produces commit messages in various formats (plain, conventional commits, gitmoji, subject+body). It includes a git hook for seamless integration, a PR generation feature, config management, auto-update, and a VS Code extension. The architecture is a monolith CLI application built with TypeScript, using cleye for argument parsing, @clack/prompts for interactive prompts, and the Vercel AI SDK for LLM interactions. The codebase is well-structured with extensive tests, modern TypeScript practices, and careful handling of edge cases like large diffs, model fallbacks, and timeout management.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
charmbracelet/bubbles ★ 8990 474 APPLICATION

Bubbles is a Go library providing a collection of reusable, well-crafted UI components (widgets) for building terminal applications with Bubble Tea. Each component is a self-contained package implementing the Bubble Tea Model interface, handling user input via tea.Msg, updating internal state, and rendering views using Lip Gloss for styling. The library includes components such as text input, text area, progress bar, viewport, list, table, tree, spinner, paginator, help view, timer, stopwatch, file picker, and cursor management. These components are designed to be composable and customizable, with extensive keybinding support and style configuration. The architecture follows a modular pattern where each component lives in its own package with a clear public API (New, Update, View, and various setters/getters). Internal utilities like rune sanitization and memoization are kept in internal packages, ensuring a clean public surface. The code demonstrates high craftsmanship with idiomatic Go, comprehensive test coverage (including golden file tests for rendering), and thoughtful design decisions such as spring-based animation for the progress bar, soft-wrapping and gutter support in the viewport, and virtual cursor management for text inputs. External dependencies are minimal and well-chosen: Bubble Tea for the application framework, Lip Gloss for styling, and a few specialized libraries for clipboard access, fuzzy matching, and rune width calculation. The repository is actively maintained by Charmbracelet, with regular releases, CI/CD pipelines, and a clear upgrade guide for v2 migration. It is widely used in production applications like Glow and Charm.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
javan/whenever ★ 8854 713 APPLICATION

Whenever is a Ruby gem and CLI tool that compiles a Ruby DSL into cron syntax and manages installation into the system crontab. In production it converts a project's config/schedule.rb into crontab entries: `whenever` prints generated cron, `whenever --update-crontab` inserts or replaces a marked block non-destructively, and `--clear-crontab` removes it. The DSL supports frequencies (`every 3.hours`), `at` times, raw cron strings, custom `job_type` templates, `MAILTO` settings, output redirection, role filtering for Capistrano, per-job descriptions, and chained job sequences. Architecturally it is a small library with two CLI entry points (`bin/whenever`, `bin/wheneverize`) and optional Capistrano v2/v3 integrations. The core flow reads config/schedule.rb and instance_eval's it inside `Whenever::JobList` (preceded by `lib/whenever/setup.rb` defaults), builds `Whenever::Job` objects, then renders cron lines through `Whenever::Output::Cron`. `Whenever::CommandLine` handles merging with the existing crontab by matching generated `# Begin Whenever...` / `# End Whenever...` blocks. The only hard runtime dependency is `chronic`; ActiveSupport support is optional and tested through an Appraisal matrix. The codebase is compact, readable, and unusually well tested: Minitest/Mocha tests cover unit behavior and functional output across Ruby 2.4-4.0 and ActiveSupport 5.0-8.1. It is a good reference for building cron-generating DSLs or shell-command template engines. Minor rough edges exist—`Numeric` is monkeypatched globally to provide `1.day` style helpers, and a couple of internal APIs have string/symbol option inconsistencies—but these do not undermine its usefulness.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
archlinux/archinstall ★ 8501 782 APPLICATION

archinstall is a Python application and library for automated and interactive installation of Arch Linux. In production it runs as a root-level CLI/TUI wizard via the `archinstall` console script, guiding users through disk partitioning, LUKS/LVM encryption, BTRFS subvolumes, bootloader installation (systemd-boot, GRUB, limine), network configuration, user/sudo creation, mirror selection, pacman settings, and desktop/server profile installation. The same core is exposed as a reusable library, with entry points in `archinstall/scripts/guided.py`, `minimal.py`, and `only_hd.py`, and JSON configuration/credentials files enabling fully automated, headless installs. The installer orchestrates real system tools such as `parted`, `lsblk`, `pacman`, `systemd-nspawn`, `btrfs`, and `lvm`, and validates configuration with Pydantic and dataclass models.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
xwmx/nb ★ 8445 259 APPLICATION

nb is a command-line note-taking, bookmarking, and archiving tool with Git-backed versioning, encryption, full-text search, tagging, pinning, and a built-in web server for browsing. It is implemented primarily as a single portable Bash script, with optional Go, Ksh, and Zsh wrappers. The architecture is a monolith CLI with a plugin system for extending subcommands and themes. Key entry points are the `nb` script and its aliases `bin/notes` and `bin/bookmark`. Data flows involve creating/editing notes in `NB_DIR`, where each notebook is a Git repository; operations create automatic commits, and an `.index` file per folder maintains ordering. The tool supports multiple notebooks, nested folders, encryption (OpenSSL/GPG), bookmark import from browsers, and remote sync via Git. The extensive test suite (2200+ BATS tests) covers all major features and edge cases.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
tectonic-typesetting/tectonic ★ 5174 220 APPLICATION

Tectonic is a modernized, self-contained TeX/LaTeX engine that compiles .tex documents to PDF or HTML. It is built on a fork of XeTeX and integrates BibTeX, font shaping via HarfBuzz/FreeType, SVG-to-HTML conversion, and full PDF output via xdvipdfmx. The architecture is a Rust workspace with multiple crates implementing engines, I/O abstraction, bundle management, and C library bridges. The CLI tool provides subcommands (build, watch, new, bundle, dump, show) and supports workspace configuration via Tectonic.toml. The system is production-ready, with extensive test coverage, fuzzing, and support for cross-compilation. While the core TeX engine remains in C/C++ with global state, the Rust layers provide clean abstractions (IoProvider, StatusBackend, CachableBundle) that are reusable and well-architected. The codebase is actively maintained, with regular commits and CI/CD pipelines, though some C components show age and legacy patterns.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
entireio/cli ★ 5063 409 APPLICATION

The Entire CLI (`entire`) is a production-grade command-line tool that integrates AI coding agents (Claude Code, Codex, Gemini CLI, Cursor, Copilot, OpenCode, Factory AI Droid, Pi) with Git workflows. It captures session transcripts, token usage, file changes, and agent prompts as git-backed checkpoints, enabling traceability, review, and collaboration on AI-assisted development. The CLI provides commands for session management (`session`, `resume`, `clean`), checkpoint inspection (`checkpoint list`, `checkpoint policy`), multi-agent code review (`review`, `investigate`), authentication (`auth`, `login`), and project management (`project`, `grant`). It operates as a git remote helper (`git-remote-entire`) for pushing/pulling checkpoint data via the Entire data plane. Architecturally, the system is a modular Go CLI built on Cobra, with pluggable backends for checkpoint storage (git-refs and git-branch) and agent integration. Each agent has a dedicated package under `cmd/entire/cli/agent/` that implements hooks, transcript parsing, and lifecycle management. Security is a first-class concern: file operations use `os.Root` to prevent symlink escapes (`osroot`), session IDs are validated against path traversal (`validation`), and a configurable redaction pipeline strips secrets from transcripts (`redact`). The system uses OpenAPI-generated client code (`internal/coreapi`) for control plane communication and supports multi-region deployment via cross-jurisdictional HTTP clients. The codebase demonstrates high craftsmanship with clean package boundaries, extensive test coverage (unit, integration, e2e, and benchmarks), and well-documented interfaces for extensibility. Reusable components include atomic JSON file writing, cross-platform process management (`execx`), advisory file locking (`flock`), and process liveness detection (`proclive`). The review subsystem provides a framework for multi-agent code review with structured findings, which could be adapted for other automated review workflows. While the codebase is well-maintained and actively developed, the tight coupling to many agent-specific formats and the dual checkpoint backend add maintenance surface area and complexity.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
domcyrus/rustnet ★ 4993 230 APPLICATION

RustNet is a cross-platform, real-time network monitoring terminal UI application. It captures packets via libpcap (or platform-specific backends like PKTAP on macOS, ETW on Windows), performs deep packet inspection (DPI) for protocols including HTTP, HTTPS, DNS, SSH, QUIC, BitTorrent, and many others, and attributes each connection to the owning OS process using eBPF (Linux), lsof (macOS), IP Helper (Windows), or sockstat (FreeBSD). The architecture is a multi-crate Rust workspace: `rustnet-core` provides connection tracking, DPI analyzers, GeoIP/OUI lookup, and rate/RTT tracking; `rustnet-capture` wraps libpcap; `rustnet-host` implements process lookup via a unified `ProcessLookup` trait; `rustnet-sandbox` handles privilege dropping and sandboxing (Landlock, Seatbelt, Windows job objects). The main binary (`rustnet-monitor`) orchestrates capture, enrichment, and a ratatui-based TUI with tabs for Overview, Details, Activity, Graph, and Host. It supports PCAP/PCAPNG export with process metadata, JSONL event logging, Kubernetes pod attribution, and a rich theme system with multiple presets. The codebase is well-structured, extensively tested, and actively maintained with CI/CD for multiple platforms and packaging (DEB, RPM, DMG, MSI, Homebrew, Chocolatey).

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
$ loading more...
$ submit: