thehardwarestore.ai

where AI agents shop for the right tools

── 99757 repos indexed ── | filtered by tag: linux
nuver-labs/vps-audit ★ 3061 295 APPLICATION

This is a single-file Bash script that performs a comprehensive security and performance audit of a Linux VPS. It checks SSH configuration, firewall status, intrusion prevention systems (Fail2ban/CrowdSec), failed login attempts, system updates, running services, open ports, disk/memory/CPU usage, sudo logging, password policy, and SUID files. The script outputs color-coded PASS/WARN/FAIL results to the console and writes a detailed timestamped report to a file. It is designed for Ubuntu/Debian-based systems and requires root or sudo privileges. The architecture is a monolithic Bash script with no external dependencies beyond standard Linux utilities and optional tools like UFW, Fail2ban, and Docker. The code is well-structured with configurable thresholds and file paths, demonstrating solid Bash scripting practices. However, it is not designed for reuse as a library; it is a standalone tool.

RATING: 7.6/10 MAINT: stale DRIFT: low
▸ 1 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
amsynth/amsynth ★ 504 60 APPLICATION

amsynth is a free and open-source analog modeling software synthesizer. It implements classic subtractive synthesis with dual oscillators, a resonant low-pass filter, ADSR envelopes, LFO, distortion, and reverb. The system is designed for real-time audio and MIDI processing, supporting polyphony, portamento, pitch bend, and microtonal tuning via Scala files. It can run as a standalone application using JACK, ALSA, or OSS audio drivers, or as a plugin in LV2, VST2, DSSI, and AudioUnit formats. The architecture separates the core synthesis engine (Synthesizer, VoiceAllocationUnit, VoiceBoard) from the GUI (JUCE-based with a skinnable control panel) and plugin wrappers, all sharing a common parameter system with observer pattern and value smoothing. The repository includes a large collection of preset banks, a configuration system, and internationalization support. External dependencies include JUCE for the GUI, freeverb for reverb, MTS-ESP for microtonal support, and NSM for session management.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
frederik-h/acer-wmi-battery ★ 330 51 APPLICATION

This repository contains a Linux kernel driver for managing battery health features on Acer laptops via the WMI (Windows Management Interface) interface. The driver enables control of two key battery functions: a health mode that limits charge to 80% to prolong battery lifespan, and a calibration mode that performs a full charge-discharge cycle for accurate capacity reporting. It also provides battery temperature readings. Implemented as a single kernel module (acer-wmi-battery.c), it interacts with the laptop's firmware through WMI methods to query and set battery parameters, exposing these controls via sysfs attributes under /sys/bus/wmi/drivers/acer-wmi-battery/. The driver follows standard Linux kernel module practices, including proper error handling, version-dependent includes for compatibility, and sysfs attribute creation for user-space interaction. It includes reusable WMI helper functions that encapsulate the boilerplate for WMI method calls, buffer handling, and response validation. The project is actively maintained with recent commits, supports multiple Acer laptop models as documented in MODELS.md, and is licensed under GPL-2.0.

RATING: 7.6/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
skyjake/Doomsday-Engine ★ 303 36 APPLICATION

The Doomsday Engine is a modular game engine and source port for classic FPS games (Doom, Heretic, Hexen, Doom64) with client-server architecture. It provides enhanced rendering (OpenGL), audio systems, GUI frameworks, networking, and scripting capabilities. The engine supports extensibility via plugins and includes tools like Amethyst for documentation processing. The codebase shows strong separation of concerns with distinct libraries for core functionality, game logic, rendering, and UI. While actively maintained, it exhibits technical drift due to platform-specific conditionals, legacy code sections, and complex dependency management.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
Swordfish90/cool-retro-term ★ 26493 1033 APPLICATION

cool-retro-term is a desktop terminal emulator that simulates the visual appearance of vintage cathode-ray tube (CRT) monitors. It renders a real terminal session (via QMLTermWidget) with a chain of GPU shader effects including scanline patterns, bloom, screen curvature, burn-in, chromatic aberration, and frame reflections. The application is built with Qt 6 (QML and C++) and runs on Linux and macOS. It provides a rich settings interface for customizing all visual parameters, and ships with 14 built-in retro profiles (e.g., Amber, Green, Commodore 64, Apple II) and a curated collection of bitmap fonts to match authentic terminal looks. Architecturally, the C++ layer handles font management (FontManager), font list models, file I/O, and the main entry point. The QML layer composes the terminal window, tabs, settings panels, and the shader pipeline. Shaders are pre-compiled into .qsb files for 48+ combinations of effect flags, enabling smooth runtime switching without compilation latency. Persistent settings are stored in SQLite via a thin QML wrapper (Storage.qml). The application uses two Git submodules: qmltermwidget for the actual terminal emulation and KDSingleApplication for single-instance enforcement. Key entry points include app/main.cpp (C++ startup), app/qml/main.qml (QML root), and the shader fragment files in app/shaders/. External dependencies are Qt 6, QMLTermWidget, and KDSingleApplication. The build system is qmake (with a planned but not yet executed migration to CMake). Packaging is provided for AppImage, DMG, Debian, RPM, and Snap.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
harmonoid/harmonoid ★ 4724 257 APPLICATION

Harmonoid is a cross-platform music player built with Flutter, targeting Windows, macOS, Linux, Android, and iOS. It scans local files, reads metadata via taglib, and organizes a media library of albums, artists, genres, tracks, and playlists. Audio playback is powered by mpv/FFmpeg through the media_kit package, with support for gapless playback, speed/pitch adjustment, ReplayGain, and crossfade. The app integrates Last.fm scrobbling, Discord Rich Presence, MPRIS (Linux), System Media Transport Controls (Windows), and a custom lyrics system that fetches synced lyrics from tags, local LRC files, or an online API. State management uses Provider and ChangeNotifier, navigation uses go_router, and persistent configuration is stored in a drift SQLite database. The UI adapts between desktop and mobile layouts, with Material Design 2 and 3 theming. A subscription system (via RevenueCat) gates premium features like artist images and lyrics translation. The codebase is large and well-organized, but shows signs of technical drift: incomplete tablet layouts, deprecated model classes, many HACK comments, and heavy reliance on git-based dependency overrides. Despite these issues, the architecture demonstrates solid Flutter engineering with reusable patterns like a mixin registry for platform services, custom image providers, and a code generation pipeline for localization and configuration.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
MiKTeX/miktex ★ 978 126 APPLICATION

MiKTeX is a comprehensive, cross-platform TeX distribution that provides a complete typesetting system for Windows, macOS, and Linux. The repository contains the source code for TeX engines (pdfTeX, XeTeX, LuaTeX, e-upTeX, etc.), companion tools (dvipdfmx, dvisvgm, asymptote, metapost, tex4ht, etc.), the TeXworks editor, and the MiKTeX package manager (Console) and DVI viewer (Yap). It also bundles a large number of third-party libraries (FreeType, HarfBuzz, Poppler, LibreSSL, cURL, GMP, MPFR, etc.) as vendored dependencies. The architecture is monolithic: each executable compiles independently but shares a common core library (MiKTeX Core) that provides session management, file I/O, package management, and platform abstraction. The primary data flow is user-driven: packages are downloaded from remote repositories, TeX documents are compiled via one of the engines producing DVI or PDF output, and fonts are handled via system or bundled resources. The codebase is actively maintained with frequent releases, but the reliance on many vendored libraries and extensive platform-specific `#ifdef` blocks introduces moderate technical drift risk.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
MercuryWorkshop/anuraOS ★ 511 566 APPLICATION

AnuraOS is a browser-based desktop environment and development platform that runs entirely in the browser, featuring a full window manager (AliceWM), taskbar, launcher, notification center, and a suite of built-in apps (file manager, terminal, settings, browser, marketplace, etc.). It includes a complete x86 emulation subsystem via v86, allowing users to boot a custom Alpine Linux virtual machine with persistent disk storage, PTY multiplexing, and network relay through the Wisp protocol. The system is designed as a Progressive Web App (PWA) with offline support via service workers and uses IndexedDB for filesystem and settings persistence. The architecture is modular: core APIs (filesystem, networking, window management, settings, processes, notifications) are exposed through a global `anura` object. Apps are defined by manifests and can be either iframe-based or manual scripts, with support for versioned libraries imported via `anura.import()`. The filesystem uses an abstract provider pattern (`AFSProvider`) with multiple backends (Filer, LocalFS/OPFS). The x86 subsystem manages a v86 emulator with persistent disk images stored in IndexedDB, and integrates with the host OS through a custom mouse driver and network relay. While the codebase demonstrates strong engineering with clean abstractions (e.g., filesystem providers, window manager, notification service), it also exhibits some technical debt: large monolithic files (v86.tsx, Boot.tsx), use of `eval` in legacy handlers, memory leaks in the x86 disk cache, and race conditions in boot sequencing. The x86 image build process requires Linux, Docker, and specific toolchains, limiting portability. Overall, AnuraOS is a sophisticated and functional webOS with reusable components, but its complexity and some outdated patterns suggest moderate maintenance overhead.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
vladimirgamalyan/fontbm ★ 306 42 APPLICATION

fontbm is a cross-platform command-line tool for generating BMFont-compatible bitmap fonts from TrueType/OpenType fonts using FreeType2. The application parses command-line options, renders glyphs, packs them into texture atlases using MaxRectsBinPack, and outputs font metrics in multiple formats (text, XML, binary, JSON) along with PNG texture pages. The architecture is modular with clear separation of concerns: option parsing, FreeType handling, glyph packing, rendering, and output formatting. While the core logic is specific to font bitmap generation, several utility components demonstrate reusable patterns.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
ebruck/radiotray-ng ★ 300 33 APPLICATION

Radiotray-NG is an internet radio player for Linux that runs in the system tray. It allows users to select and play configured radio stations, displays stream metadata, shows notifications, and provides control via system tray menu, media keys, or DBus. The application features a modular architecture with separate components for bookmarks management, configuration, event handling, playback (using GStreamer), playlist format handling, notifications, and GUI (with AppIndicator or ncurses fallback). It includes a bookmark editor GUI and supports sleep timer functionality.

RATING: 7.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
CachyOS/ananicy-rules ★ 225 145 DATA_RESEARCH

This repository is a curated collection of rules for the ananicy-cpp daemon, which automatically adjusts process nice/ionice/scheduling priorities on Linux. It is primarily a dataset of process name to type mappings, organized by category (audio-video, browsers, games, desktop environments, services, tools, etc.), with additional cgroup CPU quota definitions. The rules are manually curated by the community and cover thousands of applications, including Linux native and Wine/Proton games, with detailed per-game executable entries. The repository includes JSON schemas for validation, a linting script, a sorting script for game rules, and a Makefile for installation. It is actively maintained and serves as the default ruleset for the CachyOS Linux distribution's ananicy-cpp package. No ETL pipelines or analytical models are present; the primary data product is the ruleset itself.

RATING: 7.5/10 REPRO: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
microsoft/perfview ★ 4765 777 APPLICATION

This repository is the source code for **PerfView**, a performance analysis toolkit developed by Microsoft. It is a hybrid application/library primarily classified as an application, centered around a Windows desktop GUI (WPF) for visualizing trace data, but it also contains a highly reusable core library (`Microsoft.Diagnostics.Tracing.TraceEvent`) for programmatic trace processing. The system's ground truth is the analysis of system and application performance through tracing. It ingests trace data from multiple sources (Windows ETW, Linux `perf`/`strace`, .NET EventPipe, heap dumps), parses them into a unified stack trace model, resolves symbols (PDB, ELF), and provides interactive visualizations (flame graphs, call trees, heap diagrams) and automated analysis reports. The architecture is a monolith with a well-separated core library. The `TraceEvent` library is the standout component, offering a clean `StackSource` abstraction, a plugin-based automated analysis framework (`Analyzer`), and robust symbol resolution. The `FastSerialization` library is another reusable gem for efficient object graph serialization. **Critical Caveat:** The codebase uses a **non-standard C# dialect** (e.g., `Func<bool>`, `ref uint`, `where T : ArgumentException`) that is not compatible with standard .NET compilers. This represents a severe technical drift risk and a significant barrier to external contribution or reuse of individual components without substantial adaptation. The code is actively maintained by Microsoft but carries significant technical debt tied to its proprietary toolchain.

RATING: 7.4/10 MAINT: active DRIFT: high
▸ 7 reusable components found

This repository is a self-paced learning roadmap for algorithmic trading, structured as a hierarchical collection of markdown files. It curates resources, certifications, and project ideas across artificial intelligence, computer science, mathematics, finance, cloud engineering, and software engineering. The repository is entirely documentation-driven; there are no executable applications, data pipelines, or machine learning models. Its primary value lies in its organized curriculum, reusable topic templates, and role-based learning paths (e.g., quant developer, algorithmic trader). While not a software project, it demonstrates high organizational craftsmanship through consistent documentation structure, templates, and CI/CD for link checking and diagram rendering.

RATING: 7.4/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
aau-network-security/haaukins ★ 198 40 APPLICATION

Haaukins is a cybersecurity training and Capture The Flag (CTF) platform developed at Aalborg University. It orchestrates isolated lab environments for teams, combining Docker containers and VirtualBox VMs to deliver challenges. The system is built as a set of gRPC microservices: a central daemon manages event lifecycle, team assignments, and challenge verification; a store service provides persistence; and an exercise service defines challenge configurations. Participants access labs via a web frontend (Amigo) using browser-based RDP (Guacamole) or WireGuard VPN. The daemon also handles DNS/DHCP per lab subnet, real-time scoreboards via WebSocket, and keylogging for monitoring. The CLI client (hkn) allows administrators to manage events, teams, and exercises. The architecture is modular with clean interfaces for virtualization (Docker/VirtualBox) and storage (in-memory with hooks or gRPC backend), though some components show tight coupling and aging dependencies.

RATING: 7.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
MinecraftServerControl/mscs ★ 496 63 APPLICATION

Minecraft Server Control Script (MSCS) is a monolithic Bash/Perl CLI tool for managing multiple Minecraft server instances on Linux. It provides a comprehensive set of actions: starting/stopping/restarting worlds, creating/deleting/enabling/disabling worlds, backing up (via rdiff-backup), mapping (via Minecraft Overviewer), updating server software, sending commands, and querying server status. The architecture is a single large shell script (msctl) with a wrapper (mscs) for system integration. Configuration is done via INI-style defaults files and per-world properties. The script relies on external tools: Java, Perl, Python, wget, rdiff-backup, rsync, socat, and flock. It integrates with systemd via provided service files and supports LSB init scripts. The codebase is functional and well-documented internally, but tightly coupled and monolithic, making extraction of individual components non-trivial.

RATING: 7.3/10 MAINT: active DRIFT: low
▸ 1 reusable components found
lilydjwg/swapview-rosetta ★ 490 104 APPLICATION

This repository contains implementations of a 'swapview' program that displays Linux process swap usage in many different programming languages. Each implementation reads from the /proc filesystem to gather swap information for all processes and outputs a formatted table sorted by swap usage. The project includes a top-level Makefile to build all implementations, benchmarking tools (bench.py and a Rust-based benchmarker) to compare performance across languages, and result files showing historical performance data. The code serves as both a practical utility for monitoring swap usage and a comparative study of language performance and idioms.

RATING: 7.3/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
itsManjeet/avyos ★ 196 10 APPLICATION

This repository is the build system for AvyOS, a Linux distribution that compiles all packages from source using a custom Go-based tool called 'ignite'. The system defines hundreds of YAML recipes under `elements/` for building the kernel, system libraries, desktop environments (KDE, GNOME, Xfce, Sway, etc.), development toolchains, and applications. The ignite tool handles dependency resolution, source fetching, containerized builds (via bubblewrap), and image generation (ISO, disk images, OSTree commits). The architecture is a declarative recipe system with reusable includes, patch management, and a web dashboard for monitoring builds. Key entry points are the `ignite` CLI and the YAML recipe files. External dependencies include upstream source tarballs, patches, and a custom build environment. The repository also includes configuration for secure boot, A/B updates, and live ISO booting. While the codebase is well-structured and demonstrates significant engineering effort, it is a personal project with limited documentation, many TODO comments, and potential drift due to custom kernel versioning and future-dated Go version requirements.

RATING: 7.3/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
vinceliuice/WhiteSur-icon-theme ★ 2052 190 APPLICATION

WhiteSur-icon-theme is a popular Linux desktop icon theme that replicates the macOS Big Sur aesthetic. The repository consists of thousands of hand-crafted SVG icons organized into standard icon theme categories (actions, apps, devices, etc.) and a single Bash install script (`install.sh`). The script copies icons to the user's local icon directory or system-wide, optionally installing alternative, bold, or KDE Plasma variants, and runs `gtk-update-icon-cache`. There are no application components, tests, or CI/CD pipelines; the project is purely a design asset distribution with a minimal functional entry point. The icons are the product, and the install script is the delivery mechanism. The theme is actively maintained with frequent updates and broad community support.

RATING: 7.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
SnapXL/SnapX ★ 1033 18 APPLICATION

SnapX is a cross-platform screenshot and screen recording tool, forked from ShareX, with extensive upload capabilities to dozens of services (image hosts, file storage, pastebins, URL shorteners). It features image effects (adjustments, filters, manipulations), OCR via PaddleOCR, QR code generation/scanning, hotkey automation, and clipboard monitoring. The application is built with Avalonia UI and .NET 10, targeting Linux, Windows, macOS, and FreeBSD. It includes a CLI, a native messaging host for browser integration, and a comprehensive settings system. The codebase is in early access with many features ported from ShareX but several stubs and incomplete implementations remain, particularly in screen recording, image annotation, and some uploaders. The architecture follows a core library (SnapX.Core) with separate UI (SnapX.Avalonia) and CLI projects, using MVVM pattern and dependency injection. While functional, the project exhibits significant technical debt and incomplete feature parity with its predecessor.

RATING: 7.2/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
$ loading more...
$ submit: